dspawpy package¶
Note
最外层的plot模块中的函数在本页面底部
Subpackages¶
- dspawpy.analysis package
- dspawpy.diffusion package
- dspawpy.io package
- Submodules
- dspawpy.io.read module
- dspawpy.io.structure module
- dspawpy.io.utils module
- dspawpy.io.write module
Submodules¶
dspawpy.plot module¶
- dspawpy.plot.average_along_axis(datafile='potential.h5', task: str = 'potential', axis=2, smooth=False, smooth_frac=0.8, raw=False, subtype: str = None, **kwargs)¶
绘制沿着某个轴向的物理量平均值曲线
- Parameters:
datafile (str or list or np.ndarray) -- h5或json文件路径或包含任意这些文件的文件夹,默认 'potential.h5'
task (str) -- 任务类型,可以是 'rho', 'potential', 'elf', 'pcharge', 'rhoBound'
axis (int) -- 沿着哪个轴向绘制势能曲线, 默认2
smooth (bool) -- 是否平滑, 默认False
smooth_frac (float) -- 平滑系数, 默认0.8
raw (bool) -- 是否返回绘图数据到csv文件
subtype (str) -- 用于指定task数据子类,默认None,代表绘制 Potential/TotalElectrostaticPotential
**kwargs (dict) -- 其他参数, 传递给 matplotlib.pyplot.plot
- Returns:
axes -- 可传递给其他函数进行进一步处理
- Return type:
matplotlib.axes._subplots.AxesSubplot
Examples
>>> from dspawpy.plot import average_along_axis
读取 potential.h5 文件中的数据,绘图并保存原始绘图数据到csv文件
>>> average_along_axis(datafile='/data/home/hzw1002/dspawpy_repo/test/2.7/potential.h5', task='potential', axis=2, smooth=True, smooth_frac=0.8, raw=True) Reading /data/home/hzw1002/dspawpy_repo/test/2.7/potential.h5... <module 'matplotlib.pyplot' from '/data/home/hzw1002/anaconda3/lib/python3.9/site-packages/matplotlib/pyplot.py'>
- dspawpy.plot.getEwtData(nk, nb, celtot, proj_wt, ef, de, dele)¶
- dspawpy.plot.plot_aimd(datafile: str = 'aimd.h5', show: bool = True, figname: str = 'aimd.png', flags_str='12345', raw=False)¶
AIMD任务完成后,绘制关键物理量的收敛过程图
aimd.h5 -> aimd.png
- Parameters:
datafile (str or list) -- h5文件位置. 例如 'aimd.h5' 或 ['aimd.h5', 'aimd2.h5']
show (bool) -- 是否展示交互界面. 默认 False
figname (str) -- 保存的图片路径. 默认 'aimd.h5'
flags_str (str) -- 子图编号. 1. 动能 2. 总能 3. 压力 4. 温度 5. 体积
raw (bool) -- 是否输出绘图数据到csv文件
- Returns:
figname -- 图片路径,默认 'aimd.png'
- Return type:
str
Examples
>>> from dspawpy.plot import plot_aimd
读取 aimd.h5 文件内容,画出动能、总能、温度、体积的收敛过程图,并保存相应数据到 rawaimd_*.csv 中
>>> plot_aimd(datafile='/data/home/hzw1002/dspawpy_repo/test/2.18/aimd.h5', flags_str='1245', raw=False, show=False, figname=None) For subfigure 1 Reading /data/home/hzw1002/dspawpy_repo/test/2.18/aimd.h5... For subfigure 2 Reading /data/home/hzw1002/dspawpy_repo/test/2.18/aimd.h5... For subfigure 4 Reading /data/home/hzw1002/dspawpy_repo/test/2.18/aimd.h5... For subfigure 5 Reading /data/home/hzw1002/dspawpy_repo/test/2.18/aimd.h5...
- dspawpy.plot.plot_bandunfolding(datafile: str = 'band.h5', ef=None, de=0.05, dele=0.06, raw=False)¶
能带反折叠任务完成后,读取 h5 或 json 文件数据绘图
band.h5/band.json -> bandunfolding.png
- Parameters:
datafile (str) -- h5或json文件路径或包含任意这些文件的文件夹,默认 'band.h5'
ef (float) -- 费米能级,默认从文件中读取 /UnfoldingBandInfo/Efermi 记录的数据
de (float) -- 能带宽度,默认0.05
dele (float) -- 能带间隔,默认0.06
raw (bool) -- 是否输出绘图数据到rawbandunfolding.csv
- Returns:
axes -- 可传递给其他函数进行进一步处理
- Return type:
matplotlib.axes._subplots.AxesSubplot
Examples
绘图并保存绘图数据到rawbandunfolding.csv
>>> from dspawpy.plot import plot_bandunfolding >>> plot_bandunfolding("/data/home/hzw1002/dspawpy_repo/test/2.22/band.h5", raw=True) Reading /data/home/hzw1002/dspawpy_repo/test/2.22/band.h5... <module 'matplotlib.pyplot' from '/data/home/hzw1002/anaconda3/lib/python3.9/site-packages/matplotlib/pyplot.py'>
- dspawpy.plot.plot_optical(datafile: str = 'optical.h5', key: str = 'AbsorptionCoefficient', index: int = 0, raw=False)¶
光学性质计算任务完成后,读取数据并绘制预览图
optical.h5/optical.json -> optical.png
- Parameters:
datafile (str) -- h5或json文件路径或包含任意这些文件的文件夹,默认 'optical.h5'
key (str) -- 可选 "AbsorptionCoefficient", "ExtinctionCoefficient", "RefractiveIndex", "Reflectance" 中的任意一个,默认 "AbsorptionCoefficient"
index (int) -- 序号,默认0
raw (bool) -- 是否保存绘图数据到csv
- Returns:
axes -- 可传递给其他函数进行进一步处理
- Return type:
matplotlib.axes._subplots.AxesSubplot
Examples
绘图并保存绘图数据到rawoptical.csv
>>> from dspawpy.plot import plot_optical >>> plot_optical("/data/home/hzw1002/dspawpy_repo/test/2.12/scf.h5", "AbsorptionCoefficient", 0, raw=True) Reading /data/home/hzw1002/dspawpy_repo/test/2.12/scf.h5... >>> plot_optical("/data/home/hzw1002/dspawpy_repo/test/2.12/optical.json", "AbsorptionCoefficient", 0, raw=True) Reading /data/home/hzw1002/dspawpy_repo/test/2.12/optical.json...
- dspawpy.plot.plot_phonon_thermal(datafile: str = 'phonon.h5', figname: str = 'phonon.png', show: bool = True, raw=False)¶
声子热力学计算任务完成后,绘制相关物理量随温度变化曲线
phonon.h5/phonon.json -> phonon.png
- Parameters:
datafile (str) -- h5或json文件路径或包含任意这些文件的文件夹,默认 'phonon.h5'
figname (str) -- 保存图片的文件名
show (bool) -- 是否弹出交互界面
raw (bool) -- 是否保存绘图数据到rawphonon.csv文件
- Returns:
figname -- 图片路径,默认 'phonon.png'
- Return type:
str
Examples
>>> from dspawpy.plot import plot_phonon_thermal >>> plot_phonon_thermal('/data/home/hzw1002/dspawpy_repo/test/2.26/phonon.h5', figname='/data/home/hzw1002/dspawpy_repo/test/out/phonon_thermal.png', show=False) Reading /data/home/hzw1002/dspawpy_repo/test/2.26/phonon.h5... ==> /data/home/hzw1002/dspawpy_repo/test/out/phonon_thermal.png
- dspawpy.plot.plot_polarization_figure(directory: str, repetition: int = 2, annotation: bool = False, annotation_style: int = 1, show: bool = True, figname: str = 'pol.png', raw=False)¶
绘制铁电极化结果图
- Parameters:
directory (str) -- 铁电极化计算任务主目录
repetition (int) -- 沿上(或下)方向重复绘制的次数, 默认 2
annotation (bool) -- 是否显示首尾构型的铁电极化数值, 默认显示
show (bool) -- 是否交互显示图片, 默认 True
figname (str) -- 图片保存路径, 默认 'pol.png'
raw (bool) -- 是否将原始数据保存到csv文件
- Returns:
axes -- 可传递给其他函数进行进一步处理
- Return type:
matplotlib.axes._subplots.AxesSubplot
Examples
>>> from dspawpy.plot import plot_polarization_figure >>> plot_polarization_figure(directory='/data/home/hzw1002/dspawpy_repo/test/2.20', figname='/data/home/hzw1002/dspawpy_repo/test/out/pol.png', show=False) ==> /data/home/hzw1002/dspawpy_repo/test/out/pol.png array([<Axes: title={'center': 'Px'}>, <Axes: title={'center': 'Py'}>, <Axes: title={'center': 'Pz'}>], dtype=object)