{ "cells": [ { "cell_type": "markdown", "id": "edd45bd3-d582-4a4e-b61b-4a20b65290b3", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 137, "id": "cd0cee5e-bf71-4781-84bc-9526aeb3bb66", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.optimize\n", "# from impedance.models.circuits import CustomCircuit\n", "# from impedance.visualization import plot_nyquist # Kept if you want to switch plotting methods" ] }, { "cell_type": "markdown", "id": "27912549-0083-4fcc-b82c-a3770ec22060", "metadata": {}, "source": [ "## Data imports" ] }, { "cell_type": "code", "execution_count": 138, "id": "f21e4149-b8bf-4ddd-9f52-a9e1527939cf", "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [], "source": [ "# --- Data Loading ---\n", "\n", "def EIS_z60_import(filename):\n", " \"\"\" Import z60 file as pandas dataframe.\"\"\"\n", " df = pd.read_csv(\n", " filename,\n", " skiprows=11,\n", " sep='\\s+',\n", " header=None,\n", " names=[\"Freq\", \"Ampl\", \"Bias\", \"Time\", \"Z'\", \"Z''\", \"GD\", \"Err\", \"Range\"],\n", " index_col=\"Freq\")\n", "\n", " df = df.drop(columns=['Ampl', 'Bias', 'Time', 'GD', 'Err', 'Range']) # Drop columns\n", " mask = (df[\"Z'\"] > 0) & (df[\"Z''\"] < 0) # Only keep first quadrant in Nyquist plot\n", "\n", " df['Z'] = np.sqrt( (df[\"Z'\"].to_numpy())**2 + \\\n", " (df[\"Z'\"].to_numpy())**2 )\n", "\n", " df['theta'] = np.arctan2(-df[\"Z'\"].to_numpy(), df[\"Z''\"].to_numpy()) * 180 / np.pi\n", " \n", " df[~mask] = None\n", " return df" ] }, { "cell_type": "code", "execution_count": 139, "id": "91821d16-a56b-457c-938a-9665dce5d4ee", "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [], "source": [ "\n", " \n", "try:\n", " HS_EIS_10mV_1_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/10mV_1.z60\")\n", " HS_EIS_10mV_2_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/10mV_2.z60\")\n", " HS_EIS_10mV_3_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/10mV_3.z60\")\n", "\n", " HS_EIS_20mV_1_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/20mV_1.z60\")\n", " HS_EIS_20mV_2_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/20mV_2.z60\")\n", " HS_EIS_20mV_3_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/20mV_3.z60\") \n", "\n", " HS_EIS_30mV_1_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/30mV_1.z60\")\n", " HS_EIS_30mV_2_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/30mV_2.z60\")\n", " HS_EIS_30mV_3_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/30mV_3.z60\")\n", "\n", " CS_EIS_10mV_1_df = EIS_z60_import(\"./Cast_Stellite1_EIS/10mV_4.z60\")\n", " CS_EIS_10mV_2_df = EIS_z60_import(\"./Cast_Stellite1_EIS/10mV_5.z60\")\n", " CS_EIS_10mV_3_df = EIS_z60_import(\"./Cast_Stellite1_EIS/10mV_6.z60\")\n", " \n", " CS_EIS_20mV_1_df = EIS_z60_import(\"./Cast_Stellite1_EIS/20mV_4.z60\")\n", " CS_EIS_20mV_2_df = EIS_z60_import(\"./Cast_Stellite1_EIS/20mV_5.z60\")\n", " CS_EIS_20mV_3_df = EIS_z60_import(\"./Cast_Stellite1_EIS/20mV_6.z60\")\n", " \n", " CS_EIS_30mV_1_df = EIS_z60_import(\"./Cast_Stellite1_EIS/30mV_4.z60\")\n", " CS_EIS_30mV_2_df = EIS_z60_import(\"./Cast_Stellite1_EIS/30mV_5.z60\")\n", " CS_EIS_30mV_3_df = EIS_z60_import(\"./Cast_Stellite1_EIS/30mV_6.z60\")\n", " \n", "except FileNotFoundError as e:\n", " print(f\"Error: File was not found.\")\n", " print(e.message)\n", " print(e.args)\n", " exit()\n", "except Exception as e:\n", " print(f\"Error reading the CSV file: {e}\")\n", " exit()\n", "\n", "#CS_EIS_10mV_1_df" ] }, { "cell_type": "code", "execution_count": 140, "id": "73b19be1-b2d8-40cd-bea7-b3ed44591cec", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Z' | \n", "Z'' | \n", "Z | \n", "theta | \n", "
---|---|---|---|---|
Freq | \n", "\n", " | \n", " | \n", " | \n", " |
10000.000000 | \n", "13.6844 | \n", "-8.73995 | \n", "19.352664 | \n", "-122.565549 | \n", "
8902.150000 | \n", "13.9926 | \n", "-9.50130 | \n", "19.788525 | \n", "-124.177414 | \n", "
7924.830000 | \n", "14.2974 | \n", "-10.32960 | \n", "20.219577 | \n", "-125.847396 | \n", "
7054.800000 | \n", "14.5487 | \n", "-11.16810 | \n", "20.574969 | \n", "-127.511128 | \n", "
6280.290000 | \n", "14.8062 | \n", "-12.11390 | \n", "20.939129 | \n", "-129.288796 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
0.146085 | \n", "342592.0000 | \n", "-314337.00000 | \n", "484498.252761 | \n", "-132.537184 | \n", "
0.130047 | \n", "362881.0000 | \n", "-308746.00000 | \n", "513191.231728 | \n", "-130.391764 | \n", "
0.115770 | \n", "401529.0000 | \n", "-311649.00000 | \n", "567847.757486 | \n", "-127.817028 | \n", "
0.103060 | \n", "438102.0000 | \n", "-306492.00000 | \n", "619569.790103 | \n", "-124.976271 | \n", "
0.100000 | \n", "434801.0000 | \n", "-327843.00000 | \n", "614901.471133 | \n", "-127.016549 | \n", "
100 rows × 4 columns
\n", "\n", " | Z' | \n", "Z' STD | \n", "Z'' | \n", "Z'' STD | \n", "Z | \n", "Z STD | \n", "theta | \n", "theta STD | \n", "
---|---|---|---|---|---|---|---|---|
Freq | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
0.100000 | \n", "52385.766667 | \n", "5174.215536 | \n", "-16872.066667 | \n", "4506.482115 | \n", "74084.661695 | \n", "7317.445786 | \n", "-107.688684 | \n", "3.084636 | \n", "
0.103060 | \n", "53565.966667 | \n", "4485.564558 | \n", "-17155.066667 | \n", "5626.342084 | \n", "75753.716542 | \n", "6343.546233 | \n", "-107.521389 | \n", "4.137322 | \n", "
0.115770 | \n", "51369.266667 | \n", "4821.971581 | \n", "-19388.833333 | \n", "5416.794928 | \n", "72647.113609 | \n", "6819.297607 | \n", "-110.477594 | \n", "3.873465 | \n", "
0.130047 | \n", "49831.533333 | \n", "4390.182188 | \n", "-18669.633333 | \n", "5283.797888 | \n", "70472.430274 | \n", "6208.655191 | \n", "-110.287651 | \n", "3.561730 | \n", "
0.146085 | \n", "48398.700000 | \n", "4110.090132 | \n", "-20213.066667 | \n", "5719.749157 | \n", "68446.097941 | \n", "5812.545207 | \n", "-112.389808 | \n", "4.074807 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
6280.290000 | \n", "13.137567 | \n", "0.030354 | \n", "-2.815247 | \n", "0.023505 | \n", "18.579325 | \n", "0.042927 | \n", "-102.095135 | \n", "0.124990 | \n", "
7054.800000 | \n", "13.019433 | \n", "0.034522 | \n", "-2.735047 | \n", "0.022472 | \n", "18.412259 | \n", "0.048822 | \n", "-101.864031 | \n", "0.124997 | \n", "
7924.830000 | \n", "12.894633 | \n", "0.040029 | \n", "-2.666353 | \n", "0.025520 | \n", "18.235765 | \n", "0.056609 | \n", "-101.683217 | \n", "0.143888 | \n", "
8902.150000 | \n", "12.735333 | \n", "0.038534 | \n", "-2.610677 | \n", "0.022780 | \n", "18.010481 | \n", "0.054496 | \n", "-101.585063 | \n", "0.132362 | \n", "
10000.000000 | \n", "12.567233 | \n", "0.046573 | \n", "-2.557347 | \n", "0.021008 | \n", "17.772752 | \n", "0.065864 | \n", "-101.502538 | \n", "0.133297 | \n", "
100 rows × 8 columns
\n", "