写在前面
电化学稳态阻抗谱(EIS)在等效电路已知的情况下进行拟合,是防腐蚀涂层过程中的很重要的一个部分,通过对具有物理意义的等效电路的元器件进行拟合可以得到涂层在腐蚀环境中的状态变化,从而监控涂层的某一个方面的参数的变化来实现防腐蚀涂层的失效衍化过程的可数值化的过程。
一般来说,分析的过程如下:
- 从电化学工作站中导出EIS的数据,保存为txt纯文本格式。
- 使用电化学拟合的科学计算软件(如Zview,Zsimpwin)导入上面保存的数据
- 在Zsimpwin中填入测试样品的面积
- 观察Zsimpwin中该样品的EIS的能斯特图和波特图的形状,以判断时间常数
- 选择合适的等效电路(根据所在领域的文献的大多数的选用情况再结合EIS的能斯特图的形状)进行初次拟合
- 初次拟合出现的拟合后的参数,判断方差是否合理,如果不合理,则以倍数甚至数量级来固定输入参数,进行二次拟合
- 多次拟合和查看方差直至方差合理,读取结束参数,导出拟合的数据
- 用origin进行作图,将拟合数据和实验数据做在同一个的图中,清楚地对比看到拟合相趋势能否和实验数据重合
上面的步骤重复而且容易忘记保存,这样的工作其实很适合使用python来进行办公自动化和数学计算,及可视化
在思考的过程,我找到了一个第三方的包impedance.py
关于impedance.py的使用
impedance.py是用于分析电化学阻抗谱(EIS)数据的Python软件包。
安装
在python的环境中pip install impedance即可
pip install impedance
运行实例
下载示例文件
实例的数据文件,下载点这里exampleData.csv
格式如下:
频率 | 实部 | 虚部 |
---|---|---|
3.16E-03 | 4.95E-02 | -2.04E-02 |
3.98E-03 | 4.78E-02 | -1.83E-02 |
5.01E-03 | 4.61E-02 | -1.63E-02 |
6.31E-03 | 4.46E-02 | -1.46E-02 |
7.94E-03 | 4.31E-02 | -1.30E-02 |
1.00E-02 | 4.18E-02 | -1.16E-02 |
1.26E-02 | 4.06E-02 | -1.03E-02 |
1.58E-02 | 3.95E-02 | -9.11E-03 |
2.00E-02 | 3.86E-02 | -8.04E-03 |
读取数据
from impedance import preprocessing
frequencies, Z = preprocessing.readCSV('./exampleData.csv')
将数据限制在第一象限
frequencies, Z = preprocessing.ignoreBelowX(frequencies