{ "cells": [ { "cell_type": "code", "execution_count": 1, "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": "code", "execution_count": 2, "id": "91821d16-a56b-457c-938a-9665dce5d4ee", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "<>:8: SyntaxWarning: invalid escape sequence '\\s'\n", "<>:8: SyntaxWarning: invalid escape sequence '\\s'\n", "C:\\Users\\grokkingDoctorow\\AppData\\Local\\Temp\\ipykernel_11920\\896768106.py:8: SyntaxWarning: invalid escape sequence '\\s'\n", " sep='\\s+',\n" ] } ], "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\n", " \n", "try:\n", " HS_EIS_10mV_1_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_10mV_1.z60\")\n", " HS_EIS_10mV_2_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_10mV_4.z60\")\n", " HS_EIS_10mV_3_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_10mV_5.z60\")\n", " \n", " CS_EIS_10mV_1_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_10mV_4.z60\")\n", " CS_EIS_10mV_2_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_10mV_5.z60\")\n", " CS_EIS_10mV_3_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_10mV_6.z60\")\n", "\n", " HS_EIS_20mV_1_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_20mV_3.z60\")\n", " HS_EIS_20mV_2_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_20mV_4.z60\")\n", " HS_EIS_20mV_3_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_20mV_5.z60\")\n", " \n", " CS_EIS_20mV_1_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_20mV_4.z60\")\n", " CS_EIS_20mV_2_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_20mV_5.z60\")\n", " CS_EIS_20mV_3_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_20mV_6.z60\")\n", "\n", " HS_EIS_20mV_1_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_30mV_3.z60\")\n", " HS_EIS_20mV_2_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_30mV_4.z60\")\n", " HS_EIS_20mV_3_df = EIS_z60_import(\"./HIPed_Stellite1_EIS/HIPedStellite1_EIS_30mV_5.z60\")\n", " \n", " CS_EIS_30mV_1_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_30mV_4.z60\")\n", " CS_EIS_30mV_2_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_EIS_30mV_5.z60\")\n", " CS_EIS_30mV_3_df = EIS_z60_import(\"./Cast_Stellite1_EIS/CastStellite1_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": 3, "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", "12.5765 | \n", "-2.57571 | \n", "17.785857 | \n", "-101.574316 | \n", "
8902.150000 | \n", "12.7553 | \n", "-2.63029 | \n", "18.038718 | \n", "-101.651727 | \n", "
7924.830000 | \n", "12.9070 | \n", "-2.70532 | \n", "18.253254 | \n", "-101.837881 | \n", "
7054.800000 | \n", "13.0297 | \n", "-2.75406 | \n", "18.426778 | \n", "-101.934822 | \n", "
6280.290000 | \n", "13.1284 | \n", "-2.83963 | \n", "18.566361 | \n", "-102.204876 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
0.146085 | \n", "45787.6000 | \n", "-27678.80000 | \n", "64753.444909 | \n", "-121.153141 | \n", "
0.130047 | \n", "48851.8000 | \n", "-14103.70000 | \n", "69086.878106 | \n", "-106.103629 | \n", "
0.115770 | \n", "51948.7000 | \n", "-22140.40000 | \n", "73466.556088 | \n", "-113.083576 | \n", "
0.103060 | \n", "54367.5000 | \n", "-20215.50000 | \n", "76887.255852 | \n", "-110.396674 | \n", "
0.100000 | \n", "58844.6000 | \n", "-1989.13000 | \n", "83218.831392 | \n", "-91.936038 | \n", "
100 rows × 4 columns
\n", "\n", " | Z' | \n", "Z'' | \n", "Z | \n", "theta | \n", "
---|---|---|---|---|
Freq | \n", "\n", " | \n", " | \n", " | \n", " |
0.100000 | \n", "59050.866667 | \n", "-17322.843333 | \n", "83510.536510 | \n", "-105.334167 | \n", "
0.103060 | \n", "50340.266667 | \n", "-24670.100000 | \n", "71191.887853 | \n", "-115.383424 | \n", "
0.115770 | \n", "50163.733333 | \n", "-16974.176667 | \n", "70942.232019 | \n", "-108.254808 | \n", "
0.130047 | \n", "51095.800000 | \n", "-13287.680000 | \n", "72260.373340 | \n", "-104.542029 | \n", "
0.146085 | \n", "50253.150000 | \n", "-24036.550000 | \n", "71068.686282 | \n", "-115.797077 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
6280.290000 | \n", "13.114167 | \n", "-2.848980 | \n", "18.546232 | \n", "-102.256758 | \n", "
7054.800000 | \n", "13.007667 | \n", "-2.765090 | \n", "18.395619 | \n", "-102.000994 | \n", "
7924.830000 | \n", "12.879067 | \n", "-2.707930 | \n", "18.213751 | \n", "-101.874000 | \n", "
8902.150000 | \n", "12.733233 | \n", "-2.640447 | \n", "18.007511 | \n", "-101.715239 | \n", "
10000.000000 | \n", "12.559867 | \n", "-2.590203 | \n", "17.762334 | \n", "-101.652703 | \n", "
100 rows × 4 columns
\n", "