{ "cells": [ { "cell_type": "markdown", "id": "a39d7464-a111-4ac6-80b0-bcaa20aa81fa", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 118, "id": "0dbb86a3-8915-43d6-b821-379ab76b2849", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import scipy.optimize\n", "from scipy.signal import medfilt\n", "from scipy.optimize import curve_fit\n", "\n", "import warnings" ] }, { "cell_type": "markdown", "id": "79273c57-b22e-4b9b-ad97-8b788969a4a6", "metadata": {}, "source": [ "## Data Loading" ] }, { "cell_type": "code", "execution_count": 70, "id": "9a43783f-d1bb-4c79-ae93-843086a00a26", "metadata": {}, "outputs": [], "source": [ "# --- Data Loading ---\n", "\n", "def lpr_cor_import(filename):\n", " \"\"\" Import cor file as pandas dataframe.\"\"\"\n", "\n", " try: \n", " df = pd.read_csv(\n", " filename,\n", " skiprows=26,\n", " sep='\\s+',\n", " header=None,\n", " names=[\"E\", \"i\", \"T\"],\n", " ) \n", " df.drop(columns=[\"T\"], inplace=True)\n", " df[\"E\"] = df[\"E\"]*1e3 # Convert it to mV\n", " \n", " except FileNotFoundError as e:\n", " print(f\"Error: File was not found.\")\n", " print(e.message)\n", " print(e.args)\n", " return None\n", " except Exception as e:\n", " print(f\"Error reading the CSV file: {e}\")\n", " return None \n", " else:\n", " return df" ] }, { "cell_type": "code", "execution_count": 71, "id": "6a2888b4-e151-4fae-97d5-7de521fb7b48", "metadata": {}, "outputs": [], "source": [ "HS1_1 = lpr_cor_import(\"HIPed_Stellite1_LPR/LPR_1.cor\")\n", "HS1_2 = lpr_cor_import(\"HIPed_Stellite1_LPR/LPR_2.cor\")\n", "HS1_3 = lpr_cor_import(\"HIPed_Stellite1_LPR/LPR_3.cor\")\n", "HS1_4 = lpr_cor_import(\"HIPed_Stellite1_LPR/LPR_4.cor\")\n", "HS1_5 = lpr_cor_import(\"HIPed_Stellite1_LPR/LPR_5.cor\")\n", "HS1_6 = lpr_cor_import(\"HIPed_Stellite1_LPR/LPR_6.cor\")\n", "\n", "# Keep it in the same cell to keep df reproducible, even if Vi clicks it multiple times\n", "area = 2 #cm^2\n", "\n", "for df in [HS1_1, HS1_2, HS1_3, HS1_4, HS1_5, HS1_6]:\n", " df[\"i\"] = np.abs(df[\"i\"]/area) # Current density\n" ] }, { "cell_type": "code", "execution_count": 72, "id": "0ad5c189-9bd6-4291-bdee-8b75fdd5a3cd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | E | \n", "i | \n", "
---|---|---|
0 | \n", "-206.795 | \n", "7.859750e-11 | \n", "
1 | \n", "-206.805 | \n", "5.445100e-11 | \n", "
2 | \n", "-206.809 | \n", "6.106750e-11 | \n", "
3 | \n", "-206.795 | \n", "5.972600e-11 | \n", "
4 | \n", "-206.780 | \n", "5.621750e-11 | \n", "
... | \n", "... | \n", "... | \n", "
3999 | \n", "-166.870 | \n", "7.752900e-11 | \n", "
4000 | \n", "-166.854 | \n", "7.931000e-11 | \n", "
4001 | \n", "-166.857 | \n", "7.781400e-11 | \n", "
4002 | \n", "-166.850 | \n", "7.296700e-11 | \n", "
4003 | \n", "-166.846 | \n", "6.987300e-11 | \n", "
4004 rows × 2 columns
\n", "