{ "cells": [ { "cell_type": "markdown", "id": "a39d7464-a111-4ac6-80b0-bcaa20aa81fa", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "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": 11, "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.drop(df.head(150).index, 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": 16, "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": 17, "id": "0ad5c189-9bd6-4291-bdee-8b75fdd5a3cd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | E | \n", "i | \n", "
---|---|---|
150 | \n", "-205.474 | \n", "3.492260e-11 | \n", "
151 | \n", "-205.464 | \n", "3.335005e-11 | \n", "
152 | \n", "-205.454 | \n", "2.995255e-11 | \n", "
153 | \n", "-205.444 | \n", "2.772125e-11 | \n", "
154 | \n", "-205.434 | \n", "2.682435e-11 | \n", "
... | \n", "... | \n", "... | \n", "
3999 | \n", "-167.010 | \n", "6.514500e-11 | \n", "
4000 | \n", "-167.003 | \n", "6.453200e-11 | \n", "
4001 | \n", "-167.005 | \n", "6.450600e-11 | \n", "
4002 | \n", "-166.991 | \n", "6.511600e-11 | \n", "
4003 | \n", "-166.998 | \n", "6.448450e-11 | \n", "
3854 rows × 2 columns
\n", "