dspawpy package

Note

最外层的plot模块中的函数在本页面底部

Subpackages

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)