From 409d2f65bfd35d357737738eedac3dc694f4f98a Mon Sep 17 00:00:00 2001 From: robinzyb Date: Tue, 24 Oct 2023 16:09:16 +0000 Subject: [PATCH] deploy: 7a418a8038c6e399f8d830d5a8708fa3cefbecd2 --- _api/cp2kdata.block_parser.atomic_kind.html | 2 + _api/cp2kdata.block_parser.cells.html | 2 + _api/cp2kdata.block_parser.converge.html | 2 + _api/cp2kdata.block_parser.coordinates.html | 2 + _api/cp2kdata.block_parser.dft_plus_u.html | 2 + _api/cp2kdata.block_parser.energies.html | 2 + _api/cp2kdata.block_parser.errors_handle.html | 2 + _api/cp2kdata.block_parser.fep.html | 2 + _api/cp2kdata.block_parser.forces.html | 2 + _api/cp2kdata.block_parser.geo_opt.html | 2 + _api/cp2kdata.block_parser.header_info.html | 2 + _api/cp2kdata.block_parser.hirshfeld.html | 2 + _api/cp2kdata.block_parser.html | 2 + _api/cp2kdata.block_parser.md_xyz.html | 2 + _api/cp2kdata.block_parser.mulliken.html | 2 + _api/cp2kdata.block_parser.stress.html | 2 + _api/cp2kdata.cell.html | 569 ++++++++++++++++++ _api/cp2kdata.cli.cmd.html | 2 + _api/cp2kdata.cli.funcs.html | 2 + _api/cp2kdata.cli.html | 2 + _api/cp2kdata.cube.cube.html | 62 +- _api/cp2kdata.cube.html | 2 + _api/cp2kdata.dpdata_plugin.html | 8 +- _api/cp2kdata.html | 7 + _api/cp2kdata.matplotlibstyle.html | 560 +++++++++++++++++ _api/cp2kdata.output.html | 2 + _api/cp2kdata.paser_func.html | 2 + _api/cp2kdata.pdos.html | 8 +- _api/cp2kdata.pdos.pdos.html | 2 + _api/cp2kdata.plots.fep_plot.html | 21 +- _api/cp2kdata.plots.geo_opt_plot.html | 2 + _api/cp2kdata.plots.html | 2 + _api/cp2kdata.plots.test_plot.html | 8 +- _api/cp2kdata.test_input.html | 2 + _api/cp2kdata.units.html | 2 + _api/cp2kdata.utils.html | 2 + _api/modules.html | 7 + _images/terminal.png | Bin 0 -> 73423 bytes .../cp2kdata/block_parser/atomic_kind.html | 2 + _modules/cp2kdata/block_parser/cells.html | 2 + _modules/cp2kdata/block_parser/converge.html | 2 + .../cp2kdata/block_parser/coordinates.html | 2 + .../cp2kdata/block_parser/dft_plus_u.html | 2 + _modules/cp2kdata/block_parser/energies.html | 2 + .../cp2kdata/block_parser/errors_handle.html | 2 + _modules/cp2kdata/block_parser/fep.html | 2 + _modules/cp2kdata/block_parser/forces.html | 2 + _modules/cp2kdata/block_parser/geo_opt.html | 2 + .../cp2kdata/block_parser/header_info.html | 2 + _modules/cp2kdata/block_parser/hirshfeld.html | 2 + _modules/cp2kdata/block_parser/md_xyz.html | 2 + _modules/cp2kdata/block_parser/mulliken.html | 2 + _modules/cp2kdata/block_parser/stress.html | 2 + _modules/cp2kdata/cell.html | 538 +++++++++++++++++ _modules/cp2kdata/cube/cube.html | 224 ++++--- _modules/cp2kdata/dpdata_plugin.html | 2 + _modules/cp2kdata/output.html | 3 + _modules/cp2kdata/pdos/pdos.html | 2 + _modules/cp2kdata/plots/fep_plot.html | 537 +++++++++++++++++ _modules/cp2kdata/plots/geo_opt_plot.html | 2 + _modules/cp2kdata/plots/test_plot.html | 2 + _modules/cp2kdata/utils.html | 2 + _modules/index.html | 4 + _sources/_api/cp2kdata.cell.rst | 7 + _sources/_api/cp2kdata.matplotlibstyle.rst | 10 + _sources/_api/cp2kdata.rst | 2 + _sources/docs/cube/README.md | 88 ++- docs/backlog.html | 2 + docs/cube/README.html | 106 +++- docs/dpdata_plugin.html | 2 + docs/input_test.html | 2 + docs/output.html | 2 + docs/pdos/README.html | 2 + genindex.html | 102 +++- intro.html | 2 + objects.inv | Bin 2400 -> 2578 bytes py-modindex.html | 17 + search.html | 2 + searchindex.js | 2 +- 79 files changed, 2863 insertions(+), 137 deletions(-) create mode 100644 _api/cp2kdata.cell.html create mode 100644 _api/cp2kdata.matplotlibstyle.html create mode 100644 _images/terminal.png create mode 100644 _modules/cp2kdata/cell.html create mode 100644 _modules/cp2kdata/plots/fep_plot.html create mode 100644 _sources/_api/cp2kdata.cell.rst create mode 100644 _sources/_api/cp2kdata.matplotlibstyle.rst diff --git a/_api/cp2kdata.block_parser.atomic_kind.html b/_api/cp2kdata.block_parser.atomic_kind.html index f008a22..d957074 100644 --- a/_api/cp2kdata.block_parser.atomic_kind.html +++ b/_api/cp2kdata.block_parser.atomic_kind.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.cells.html b/_api/cp2kdata.block_parser.cells.html index 746e334..ae56941 100644 --- a/_api/cp2kdata.block_parser.cells.html +++ b/_api/cp2kdata.block_parser.cells.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.converge.html b/_api/cp2kdata.block_parser.converge.html index 09180bf..195730d 100644 --- a/_api/cp2kdata.block_parser.converge.html +++ b/_api/cp2kdata.block_parser.converge.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.coordinates.html b/_api/cp2kdata.block_parser.coordinates.html index 6d3c573..8c4112b 100644 --- a/_api/cp2kdata.block_parser.coordinates.html +++ b/_api/cp2kdata.block_parser.coordinates.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.dft_plus_u.html b/_api/cp2kdata.block_parser.dft_plus_u.html index ee1b91a..2c7f2f7 100644 --- a/_api/cp2kdata.block_parser.dft_plus_u.html +++ b/_api/cp2kdata.block_parser.dft_plus_u.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.energies.html b/_api/cp2kdata.block_parser.energies.html index dda90b7..012974d 100644 --- a/_api/cp2kdata.block_parser.energies.html +++ b/_api/cp2kdata.block_parser.energies.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.errors_handle.html b/_api/cp2kdata.block_parser.errors_handle.html index 6ea51a5..4f4ccbf 100644 --- a/_api/cp2kdata.block_parser.errors_handle.html +++ b/_api/cp2kdata.block_parser.errors_handle.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.fep.html b/_api/cp2kdata.block_parser.fep.html index f069cf8..4be6556 100644 --- a/_api/cp2kdata.block_parser.fep.html +++ b/_api/cp2kdata.block_parser.fep.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.forces.html b/_api/cp2kdata.block_parser.forces.html index 71f2a47..d4a3193 100644 --- a/_api/cp2kdata.block_parser.forces.html +++ b/_api/cp2kdata.block_parser.forces.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.geo_opt.html b/_api/cp2kdata.block_parser.geo_opt.html index 4aa339e..e3e0754 100644 --- a/_api/cp2kdata.block_parser.geo_opt.html +++ b/_api/cp2kdata.block_parser.geo_opt.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.header_info.html b/_api/cp2kdata.block_parser.header_info.html index 8472868..7b5e96c 100644 --- a/_api/cp2kdata.block_parser.header_info.html +++ b/_api/cp2kdata.block_parser.header_info.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.hirshfeld.html b/_api/cp2kdata.block_parser.hirshfeld.html index 6166c1c..a27f4d4 100644 --- a/_api/cp2kdata.block_parser.hirshfeld.html +++ b/_api/cp2kdata.block_parser.hirshfeld.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.html b/_api/cp2kdata.block_parser.html index 1b22a21..101136c 100644 --- a/_api/cp2kdata.block_parser.html +++ b/_api/cp2kdata.block_parser.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.md_xyz.html b/_api/cp2kdata.block_parser.md_xyz.html index 0a7fa6e..316f7b5 100644 --- a/_api/cp2kdata.block_parser.md_xyz.html +++ b/_api/cp2kdata.block_parser.md_xyz.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.mulliken.html b/_api/cp2kdata.block_parser.mulliken.html index 7f6c3bd..54a43f9 100644 --- a/_api/cp2kdata.block_parser.mulliken.html +++ b/_api/cp2kdata.block_parser.mulliken.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.block_parser.stress.html b/_api/cp2kdata.block_parser.stress.html index 08bd375..35efb88 100644 --- a/_api/cp2kdata.block_parser.stress.html +++ b/_api/cp2kdata.block_parser.stress.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.cell.html b/_api/cp2kdata.cell.html new file mode 100644 index 0000000..c033117 --- /dev/null +++ b/_api/cp2kdata.cell.html @@ -0,0 +1,569 @@ + + + + + + + + + + + + cp2kdata.cell module — CP2KData Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + +
    +

    cp2kdata.cell module

    + +
    +
    + +
    +
    +
    + + + + +
    + +
    +

    cp2kdata.cell module#

    +
    +
    +class cp2kdata.cell.Cp2kCell(cell_param: ndarray[Any, dtype[float64]], grid_point: Optional[ndarray[Any, dtype[int64]]] = None, grid_spacing_matrix: Optional[ndarray[Any, dtype[float64]]] = None)[source]#
    +

    Bases: object

    +
    +
    +copy()[source]#
    +
    + +
    +
    +get_cell_angles()[source]#
    +
    + +
    +
    +get_cell_lengths()[source]#
    +
    + +
    +
    +get_cell_param()[source]#
    +
    + +
    +
    +get_dv()[source]#
    +
    + +
    +
    +get_volume()[source]#
    +
    + +
    + +
    + + + + +
    + + + + + + + + +
    + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/_api/cp2kdata.cli.cmd.html b/_api/cp2kdata.cli.cmd.html index f1a6cd3..fbf16ef 100644 --- a/_api/cp2kdata.cli.cmd.html +++ b/_api/cp2kdata.cli.cmd.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.cli.funcs.html b/_api/cp2kdata.cli.funcs.html index f7ba4e6..63fd596 100644 --- a/_api/cp2kdata.cli.funcs.html +++ b/_api/cp2kdata.cli.funcs.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.cli.html b/_api/cp2kdata.cli.html index 0fedc3a..86764c8 100644 --- a/_api/cp2kdata.cli.html +++ b/_api/cp2kdata.cli.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.cube.cube.html b/_api/cp2kdata.cube.cube.html index 6bdd650..e563a48 100644 --- a/_api/cp2kdata.cube.cube.html +++ b/_api/cp2kdata.cube.cube.html @@ -65,7 +65,7 @@ - + @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -425,12 +427,13 @@

    cp2kdata.cube.cube module

    cp2kdata.cube.cube module#

    -class cp2kdata.cube.cube.Cp2kCube(file=None, cube_vals=None, grid_size=None, grid_space=None)[source]#
    +class cp2kdata.cube.cube.Cp2kCube(fname=None, cube_vals=None, cell=None, stc=None)[source]#

    Bases: MSONable

    +

    Documentation for the Cp2kCube class.

    as_dict()[source]#
    -

    Returns data dict of System instance.

    +

    Returns data dict of Cp2kCube instance.

    @@ -438,6 +441,16 @@

    cp2kdata.cube.cube module

    copy()[source]#
    +
    +
    +get_cell()[source]#
    +
    + +
    +
    +get_integration()[source]#
    +
    +
    get_mav(l1, l2=0, ncov=1, interpolate=False, axis='z')[source]#
    @@ -453,16 +466,6 @@

    cp2kdata.cube.cube module

    get_stc()[source]#
    -
    -
    -property grid_size#
    -
    - -
    -
    -property grid_space#
    -
    -
    property num_atoms#
    @@ -470,12 +473,37 @@

    cp2kdata.cube.cube module

    -quick_plot(axis='z', interpolate=False, output_dir='./')[source]#
    +quick_plot(axis='z', interpolate=False)[source]# +
    + +
    +
    +read_cell()[source]#
    -read_cube_vals()[source]#
    +static read_cube_vals(fname, num_atoms, grid_point)[source]# +
    + +
    +
    +static read_grid_point(fname)[source]#
    +
    + +
    +
    +static read_gs_matrix(fname)[source]#
    +
    + +
    +
    +view_cube_acsii(axis='z', mav=False, l1=None, l2=None, ncov=1, unit='au', width=135)[source]#
    +
    + +
    +
    +write_cube(fname, comments='#')[source]#
    @@ -580,11 +608,11 @@

    cp2kdata.cube.cube module

    next

    -

    cp2kdata.pdos package

    +

    cp2kdata.matplotlibstyle package

    diff --git a/_api/cp2kdata.cube.html b/_api/cp2kdata.cube.html index 8241162..d4afb89 100644 --- a/_api/cp2kdata.cube.html +++ b/_api/cp2kdata.cube.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.dpdata_plugin.html b/_api/cp2kdata.dpdata_plugin.html index 6d14bd3..f80fa03 100644 --- a/_api/cp2kdata.dpdata_plugin.html +++ b/_api/cp2kdata.dpdata_plugin.html @@ -66,7 +66,7 @@ - + @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -544,12 +546,12 @@

    cp2kdata.dpdata_plugin module

    previous

    -

    cp2kdata.plots.test_plot module

    +

    cp2kdata.cell module

    cp2kdata.cube.cube module +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -478,6 +480,10 @@

    SubpackagesModule contents +
  • cp2kdata.matplotlibstyle package +
  • cp2kdata.pdos package
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.pdos.html b/_api/cp2kdata.pdos.html index 9fb6499..279b4e0 100644 --- a/_api/cp2kdata.pdos.html +++ b/_api/cp2kdata.pdos.html @@ -66,7 +66,7 @@ - + @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -478,12 +480,12 @@

    Submodules

    previous

    -

    cp2kdata.cube.cube module

    +

    cp2kdata.matplotlibstyle package

    cp2kdata.cube.cube module +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.plots.fep_plot.html b/_api/cp2kdata.plots.fep_plot.html index b7b5473..c9c23a2 100644 --- a/_api/cp2kdata.plots.fep_plot.html +++ b/_api/cp2kdata.plots.fep_plot.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -421,8 +423,23 @@

    cp2kdata.plots.fep_plot module

    -
    -

    cp2kdata.plots.fep_plot module#

    +
    +

    cp2kdata.plots.fep_plot module#

    +
    +
    +cp2kdata.plots.fep_plot.get_cum_mean(array)[source]#
    +
    + +
    +
    +cp2kdata.plots.fep_plot.get_fep_gaps(eta_sub_dir_list)[source]#
    +
    + +
    +
    +cp2kdata.plots.fep_plot.plot_ti(fig_name)[source]#
    +
    +
    - + @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -585,11 +587,11 @@

    cp2kdata.plots.test_plot module

    next

    -

    cp2kdata.dpdata_plugin module

    +

    cp2kdata.cell module

    diff --git a/_api/cp2kdata.test_input.html b/_api/cp2kdata.test_input.html index 718873c..efe6512 100644 --- a/_api/cp2kdata.test_input.html +++ b/_api/cp2kdata.test_input.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.units.html b/_api/cp2kdata.units.html index 9f8644e..76bb5c4 100644 --- a/_api/cp2kdata.units.html +++ b/_api/cp2kdata.units.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/cp2kdata.utils.html b/_api/cp2kdata.utils.html index cbe2eb9..8596049 100644 --- a/_api/cp2kdata.utils.html +++ b/_api/cp2kdata.utils.html @@ -205,6 +205,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -215,6 +216,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_api/modules.html b/_api/modules.html index 3d05aae..d28e8d2 100644 --- a/_api/modules.html +++ b/_api/modules.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -442,6 +444,10 @@

    cp2kdataModule contents +
  • cp2kdata.matplotlibstyle package +
  • cp2kdata.pdos package
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/cells.html b/_modules/cp2kdata/block_parser/cells.html index fa999a0..163735e 100644 --- a/_modules/cp2kdata/block_parser/cells.html +++ b/_modules/cp2kdata/block_parser/cells.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/converge.html b/_modules/cp2kdata/block_parser/converge.html index b614b3c..31c50b5 100644 --- a/_modules/cp2kdata/block_parser/converge.html +++ b/_modules/cp2kdata/block_parser/converge.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/coordinates.html b/_modules/cp2kdata/block_parser/coordinates.html index 499b445..e925730 100644 --- a/_modules/cp2kdata/block_parser/coordinates.html +++ b/_modules/cp2kdata/block_parser/coordinates.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/dft_plus_u.html b/_modules/cp2kdata/block_parser/dft_plus_u.html index 88f08cb..55e21af 100644 --- a/_modules/cp2kdata/block_parser/dft_plus_u.html +++ b/_modules/cp2kdata/block_parser/dft_plus_u.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/energies.html b/_modules/cp2kdata/block_parser/energies.html index acdccf7..03be6b1 100644 --- a/_modules/cp2kdata/block_parser/energies.html +++ b/_modules/cp2kdata/block_parser/energies.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/errors_handle.html b/_modules/cp2kdata/block_parser/errors_handle.html index 2d3ca89..d39f584 100644 --- a/_modules/cp2kdata/block_parser/errors_handle.html +++ b/_modules/cp2kdata/block_parser/errors_handle.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/fep.html b/_modules/cp2kdata/block_parser/fep.html index 8f98fa5..59154b7 100644 --- a/_modules/cp2kdata/block_parser/fep.html +++ b/_modules/cp2kdata/block_parser/fep.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/forces.html b/_modules/cp2kdata/block_parser/forces.html index 6d753b2..775558e 100644 --- a/_modules/cp2kdata/block_parser/forces.html +++ b/_modules/cp2kdata/block_parser/forces.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/geo_opt.html b/_modules/cp2kdata/block_parser/geo_opt.html index 228312c..25809c8 100644 --- a/_modules/cp2kdata/block_parser/geo_opt.html +++ b/_modules/cp2kdata/block_parser/geo_opt.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/header_info.html b/_modules/cp2kdata/block_parser/header_info.html index fd66520..b7f72aa 100644 --- a/_modules/cp2kdata/block_parser/header_info.html +++ b/_modules/cp2kdata/block_parser/header_info.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/hirshfeld.html b/_modules/cp2kdata/block_parser/hirshfeld.html index 9af9512..82fe72c 100644 --- a/_modules/cp2kdata/block_parser/hirshfeld.html +++ b/_modules/cp2kdata/block_parser/hirshfeld.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/md_xyz.html b/_modules/cp2kdata/block_parser/md_xyz.html index ee8ad8e..3b9ae5a 100644 --- a/_modules/cp2kdata/block_parser/md_xyz.html +++ b/_modules/cp2kdata/block_parser/md_xyz.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/mulliken.html b/_modules/cp2kdata/block_parser/mulliken.html index c32ebc1..e0f405f 100644 --- a/_modules/cp2kdata/block_parser/mulliken.html +++ b/_modules/cp2kdata/block_parser/mulliken.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/block_parser/stress.html b/_modules/cp2kdata/block_parser/stress.html index 3182e9f..8dfbee9 100644 --- a/_modules/cp2kdata/block_parser/stress.html +++ b/_modules/cp2kdata/block_parser/stress.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/cell.html b/_modules/cp2kdata/cell.html new file mode 100644 index 0000000..eb16a6c --- /dev/null +++ b/_modules/cp2kdata/cell.html @@ -0,0 +1,538 @@ + + + + + + + + + + + cp2kdata.cell — CP2KData Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + +
    +

    + +
    +
    + +
    +
    +
    + + + + +
    + +

    Source code for cp2kdata.cell

    +from ase.geometry.cell import cellpar_to_cell
    +from ase.geometry.cell import cell_to_cellpar
    +import numpy.typing as npt
    +import numpy as np
    +from copy import deepcopy
    +
    +
    [docs]class Cp2kCell: + def __init__( + self, + cell_param: npt.NDArray[np.float64], + grid_point: npt.NDArray[np.int_] = None, + grid_spacing_matrix: npt.NDArray[np.float64] = None + ): + """ + The documentation of Cell class used in cp2kdata + Parameters + ---------- + cell_param: np. array + The length of the cell in bohr + divi: np. array + The number of grid points in each direction + h: float + The grid spacing in bohr + + a b c alpha beta gamma + grid_point : array + grid_spacing_matrix : matrix 3x3 + """ + + + if len(cell_param) == 1 and isinstance(cell_param, float): + self.cell_matrix = np.array( + [ + [cell_param, 0, 0], + [0, cell_param, 0], + [0, 0, cell_param] + ] + ) + print("input cell_param is a float, the cell is assumed to be cubic") + elif cell_param.shape == 3: + self.cell_matrix = np.array( + [ + [cell_param[0], 0, 0], + [0, cell_param[1], 0], + [0, 0, cell_param[2]] + ] + ) + print("input cell_param is a list or array, the cell is assumed to be orthorhombic") + elif cell_param.shape == 6: + self.cell_matrix = cellpar_to_cell(cell_param) + print("input cell_param is in [a, b, c, alpha, beta, gamma] form, it is converted to cell matrix") + elif cell_param.shape == (3, 3): + self.cell_matrix = cell_param + print("input cell_param is a matrix, the cell is read as is") + else: + raise ValueError("The input cell_param is not supported") + + + if (grid_point is None) and (grid_spacing_matrix is None): + print("No grid point generated") + elif (grid_point is None) and (grid_spacing_matrix is not None): + self.grid_spacing_matrix = grid_spacing_matrix + self.grid_point = np.round(self.cell_matrix/self.grid_spacing_matrix) + elif (grid_point is not None) and (grid_spacing_matrix is None): + self.grid_point = np.array(grid_point) + self.grid_spacing_matrix = self.cell_matrix/self.grid_point[:, np.newaxis] + elif (grid_point is not None) and (grid_spacing_matrix is not None): + self.grid_point = np.array(grid_point) + self.grid_spacing_matrix = np.array(grid_spacing_matrix) + + self.grid_point = self.grid_point.astype(int) + self.volume = np.linalg.det(self.cell_matrix) + self.dv = np.linalg.det(self.grid_spacing_matrix) + + self.cell_param = cell_to_cellpar(self.cell_matrix) + +
    [docs] def copy(self): + return deepcopy(self)
    + +
    [docs] def get_volume(self): + return self.volume
    + +
    [docs] def get_dv(self): + return self.dv
    + +
    [docs] def get_cell_param(self): + return self.cell_param
    + +
    [docs] def get_cell_angles(self): + return self.cell_param[3:]
    + +
    [docs] def get_cell_lengths(self): + return self.cell_param[:3]
    + + +
    + +
    + + + + + + +
    + +
    +
    +
    + +
    + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/_modules/cp2kdata/cube/cube.html b/_modules/cp2kdata/cube/cube.html index 861b60a..363f907 100644 --- a/_modules/cp2kdata/cube/cube.html +++ b/_modules/cp2kdata/cube/cube.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -373,6 +375,7 @@

    Source code for cp2kdata.cube.cube

     from cp2kdata.utils import file_content, interpolate_spline
     from cp2kdata.utils import au2A, au2eV
    +from cp2kdata.cell import Cp2kCell
     import numpy as np
     import matplotlib.pyplot as plt
     import os
    @@ -380,6 +383,7 @@ 

    Source code for cp2kdata.cube.cube

     from ase import Atom, Atoms
     from monty.json import MSONable
     from copy import deepcopy
    +import asciichartpy as acp
     
     
     
    [docs]def square_wave_filter(x, l, cell_z): @@ -511,17 +515,11 @@

    Source code for cp2kdata.cube.cube

     
     
     
    [docs]class Cp2kCube(MSONable): - # remove useless timestep argument # add MSONable use as_dict and from_dict - # add copy method - # add addition and subtraction method cube1 + cube2 - - #TODO: .write method to write a cube file - #TODO: complete parse the grid_spacing and num_grid - - - - def __init__(self, file=None, cube_vals=None, grid_size=None, grid_space=None): + """ + Documentation for the Cp2kCube class. + """ + def __init__(self, fname=None, cube_vals=None, cell=None, stc=None): print("Warning: This is New Cp2kCube Class, if you want to use old Cp2kCube") print("try, from cp2kdata.cube.cube import Cp2kCube") print("New Cp2kCube return raw values in cp2k cube file") @@ -529,47 +527,47 @@

    Source code for cp2kdata.cube.cube

             print("that is, length in bohr and density in e/bohr^3 for density file")
             print("to convert unit: try from cp2kdata.utils import au2A, au2eV")
     
    -        self.file = file
    -        self.cube_vals = self.read_cube_vals()
    -        self.cell_x = self.grid_size[0]*self.grid_space[0]
    -        self.cell_y = self.grid_size[1]*self.grid_space[1]
    -        self.cell_z = self.grid_size[2]*self.grid_space[2]
    +        self.file = fname
    +
    +
    +        if cell is None:
    +            self.cell = self.read_cell()
    +        else:
    +            self.cell = cell
    +        if stc is None:
    +            self.stc = self.get_stc()
    +        else:
    +            self.stc = stc
    +
    +        if cube_vals is None:
    +            self.cube_vals = self.read_cube_vals(self.file, 
    +                                                self.num_atoms, 
    +                                                self.cell.grid_point
    +                                                )
    +        else:
    +            self.cube_vals = cube_vals
    +
    +
    [docs] def read_cell(self): + grid_point = self.read_grid_point(self.file) + gs_matrix = self.read_gs_matrix(self.file) + cell_param = gs_matrix*grid_point[:, np.newaxis] + return Cp2kCell(cell_param, grid_point, gs_matrix)
    @property def num_atoms(self): line = file_content(self.file, 2) num_atoms = int(line.split()[0]) return num_atoms - - @property - def grid_size(self): - # read grid point and grid size, unit: angstrom - content_list = file_content(self.file, (3,6)) - content_list = content_list.split() - num_x = int(content_list[0]) - num_y = int(content_list[4]) - num_z = int(content_list[8]) - return num_x, num_y, num_z - - @property - def grid_space(self): - # read grid point and grid size, unit: angstrom - content_list = file_content(self.file, (3,6)) - content_list = content_list.split() - step_x = float(content_list[1]) - step_y = float(content_list[6]) - step_z = float(content_list[11]) - return step_x, step_y, step_z
    [docs] def as_dict(self): - """Returns data dict of System instance.""" + """Returns data dict of Cp2kCube instance.""" data_dict = { "@module": self.__class__.__module__, "@class": self.__class__.__name__, "file": self.file, "cube_vals": self.cube_vals, - "grid_size": self.grid_size, - "grid_space": self.grid_space, + "cell": self.cell, + "stc": self.stc, } return data_dict
    @@ -593,7 +591,6 @@

    Source code for cp2kdata.cube.cube

                 raise RuntimeError("Unspported Class")
             return self_copy
             
    -
     
    [docs] def get_stc(self): atom_list = [] for i in range(self.num_atoms): @@ -606,37 +603,37 @@

    Source code for cp2kdata.cube.cube

                 atom_list.append(atom)
     
             stc = Atoms(atom_list)
    -        stc.set_cell([self.cell_x, self.cell_y, self.cell_z])
    +        stc.set_cell(self.cell.cell_matrix)
             return stc
    [docs] def copy(self): return deepcopy(self)
    - -
    [docs] def read_cube_vals(self): - # read the cube value from file - cube_vals = file_content(self.file, (6+self.num_atoms,)) - cube_vals = cube_vals.split() - cube_vals = np.array(cube_vals, dtype = float) - cube_vals = cube_vals.reshape(self.grid_size) - cube_vals = cube_vals*au2eV - return cube_vals
    -
    [docs] def get_pav(self, axis="z", interpolate=False): +
    [docs] def get_pav(self, axis='z', interpolate=False): + np.testing.assert_array_equal( + self.cell.get_cell_angles(), + np.array([90.0, 90.0, 90.0]), + err_msg="The cell is not orthorhombic, the pav can not be used!" + ) + # do the planar average along specific axis + lengths = self.cell.get_cell_lengths() + grid_point = self.cell.grid_point + gs_matrix = self.cell.grid_spacing_matrix if axis == 'x': vals = self.cube_vals.mean(axis=(1,2)) - points = np.arange(0, self.grid_size[0])*self.grid_space[0] - length = self.grid_size[0]*self.grid_space[0] + points = np.arange(0, grid_point[0])*gs_matrix[0][0] + length = lengths[0] elif axis == 'y': vals = self.cube_vals.mean(axis=(0,2)) - points = np.arange(0, self.grid_size[1])*self.grid_space[1] - length = self.grid_size[1]*self.grid_space[1] + points = np.arange(0, grid_point[1])*gs_matrix[1][1] + length = lengths[1] elif axis == 'z': vals = self.cube_vals.mean(axis=(0,1)) - points = np.arange(0, self.grid_size[2])*self.grid_space[2] - length = self.grid_size[2]*self.grid_space[2] + points = np.arange(0, grid_point[2])*gs_matrix[2][2] + length = lengths[2] else: - print("not such plane average style!") + print("not such plane average style, the avaialble options are 'x', 'y', 'z'") # interpolate or note if interpolate: @@ -651,9 +648,9 @@

    Source code for cp2kdata.cube.cube

         
     
    [docs] def get_mav(self, l1, l2=0, ncov=1, interpolate=False, axis="z"): cell_length = { - "x": self.cell_x, - "y": self.cell_y, - "z": self.cell_z + "x": self.cell.get_cell_lengths()[0], + "y": self.cell.get_cell_lengths()[1], + "z": self.cell.get_cell_lengths()[2] } length = cell_length[axis] @@ -667,15 +664,106 @@

    Source code for cp2kdata.cube.cube

             mav = fft.ifft(mav_fft)
             return pav_x, np.real(mav)
    - -
    [docs] def quick_plot(self, axis="z", interpolate=False, output_dir="./"): +
    [docs] def quick_plot(self, axis="z", interpolate=False): + x, y = self.get_pav(axis=axis, interpolate=interpolate) - plt.figure(figsize=(9,9), dpi=100) - plt.plot(x, y, label=("PAV"+axis)) - plt.xlabel(axis + " [A]") - plt.ylabel("Hartree [eV]") - plt.legend() - plt.savefig(os.path.join(output_dir, "pav.png"), dpi=100)
    + plt.style.use('cp2kdata.matplotlibstyle.jcp') + row = 1 + col = 1 + fig = plt.figure(figsize=(3.37*col, 1.89*row), dpi=600, facecolor='white') + gs = fig.add_gridspec(row,col) + ax = fig.add_subplot(gs[0]) + ax.plot(x, y, label=(f"PAV along {axis}")) + #ax.set_xlabel(f'{axis} [A]') + #ax.set_ylabel('Hartree [eV]') + ax.legend() + return fig
    + +
    [docs] def view_cube_acsii(self, axis='z', mav=False, l1=None, l2=None, ncov=1, unit='au', width=135): + if mav: + x, y = self.get_mav(l1, l2, ncov, axis=axis) + else: + x, y = self.get_pav(axis=axis) + + if unit == 'au': + pass + elif unit == 'eV': + y = y*au2eV + else: + print("not such unit, the available options are 'au' and 'eV'") + step = int(len(y)/width) + print(acp.plot(y[::step], {'height': 20}))
    + +
    [docs] def write_cube(self, fname, comments='#'): + grid_point = self.cell.grid_point + gs_matrix = self.cell.grid_spacing_matrix + with open(fname, 'w') as fw: + # write header + fw.write('Cube file generated by CP2KData\n') + fw.write(comments+'\n') + # grid information + fw.write(f'{self.num_atoms:5d}{0:12.6f}{0:12.6f}{0:12.6f}\n') + fw.write(f'{grid_point[0]:5d}{gs_matrix[0][0]:12.6f}{gs_matrix[0][1]:12.6f}{gs_matrix[0][2]:12.6f}\n') + fw.write(f'{grid_point[1]:5d}{gs_matrix[1][0]:12.6f}{gs_matrix[1][1]:12.6f}{gs_matrix[1][2]:12.6f}\n') + fw.write(f'{grid_point[2]:5d}{gs_matrix[2][0]:12.6f}{gs_matrix[2][1]:12.6f}{gs_matrix[2][2]:12.6f}\n') + # structure information + for atom in self.stc: + fw.write(f'{atom.number:5d}{0:12.6f}{atom.position[0]/au2A:12.6f}{atom.position[1]/au2A:12.6f}{atom.position[2]/au2A:12.6f}\n') + # cube values + # cp2k write cube loop in z, y, x order + # https://github.com/cp2k/cp2k/blob/01090ebf0718ff6885d11f89fe10938d80eb0a02/src/pw/realspace_grid_cube.F#L99 + for i in range(grid_point[0]): + for j in range(grid_point[1]): + for k in range(grid_point[2]): + # notice that cp2k write scientific notion differntly + # cp2k: 0.20871E+00 + # python: 2.08710E-01 + fw.write(f'{self.cube_vals[i,j,k]:13.5E}') + if (k+1)%6 == 0: + fw.write('\n') + # write a blank line after each z value + if grid_point[2]%6 != 0: + fw.write('\n')
    + +
    [docs] def get_integration(self): + dv = self.cell.get_dv() + result = np.sum(self.cube_vals)*dv + return result
    + +
    [docs] def get_cell(self): + return self.cell.copy()
    + +
    [docs] @staticmethod + def read_gs_matrix(fname): + content_list = file_content(fname, (3,6)) + content_list = content_list.split() + + gs_matrix = [ + [float(content_list[1]), float(content_list[2]), float(content_list[3])], + [float(content_list[5]), float(content_list[6]), float(content_list[7])], + [float(content_list[9]), float(content_list[10]), float(content_list[11])] + ] + gs_matrix = np.array(gs_matrix) + return gs_matrix
    + +
    [docs] @staticmethod + def read_grid_point(fname): + # read grid point and grid size, unit: angstrom + content_list = file_content(fname, (3,6)) + content_list = content_list.split() + num_x = int(content_list[0]) + num_y = int(content_list[4]) + num_z = int(content_list[8]) + return np.array([num_x, num_y, num_z])
    + +
    [docs] @staticmethod + def read_cube_vals(fname, num_atoms, grid_point): + # read the cube value from file + cube_vals = file_content(fname, (6+num_atoms,)) + cube_vals = cube_vals.split() + cube_vals = np.array(cube_vals, dtype = float) + cube_vals = cube_vals.reshape(grid_point) + return cube_vals
    [docs]class Cp2kCubeTraj: def __init__(cube_dir, prefix): diff --git a/_modules/cp2kdata/dpdata_plugin.html b/_modules/cp2kdata/dpdata_plugin.html index c62436f..b1b749e 100644 --- a/_modules/cp2kdata/dpdata_plugin.html +++ b/_modules/cp2kdata/dpdata_plugin.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/output.html b/_modules/cp2kdata/output.html index 6b63f74..8d2ddc0 100644 --- a/_modules/cp2kdata/output.html +++ b/_modules/cp2kdata/output.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -657,6 +659,7 @@

    Source code for cp2kdata.output

             self.init_atomic_coordinates, self.atom_kind_list, self.chemical_symbols = parse_init_atomic_coordinates(
                 self.output_file)
             self.geo_opt_info = parse_geo_opt_info(self.output_file)
    +        self.energies_list = parse_energies_list(self.output_file)
             self.num_frames = len(self.geo_opt_info)
             self.atomic_forces_list = parse_atomic_forces_list(self.output_file)
             self.stress_tensor_list = parse_stress_tensor_list(self.output_file)
    diff --git a/_modules/cp2kdata/pdos/pdos.html b/_modules/cp2kdata/pdos/pdos.html index 04424ed..12eb98d 100644 --- a/_modules/cp2kdata/pdos/pdos.html +++ b/_modules/cp2kdata/pdos/pdos.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/plots/fep_plot.html b/_modules/cp2kdata/plots/fep_plot.html new file mode 100644 index 0000000..43e520b --- /dev/null +++ b/_modules/cp2kdata/plots/fep_plot.html @@ -0,0 +1,537 @@ + + + + + + + + + + + cp2kdata.plots.fep_plot — CP2KData Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + +
    +

    + +
    +
    + +
    +
    +
    + + + + +
    + +

    Source code for cp2kdata.plots.fep_plot

    +import numpy as np
    +import matplotlib.pyplot as plt
    +import glob
    +import os
    +from cp2kdata.block_parser.fep import parse_vertical_gap
    +from scipy import integrate 
    +from cycler import cycler
    +from matplotlib.ticker import (MultipleLocator, AutoMinorLocator)
    +
    +au2eV = 2.72113838565563E+01
    +
    +
    [docs]def get_cum_mean(array): + tot = 0.0 + cum_mean_array = [] + for idx, i in enumerate(array): + tot += i + cum_mean_array.append(tot/(idx+1)) + cum_mean_array = np.array(cum_mean_array) + return cum_mean_array
    + + +
    [docs]def plot_ti(fig_name): + eta_sub_dir_list = glob.glob("[0-1].*") + eta_sub_dir_list.sort() + vgap_list, cum_vgap_list, ave_vgap_list = get_fep_gaps(eta_sub_dir_list) + _plot_ti(eta_sub_dir_list, cum_vgap_list, ave_vgap_list, fig_name)
    + +
    [docs]def get_fep_gaps(eta_sub_dir_list): + vgap_list = [] + cum_vgap_list = [] + ave_vgap_list = [] + for eta in eta_sub_dir_list: + mix_ener_file_list = glob.glob(f"{eta}/*-mix-1.ener") + if len(mix_ener_file_list) == 0: + continue + vgap = parse_vertical_gap(mix_ener_file_list[0])*au2eV + vgap_list.append(vgap) + cum_vgap = get_cum_mean(vgap) + cum_vgap_list.append(cum_vgap) + ave_vgap_list.append(cum_vgap[-1]) + return vgap_list, cum_vgap_list, ave_vgap_list
    + + +def _plot_ti(eta_sub_dir_list, cum_vgap_list, ave_vgap_list, fig_name): + + dt = 0.0005 + + eta_list = np.array(eta_sub_dir_list, dtype=float) + #eta_list = np.array([0.25, 0.5, 1.0]) + N = len(eta_list) + + cmap = plt.cm.Reds(np.linspace(0.3, 0.9, N)) + custom_cycler = cycler("color", cmap) + + row = 1 + col = 2 + fig = plt.figure(figsize=(4.5*col,6*row), dpi=150, facecolor='white') + gs = fig.add_gridspec(row,col, wspace=0) + ax = fig.add_subplot(gs[0]) + ax.set_prop_cycle(custom_cycler) + max_time = 0 + for idx, eta in enumerate(eta_list): + num_steps = len(cum_vgap_list[idx]) + + time = np.arange(num_steps)*dt + if time[-1] > max_time: + max_time = time[-1] + ax.plot(time, cum_vgap_list[idx]) + ax.text(time[-1]-0.4, ave_vgap_list[idx]+0.1, rf"$\langle \Delta E \rangle _{{{eta}}}$" + f": {ave_vgap_list[idx]:5.2f}", fontsize=15) + #ax.text(time[-1]-0.4, ave_vgap_list[idx]+0.1, rf"$\eta$ = {eta}" + f": {ave_vgap_list[idx]:5.2f}", fontsize=15) + ax.set_ylabel(r"$\langle \Delta E \rangle _{\eta}$ [eV]", fontsize=18) + ax.set_xlabel("time [ps]", fontsize=18) + ax.tick_params(direction='in', which='both') + ax.yaxis.set_major_locator(MultipleLocator(1)) + ax.yaxis.set_minor_locator(AutoMinorLocator(10)) + ax.set_xlim(0, max_time+2.25) + y_lim = ax.get_ylim() + + ax1 = fig.add_subplot(gs[1]) + ax1.plot(eta_list, ave_vgap_list, ls='--', color='C3') + ax1.scatter(eta_list, ave_vgap_list, color=cmap, s=80, edgecolor='black', zorder=9) + ax1.set_ylim(y_lim) + #ax1.set_ylabel(r"$\langle \Delta E \rangle _{\eta}$ [eV]") + ax1.set_xlabel(r"$\eta$", fontsize=18) + ax1.set_yticklabels([]) + ax1.tick_params(direction='in', which='both') + ax1.yaxis.set_major_locator(MultipleLocator(1)) + ax1.yaxis.set_minor_locator(AutoMinorLocator(10)) + + # free energy + fe = integrate.simpson(ave_vgap_list, np.array(eta_list, dtype=float)) + ax1.text(0.3, 0.85, r"$\mathrm{\Delta A_{FEP}}$ = "+f"{fe:5.3f} [eV]", transform=ax1.transAxes, fontsize=18) + fig.tight_layout() + fig.savefig(fig_name) +
    + +
    + + + + + + +
    + +
    +
    +
    + +
    + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/_modules/cp2kdata/plots/geo_opt_plot.html b/_modules/cp2kdata/plots/geo_opt_plot.html index 2fd47be..346f267 100644 --- a/_modules/cp2kdata/plots/geo_opt_plot.html +++ b/_modules/cp2kdata/plots/geo_opt_plot.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/plots/test_plot.html b/_modules/cp2kdata/plots/test_plot.html index 119737d..9ca0886 100644 --- a/_modules/cp2kdata/plots/test_plot.html +++ b/_modules/cp2kdata/plots/test_plot.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/cp2kdata/utils.html b/_modules/cp2kdata/utils.html index 260d05c..226e557 100644 --- a/_modules/cp2kdata/utils.html +++ b/_modules/cp2kdata/utils.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/_modules/index.html b/_modules/index.html index b6c5ceb..36b80cf 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -386,10 +388,12 @@

    All modules for which code is available

  • cp2kdata.block_parser.md_xyz
  • cp2kdata.block_parser.mulliken
  • cp2kdata.block_parser.stress
  • +
  • cp2kdata.cell
  • cp2kdata.cube.cube
  • cp2kdata.dpdata_plugin
  • cp2kdata.output
  • cp2kdata.pdos.pdos
  • +
  • cp2kdata.plots.fep_plot
  • cp2kdata.plots.geo_opt_plot
  • cp2kdata.plots.test_plot
  • cp2kdata.utils
  • diff --git a/_sources/_api/cp2kdata.cell.rst b/_sources/_api/cp2kdata.cell.rst new file mode 100644 index 0000000..4bae316 --- /dev/null +++ b/_sources/_api/cp2kdata.cell.rst @@ -0,0 +1,7 @@ +cp2kdata.cell module +==================== + +.. automodule:: cp2kdata.cell + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/_api/cp2kdata.matplotlibstyle.rst b/_sources/_api/cp2kdata.matplotlibstyle.rst new file mode 100644 index 0000000..77aa341 --- /dev/null +++ b/_sources/_api/cp2kdata.matplotlibstyle.rst @@ -0,0 +1,10 @@ +cp2kdata.matplotlibstyle package +================================ + +Module contents +--------------- + +.. automodule:: cp2kdata.matplotlibstyle + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/_api/cp2kdata.rst b/_sources/_api/cp2kdata.rst index 167a6d7..e992e51 100644 --- a/_sources/_api/cp2kdata.rst +++ b/_sources/_api/cp2kdata.rst @@ -10,6 +10,7 @@ Subpackages cp2kdata.block_parser cp2kdata.cli cp2kdata.cube + cp2kdata.matplotlibstyle cp2kdata.pdos cp2kdata.plots @@ -19,6 +20,7 @@ Submodules .. toctree:: :maxdepth: 4 + cp2kdata.cell cp2kdata.dpdata_plugin cp2kdata.output cp2kdata.paser_func diff --git a/_sources/docs/cube/README.md b/_sources/docs/cube/README.md index 6a2511a..751a481 100644 --- a/_sources/docs/cube/README.md +++ b/_sources/docs/cube/README.md @@ -1,23 +1,50 @@ # Manipulate CP2K Cube Files -The `cp2kdata` Python package provides tools for working with cube files generated by the CP2K quantum chemistry software. One of the standout features of this package is its ability to handle CP2K cube files and perform various analyses. +The `CP2KData` Python package provides tools for working with cube files generated by the CP2K quantum chemistry software. One of the standout features of this package is its ability to handle CP2K cube files and perform various analyses. ## Getting Started Import the necessary modules and load a cube file: ```python from cp2kdata import Cp2kCube +cube_file_path = "slab-ELECTRON_DENSITY-1_0.cube" +mycube = Cp2kCube(cube_file_path) +``` -cube_file = "xxx.cube" -mycube = Cp2kCube(cube_file) +## Retrieving Cell Information +Users can easily obtain cell information from CP2K cube files by the following method +```python +cell = mycube.get() +type(cell) +``` +As a result, you will get new object `Cp2kCell` +```shell +# output +cp2kdata.cell.Cp2kCell ``` + ## Retrieving Structural Information CP2K cube files include structural information, making it easy to work with atomic structures. You can retrieve this information using the `get_stc()` method: ```python stc = mycube.get_stc() -print(stc) +``` +The stc is ASE `Atoms` object +```shell +#output +ase.atoms.Atoms ``` +## Integration over space +User can obtain the integration over space using the `get_integration()` method, for example, if you get integration using density cube, you will get the total number electrons in this cube +```python +mycube.get_integration() +``` +```shell +#output +1152.0007910850024 +``` +The result is not exactly an integer. User should round it to integer manually. + ## Planar Averaging You can calculate planar average data from the cube file, both with and without interpolation: ```python @@ -40,10 +67,10 @@ mav_x, mav = mycube.get_mav(l1=4.8, l2=4.8, ncov=2, interpolate=True) ``` -## Addition and Subtraction of Cp2kCubes -The Cp2kCubeNew class provides a convenient way to perform addition and subtraction operations on CP2K cube files, allowing you to manipulate the data contained within them. +## Addition and Subtraction of Cp2kCube +The Cp2kCube class provides a convenient way to perform addition and subtraction operations on CP2K cube files, allowing you to manipulate the data contained within them. This method is extremly useful, if you would like to obtain the charge difference ```python -from cp2kcube.cube.cube import Cp2kCubeNew as Cp2kCube +from cp2kcube import Cp2kCube # Load the first cube file cube1 = Cp2kCube("path/to/cube1.cube") @@ -59,13 +86,54 @@ result_cube = cube1 + cube2 result_cube = cube1 - cube2 ``` +The resulted object is a new Cp2kCube, with which, all above methods can be used. -## Quick Plotting -Easily create quick plots of your data with the quick_plot() method. You can specify the axis, interpolation, and output directory: +## Writing Cube +The Cp2kCube can write data into a cube file with cp2k format using the `write_cube()` method: +```python +mycube.write_cube("./test.cube") +``` +With this command, you will obtain a new cube file under the current folder. +## Quick Plotting +Easily create quick plots of your data with the quick_plot() method. The method returns matplotlib `figure` object, with which, users can further manupulate the figure or save it to a directory. ```python -mycube.quick_plot(axis="z", interpolate=False, output_dir="./") +fig = mycube.quick_plot(axis="z", interpolate=False) +fig.savefig("pav.png") +``` + +## View Planar and Macro average in Terminal +CP2K are often installed in HPC, which means no graphic interface but only the terminal for users. `CP2KData` uses command line tools to check Planar and Macro average in terminal + +In your terminal, type +```shell +cp2kdata cube view --cube_file slab-ELECTRON_DENSITY-1_0.cube ``` +You will get +![terminal_plot](./terminal.png) +The width of plot can be adjusted according to your terminal width +```shell +cp2kdata cube view --cube_file slab-ELECTRON_DENSITY-1_0.cube --width 80 +``` +For other option, see the help +``` +cp2kdata cube view --help +``` +```shell +Usage: cp2kdata cube view [OPTIONS] + +Options: + --cube_file TEXT cube file + --axis TEXT axis + --mav BOOLEAN switch on macro average or not + --l1 FLOAT l1 + --l2 FLOAT l2 + --ncov INTEGER ncov + --unit TEXT unit + --width INTEGER width + --help Show this message and exit. +``` + ## Benchmark Comparison The Planar Average and Macro Average results from cp2kdata are benchmarked against those from Siesta and Abinit, as shown in the following figures: diff --git a/docs/backlog.html b/docs/backlog.html index d2fda41..f29200f 100644 --- a/docs/backlog.html +++ b/docs/backlog.html @@ -204,6 +204,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -214,6 +215,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/docs/cube/README.html b/docs/cube/README.html index 981bef5..bcea0b8 100644 --- a/docs/cube/README.html +++ b/docs/cube/README.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -420,11 +422,15 @@

    Contents

    @@ -439,14 +445,26 @@

    Contents

    Manipulate CP2K Cube Files#

    -

    The cp2kdata Python package provides tools for working with cube files generated by the CP2K quantum chemistry software. One of the standout features of this package is its ability to handle CP2K cube files and perform various analyses.

    +

    The CP2KData Python package provides tools for working with cube files generated by the CP2K quantum chemistry software. One of the standout features of this package is its ability to handle CP2K cube files and perform various analyses.

    Getting Started#

    Import the necessary modules and load a cube file:

    from cp2kdata import Cp2kCube
    -
    -cube_file = "xxx.cube"
    -mycube = Cp2kCube(cube_file)
    +cube_file_path = "slab-ELECTRON_DENSITY-1_0.cube"
    +mycube = Cp2kCube(cube_file_path)
    +
    +
    +
    +
    +

    Retrieving Cell Information#

    +

    Users can easily obtain cell information from CP2K cube files by the following method

    +
    cell = mycube.get()
    +type(cell)
    +
    +
    +

    As a result, you will get new object Cp2kCell

    +
    # output
    +cp2kdata.cell.Cp2kCell
     
    @@ -454,9 +472,25 @@

    Getting Started#

    CP2K cube files include structural information, making it easy to work with atomic structures. You can retrieve this information using the get_stc() method:

    stc = mycube.get_stc()
    -print(stc)
     
    +

    The stc is ASE Atoms object

    +
    #output
    +ase.atoms.Atoms
    +
    +
    +
    +
    +

    Integration over space#

    +

    User can obtain the integration over space using the get_integration() method, for example, if you get integration using density cube, you will get the total number electrons in this cube

    +
    mycube.get_integration()
    +
    +
    +
    #output
    +1152.0007910850024
    +
    +
    +

    The result is not exactly an integer. User should round it to integer manually.

    Planar Averaging#

    @@ -481,10 +515,10 @@

    Macro Averaging -

    Addition and Subtraction of Cp2kCubes#

    -

    The Cp2kCubeNew class provides a convenient way to perform addition and subtraction operations on CP2K cube files, allowing you to manipulate the data contained within them.

    -
    from cp2kcube.cube.cube import Cp2kCubeNew as Cp2kCube
    +
    +

    Addition and Subtraction of Cp2kCube#

    +

    The Cp2kCube class provides a convenient way to perform addition and subtraction operations on CP2K cube files, allowing you to manipulate the data contained within them. This method is extremly useful, if you would like to obtain the charge difference

    +
    from cp2kcube import Cp2kCube
     
     # Load the first cube file
     cube1 = Cp2kCube("path/to/cube1.cube")
    @@ -501,11 +535,53 @@ 

    Addition and Subtraction of Cp2kCubes +

    Writing Cube#

    +

    The Cp2kCube can write data into a cube file with cp2k format using the write_cube() method:

    +
    mycube.write_cube("./test.cube")
    +
    +
    +

    With this command, you will obtain a new cube file under the current folder.

    Quick Plotting#

    -

    Easily create quick plots of your data with the quick_plot() method. You can specify the axis, interpolation, and output directory:

    -
    mycube.quick_plot(axis="z", interpolate=False, output_dir="./")
    +

    Easily create quick plots of your data with the quick_plot() method. The method returns matplotlib figure object, with which, users can further manupulate the figure or save it to a directory.

    +
    fig = mycube.quick_plot(axis="z", interpolate=False)
    +fig.savefig("pav.png")
    +
    +
    +
    +
    +

    View Planar and Macro average in Terminal#

    +

    CP2K are often installed in HPC, which means no graphic interface but only the terminal for users. CP2KData uses command line tools to check Planar and Macro average in terminal

    +

    In your terminal, type

    +
    cp2kdata cube view --cube_file slab-ELECTRON_DENSITY-1_0.cube
    +
    +
    +

    You will get +terminal_plot +The width of plot can be adjusted according to your terminal width

    +
    cp2kdata cube view --cube_file slab-ELECTRON_DENSITY-1_0.cube --width 80
    +
    +
    +

    For other option, see the help

    +
    cp2kdata cube view --help
    +
    +
    +
    Usage: cp2kdata cube view [OPTIONS]
    +
    +Options:
    +  --cube_file TEXT  cube file
    +  --axis TEXT       axis
    +  --mav BOOLEAN     switch on macro average or not
    +  --l1 FLOAT        l1
    +  --l2 FLOAT        l2
    +  --ncov INTEGER    ncov
    +  --unit TEXT       unit
    +  --width INTEGER   width
    +  --help            Show this message and exit.
     
    @@ -582,11 +658,15 @@

    Benchmark Comparison

    diff --git a/docs/dpdata_plugin.html b/docs/dpdata_plugin.html index 56c5ffc..8900857 100644 --- a/docs/dpdata_plugin.html +++ b/docs/dpdata_plugin.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/docs/input_test.html b/docs/input_test.html index 570d367..0b95b3d 100644 --- a/docs/input_test.html +++ b/docs/input_test.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/docs/output.html b/docs/output.html index 48c4b4f..c1e8457 100644 --- a/docs/output.html +++ b/docs/output.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/docs/pdos/README.html b/docs/pdos/README.html index 6640720..3222e8b 100644 --- a/docs/pdos/README.html +++ b/docs/pdos/README.html @@ -206,6 +206,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -216,6 +217,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • diff --git a/genindex.html b/genindex.html index 9ff71ab..697ac0e 100644 --- a/genindex.html +++ b/genindex.html @@ -203,6 +203,7 @@
  • cp2kdata.cube.cube module
  • +
  • cp2kdata.matplotlibstyle package
  • cp2kdata.pdos package @@ -213,6 +214,7 @@
  • cp2kdata.plots.test_plot module
  • +
  • cp2kdata.cell module
  • cp2kdata.dpdata_plugin module
  • cp2kdata.output module
  • cp2kdata.paser_func module
  • @@ -393,6 +395,7 @@

    Index

    | S | T | V + | W

    A

    @@ -428,7 +431,13 @@

    C

  • ConvergeInfo (class in cp2kdata.block_parser.converge)
  • -
  • copy() (cp2kdata.cube.cube.Cp2kCube method) +
  • copy() (cp2kdata.cell.Cp2kCell method) + +
  • +
  • Cp2kCell (class in cp2kdata.cell)
  • Cp2kCube (class in cp2kdata.cube.cube)
  • @@ -541,8 +550,6 @@

    C

  • module
  • - -
    • cp2kdata.block_parser.mulliken @@ -550,11 +557,20 @@

      C

    • module
    + + + -
    • get_mav() (cp2kdata.cube.cube.Cp2kCube method) @@ -905,6 +947,8 @@

      M

    • cp2kdata.block_parser.mulliken
    • cp2kdata.block_parser.stress +
    • +
    • cp2kdata.cell
    • cp2kdata.cli
    • @@ -913,6 +957,8 @@

      M

    • cp2kdata.cube.cube
    • cp2kdata.dpdata_plugin +
    • +
    • cp2kdata.matplotlibstyle
    • cp2kdata.output
    • @@ -923,6 +969,8 @@

      M

    • cp2kdata.pdos.pdos
    • cp2kdata.plots +
    • +
    • cp2kdata.plots.fep_plot
    • cp2kdata.plots.geo_opt_plot
    • @@ -1038,6 +1086,8 @@

      P

    • plot_cutoff_test() (in module cp2kdata.plots.test_plot)
    • plot_single_pdos() (in module cp2kdata.pdos.pdos) +
    • +
    • plot_ti() (in module cp2kdata.plots.fep_plot)
    • plot_U_test() (in module cp2kdata.plots.test_plot)
    • @@ -1069,7 +1119,9 @@

      Q

      R

      + + + + + + + + +
      +
    • cp2kdata.cell module
    • cp2kdata.dpdata_plugin module
    • cp2kdata.output module
    • cp2kdata.paser_func module
    • diff --git a/objects.inv b/objects.inv index 78bfa07d35e7d914f408f719420809e8cf1dece4..f081365366517cc25218ec1d38f8e0437ddbaf45 100644 GIT binary patch delta 2487 zcmV;o2}t(f5|R{? z-Xhubb$;0r5yE0CQW-~9p|%|=kC0*#igUq`ir1*CJTh(bjOYALbtmtDsoO47vXk^g-%@>NcEaTl;D!V07BW^E_ zziXp?q(_ta(BOxk1;LERyJL%b)F^E!D^9SfNOZqsWr}sn$}{+;u5EDYQr9hbKwYdq z!ZgwgX{pODo^g&#NQxuu;ysv@JQ6J};~ST@jxD`5wtog9`r5|UWvaU6j;Jl#j>oz( zm`D0DT5D&9U!r%@Z@f4+EJe4}3Bd}{i5)crowG#xW9E1-EH=EmFT}Q~>_k&$vaaG^ z-d8H#fBc%?twCh>#0q}y(5rd1t9!z6M{tSxIlt;B((WP2U!AkguA{i&1wqeODcPcm{TYn4GY49ZLUA6LQjr?sha6|; z)?l0>#>ZC(6;O@lL3T~7#pLVrzk`x@+HTi9qm+?(O&70-(;>{gub zeT+NWI?|cJSi7Qs6kNQPTDs8}Q`M4_i(;Ol%Vc+1RjM4Lz8@&-ujCox&b=$!P7TRw z#7}K?9pi|&S`;i`b0otAEd`FC=EzU!c;cqOIt8tIPCj8*OZeX^CRyfsPdNVV;@}T*K$I zz%DhA@iHB7j0LIwrlW0#sFsq;`8FVJ!bVBOKsj+c(n#@F@eBz|%so;p$IYUh zrUo<7M#a?dB^~z}qaV5=V978}2mV1ZM}NiCd!}Iispmf_dQO2#{>YEaE(0^=gRhvf zi8A~jO8D&0+zyth!8tlB$<5GTNo=P6(eQ%(|Y%%or0Mn0fi2RVV+G zv9crf&9f{!_dv-ud;j?BA0K4s>ikiL7{ouK?{ho9qOldeQ`1ob_lO|TiqDKA-+$|F0#!t^>sY3xmMJ`UT(`UZbjU02b- z8Zj|vtkgm;yGch>lkBtz-ZOsohHDp=?#Hj~dDr_wblM;UP@UDE6KlPVm?%GECvKML zq3dc|9d|T?%}6tra641pYHLqYB7dZ8IBKibv=WmLEZ(YViI-92r0i*jUJ~fC8^}j4 z4)7^qJGdTMA`xD{=Oq|!jw12t*bp8a771p*WM zjmXt?_%vv13X%?apmJD{j+y?oHUtDxKfvp8hBWM9AB)t$%`px41exy2(tqKMkj~A# zA*?Ug{l}eFiJ0oOa8BvFwNoo4vQ9KS;B5hijd54qo=)VZg&f^`#?!NrdraL`tuN#! zll_^a2$2|7LyrS*ePF-91vq*%)B39T3gD@&+bJ5K4omthSPFlntpYJ5?7JyE;#@1+ zNL4FZ;*Ua1%4_6Z+P<1>?ti9Ei#{M)-W>qTCwN46?p^S1(#5w)faB{XK@IDhC2@MoFL;13SU+EPp^sfe7GVA`2Jpcm zM8_{NMCzKKVE_SSjQSi3i!FftodggDhl^o+Q6a7ri_aQ>AU0fvX~izC1lE@bKmZw` zZhf#IvIrO74SxVJ@Ni+|HwNO0FdqB|Zcv1r{xm?O;(SIQcyVFfF=i7dY@VtIeqdPI zJbNG6!!Ax(f-pFu7}HtI$U<1hAwdWlF2HbXGEUt%D+j!|2;K2OU8J&ktPKQ^Vf7(Y z8mDa>Ljzvis;=6R;1rq;DFHjfI*MQqX*jtA?2}Hb?|*)2Th^5yCJZitDx0ftJ2_Nh zeyTEA;p(jGWV!9%4IOtAgT*GOxn*B8HPYuVH{imUWt1({R(Kc_~2)+FxYSr*lb|0=vGt$8&0i(u)1JZ z;xL_P8Y{T&{ANrT3Zz%sG}uTDWP3dGQ`^|N8G^Jt*%|dUo#$_z{wO=f{{f{dBLTGD B$tVB- delta 2307 zcmV+e3HK zy0V{sxJg1vflwvX#;z3b{Tx8(a5+`?%TtXc0^Rl3hSfdA;3oi4N8VR1<#3S={fA9^ z_fPQdVN5tuRz1NEae;ZHyq_%%c0iIfq=HYRty95Xk^LeE^M43>PlVPz^=%~yYr)UE zl=n!seN$ex!jy{ChBTQIo6zQUjYlaQh0;v$q|!B-x{M5KpD{n<+3)rVxIF(2=&?{i=n;t+`Rq19emBW&_RozR{ zdu_;{XwjJ64S4qxQX*u!Idjp78t04)ctLGVljo&bp;WVGWt?s1*$$&_b;E)u+@;#1 zvL;%gbK1JAcU+PRQFumOx&@_skOJ6XMc`}eYSIS`Kn>LGiH!=GSw89 zJ<*mSw>8H7QnQ==;-#4}Qw&R8Fsd;h*-0+wR3y7qMr@zTK@DZ0+baFz z{Yu4;pTCti%ZVJG1eDhfznN8srl*p0lvG4s%d7rI*%8t5%{l2DI!;;%DSpQEE$ut- zzI~&v{D1nfe1lpI^???+Ia2&amf2}i=i50)-leCVsyCE7n=$j2ifV;WPK|JJIboW- zJuwzY{p5`KtufN3hTii>elTx&EDMlFglHkIQV0Iq_-`O0&S1O4Lw4w4YsC zLr9K=D5}yiQM|RBhUyvCz`s!2k^)WFQ%at2n}0mMT>jJ%He`2w<9@#4eVGe~6{o&W zF~{akG{$ANrq~})s?QSRJ8kh*XL1!Kk(#U2a80ZJ7+a3&U)6|>#q4|XDnfZp7R2`+(03#j6hD*OiTVYecW-@srCIe541y7 zR)6ZSpD%JkfAmDZ(UfHzlw3JGP(Omt$Q=&k;QnDSmMvrMSmaK>WLy3_yZ?ejBNVa7ByHv)YfM2 zN8F{udfD}{Eq0qB{Ia=pJ+u5VverA)N5vTj)v{_jZR&A%E6``Vk^Wxb{Y>32vwu4U znUK1d%~gwWC6y7ZK7o0Ox2Hf^+2akHEYRgUTaFA*=qckkyFHlB!@W5m&Vw~0Liw9W z_8HrFc}|y~y5+;|MbEdC^FY@(TJx|Y_d7BQ=m|3)a&;dq4|=v<$cH>}{SD8@%>P+) z8+y54;PrjNJZyIktu;t{&cnSRVSlHxd^m4Q_HLd#mQ!!jcvB)1(|i`LIc=Zaw8)8U zGPwtmLF6vBysCRTRhmQXibwqEDO1>|?rIj>ve(J+!byZgjA@}q$6I&o7q|_M^=4SC ziC+P{u!fDNY5B0UFM{Rhue?p5T*AIX(p|#|ZfxzOn(Zg`2UIKQ2DdU_eSasie;YC{ z`h`?`EBkNA&w5198Q)Xa)4^RQ3 zlbcSDOl&53aQR1XKgRMi?*SiH7Zzco17a&G$|Fy#`Z@%0%M$pPPQ9v>;!4_m=qqYy0i6b^<<$%1jdqpWTK#^}rj<}4?dI+HSCZ{jTU_=P z7*$G*s8OI?OU?E_GO~>q@Ez(0CCKOn3;4Yl+04zw=yvKXhF23s34gZzUX|)l_c_Uc z?^_aeA5D7LS?VQ;#;Kb0jpBz&tx=@*{^ccVjR#wyoCr1EncP~H#4-9c*AAzd3*7~g zJ5ann-A~x|8{!zE8ijX^>Q)vVB`v-KX5tp)k-gl(5c)#TaaY^U5`mEQuQjW{yPsD= z-@$a|jH)Me#t-4^mVaT=O%OZ?gwbzm%!1?7^p>IGU>j`TuZOLu>ck365!fIGOAsAG zeiL>5cwexAOi`cCY*H&Q56A`E;O%O7p}T3dSj5kQP3(3Z#;v8a8q7jo!3HuxeHIy; zScRJaRgePTu8a<5O{>BXVG6>a1UVanny5GhgMuh-TX#5INPiRd!#6=3xGn7mc_z-V zi%=f04Nj=W81$1^iCNqY*n)0Xz{TgJse3^gAc{-S9U?apmHqe$uz}oGcV~KO+FrZ^ zh~idtbx=f5XNZXa^B9WN54O%*HFX@OGTZ`9u~6j>+P@KTs>!m#wMEy-I(#Aw9WIuF zMFhyY3?)Fn|~=B03#HY$(o`;~F% zZy-z?*LPr1#HZQ6Z!zxqy!?a8A>JR=5Txwv7xAClB428Z!0&2VZOiC6?EQZ}{p;h` zPdDYfG+Xv7YDw4Y)iluetbvJT`%F}IEG#(f-KJWgrhL@v)kj-Id3eBPvp~~jcDH9q zo02T*H+=1r>ze&3l{bud4Zi7OUvxHCz1#WHd%SL;y%O^Nch#z%oqGBRHJX>Ujx={D zEbNS1wSdJh24XI#Ys~P}^_TwhfwYp(97^+G-iQxsXsqD6>$@SrRmkpGS+JM7QS9+5 dFRY!H78vpBGB0SK*)o6H^hZ50{vX^r>O^uMlcp2kdata.cube.cube module +
    • cp2kdata.matplotlibstyle package
    • cp2kdata.pdos package @@ -216,6 +217,7 @@
    • cp2kdata.plots.test_plot module
    • +
    • cp2kdata.cell module
    • cp2kdata.dpdata_plugin module
    • cp2kdata.output module
    • cp2kdata.paser_func module
    • @@ -470,6 +472,11 @@

      Python Module Index

          cp2kdata.block_parser.stress
          + cp2kdata.cell +
          @@ -490,6 +497,11 @@

      Python Module Index

          cp2kdata.dpdata_plugin
          + cp2kdata.matplotlibstyle +
          @@ -515,6 +527,11 @@

      Python Module Index

          cp2kdata.plots
          + cp2kdata.plots.fep_plot +
          diff --git a/search.html b/search.html index 15c7b92..657ada5 100644 --- a/search.html +++ b/search.html @@ -205,6 +205,7 @@
    • cp2kdata.cube.cube module
    • +
    • cp2kdata.matplotlibstyle package
    • cp2kdata.pdos package @@ -215,6 +216,7 @@
    • cp2kdata.plots.test_plot module
    • +
    • cp2kdata.cell module
    • cp2kdata.dpdata_plugin module
    • cp2kdata.output module
    • cp2kdata.paser_func module
    • diff --git a/searchindex.js b/searchindex.js index b864496..1fbb3e8 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["_api/cp2kdata", "_api/cp2kdata.block_parser", "_api/cp2kdata.block_parser.atomic_kind", "_api/cp2kdata.block_parser.cells", "_api/cp2kdata.block_parser.converge", "_api/cp2kdata.block_parser.coordinates", "_api/cp2kdata.block_parser.dft_plus_u", "_api/cp2kdata.block_parser.energies", "_api/cp2kdata.block_parser.errors_handle", "_api/cp2kdata.block_parser.fep", "_api/cp2kdata.block_parser.forces", "_api/cp2kdata.block_parser.geo_opt", "_api/cp2kdata.block_parser.header_info", "_api/cp2kdata.block_parser.hirshfeld", "_api/cp2kdata.block_parser.md_xyz", "_api/cp2kdata.block_parser.mulliken", "_api/cp2kdata.block_parser.stress", "_api/cp2kdata.cli", "_api/cp2kdata.cli.cmd", "_api/cp2kdata.cli.funcs", "_api/cp2kdata.cube", "_api/cp2kdata.cube.cube", "_api/cp2kdata.dpdata_plugin", "_api/cp2kdata.output", "_api/cp2kdata.paser_func", "_api/cp2kdata.pdos", "_api/cp2kdata.pdos.pdos", "_api/cp2kdata.plots", "_api/cp2kdata.plots.fep_plot", "_api/cp2kdata.plots.geo_opt_plot", "_api/cp2kdata.plots.test_plot", "_api/cp2kdata.test_input", "_api/cp2kdata.units", "_api/cp2kdata.utils", "_api/modules", "docs/backlog", "docs/cube/README", "docs/dpdata_plugin", "docs/input_test", "docs/output", "docs/pdos/README", "intro"], "filenames": ["_api/cp2kdata.rst", "_api/cp2kdata.block_parser.rst", "_api/cp2kdata.block_parser.atomic_kind.rst", "_api/cp2kdata.block_parser.cells.rst", "_api/cp2kdata.block_parser.converge.rst", "_api/cp2kdata.block_parser.coordinates.rst", "_api/cp2kdata.block_parser.dft_plus_u.rst", "_api/cp2kdata.block_parser.energies.rst", "_api/cp2kdata.block_parser.errors_handle.rst", "_api/cp2kdata.block_parser.fep.rst", "_api/cp2kdata.block_parser.forces.rst", "_api/cp2kdata.block_parser.geo_opt.rst", "_api/cp2kdata.block_parser.header_info.rst", "_api/cp2kdata.block_parser.hirshfeld.rst", "_api/cp2kdata.block_parser.md_xyz.rst", "_api/cp2kdata.block_parser.mulliken.rst", "_api/cp2kdata.block_parser.stress.rst", "_api/cp2kdata.cli.rst", "_api/cp2kdata.cli.cmd.rst", "_api/cp2kdata.cli.funcs.rst", "_api/cp2kdata.cube.rst", "_api/cp2kdata.cube.cube.rst", "_api/cp2kdata.dpdata_plugin.rst", "_api/cp2kdata.output.rst", "_api/cp2kdata.paser_func.rst", "_api/cp2kdata.pdos.rst", "_api/cp2kdata.pdos.pdos.rst", "_api/cp2kdata.plots.rst", "_api/cp2kdata.plots.fep_plot.rst", "_api/cp2kdata.plots.geo_opt_plot.rst", "_api/cp2kdata.plots.test_plot.rst", "_api/cp2kdata.test_input.rst", "_api/cp2kdata.units.rst", "_api/cp2kdata.utils.rst", "_api/modules.rst", "docs/backlog.md", "docs/cube/README.md", "docs/dpdata_plugin.md", "docs/input_test.md", "docs/output.md", "docs/pdos/README.md", "intro.md"], "titles": ["cp2kdata package", "cp2kdata.block_parser package", "cp2kdata.block_parser.atomic_kind module", "cp2kdata.block_parser.cells module", "cp2kdata.block_parser.converge module", "cp2kdata.block_parser.coordinates module", "cp2kdata.block_parser.dft_plus_u module", "cp2kdata.block_parser.energies module", "cp2kdata.block_parser.errors_handle module", "cp2kdata.block_parser.fep module", "cp2kdata.block_parser.forces module", "cp2kdata.block_parser.geo_opt module", "cp2kdata.block_parser.header_info module", "cp2kdata.block_parser.hirshfeld module", "cp2kdata.block_parser.md_xyz module", "cp2kdata.block_parser.mulliken module", "cp2kdata.block_parser.stress module", "cp2kdata.cli package", "cp2kdata.cli.cmd module", "cp2kdata.cli.funcs module", "cp2kdata.cube package", "cp2kdata.cube.cube module", "cp2kdata.dpdata_plugin module", "cp2kdata.output module", "cp2kdata.paser_func module", "cp2kdata.pdos package", "cp2kdata.pdos.pdos module", "cp2kdata.plots package", "cp2kdata.plots.fep_plot module", "cp2kdata.plots.geo_opt_plot module", "cp2kdata.plots.test_plot module", "cp2kdata.test_input module", "cp2kdata.units module", "cp2kdata.utils module", "cp2kdata", "Idea List", "Manipulate CP2K Cube Files", "CP2KData Plugin for dpdata", "Generate Standard Test Inputs", "Manipulate CP2K Output/Log Files", "Manipulate CP2K Pdos Files", "CP2KData"], "terms": {"block_pars": [0, 34], "atomic_kind": [0, 1], "cell": [0, 1, 33, 39], "converg": [0, 1, 38], "coordin": [0, 1, 39], "dft_plus_u": [0, 1], "energi": [0, 1, 39], "errors_handl": [0, 1], "fep": [0, 1], "forc": [0, 1, 39], "geo_opt": [0, 1], "header_info": [0, 1], "hirshfeld": [0, 1], "md_xyz": [0, 1], "mulliken": [0, 1], "stress": [0, 1, 39], "cli": [0, 34, 35], "cmd": [0, 17], "func": [0, 17], "cube": [0, 34, 35, 41], "pdo": [0, 34, 35, 41], "plot": [0, 34, 39], "fep_plot": [0, 27], "geo_opt_plot": [0, 27], "test_plot": [0, 27], "dpdata_plugin": [0, 34], "output": [0, 34, 35, 36, 37, 41], "paser_func": [0, 34], "test_input": [0, 34], "unit": [0, 21, 34], "util": [0, 34], "parse_atomic_kind": 2, "output_fil": [2, 3, 5, 6, 7, 8, 10, 11, 13, 15, 16, 23, 33], "sourc": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 26, 29, 30, 33], "parse_num_atomic_kind": 2, "parse_all_cel": 3, "parse_all_md_cel": 3, "class": [4, 12, 21, 22, 23, 26, 36, 39], "convergeinfo": 4, "bool": 4, "fals": [4, 21, 36], "base": [4, 12, 21, 22, 23, 26], "object": [4, 12, 21, 23, 26, 33, 36], "parse_e_f_converg": 4, "filenam": [4, 12, 23, 26], "parse_md_converg": 4, "parse_init_atomic_coordin": 5, "parse_dft_plus_u_occ": 6, "parse_energies_list": 7, "parse_error": 8, "parse_vertical_gap": 9, "mix_ener_fil": 9, "r_col": 9, "3": 9, "p_col": 9, "4": [9, 36], "parse_atomic_forces_list": 10, "parse_geo_opt_info": 11, "float": 11, "cp2kinfo": 12, "version": [12, 39], "str": [12, 22, 23], "none": [12, 21, 23, 26, 30], "dftinfo": [12, 15], "ks_type": 12, "multipl": 12, "globalinfo": 12, "run_typ": [12, 23, 39], "print_level": 12, "mdinfo": 12, "ensemble_typ": 12, "parse_cp2k_info": 12, "parse_dft_info": 12, "parse_global_info": 12, "parse_md_info": 12, "parse_hirshfeld_pop_list": 13, "parse_frc_xyz": 14, "frcxyz_fil": 14, "parse_md_en": 14, "ener_fil": 14, "parse_md_stress": 14, "stress_fil": 14, "parse_pos_xyz": 14, "posxyz_fil": 14, "parse_pos_xyz_from_wanni": 14, "wannier_xyz_fiel": 14, "parse_mulliken_pop_list": 15, "parse_stress_tensor_list": 16, "cp2kcube": 21, "file": [21, 22, 33, 35, 38], "cube_v": 21, "grid_siz": 21, "grid_spac": 21, "msonabl": 21, "as_dict": 21, "return": [21, 22], "data": [21, 22, 35, 36, 37, 38, 41], "dict": [21, 22], "system": [21, 22, 36], "instanc": 21, "copi": 21, "get_mav": [21, 36], "l1": [21, 36], "l2": [21, 36], "0": [21, 26, 38], "ncov": [21, 36], "1": [21, 26, 36, 38, 39], "interpol": [21, 36], "axi": [21, 36], "z": [21, 36], "get_pav": [21, 36], "get_stc": [21, 36], "properti": [21, 26], "num_atom": [21, 30], "quick_plot": [21, 36], "output_dir": [21, 36], "read_cube_v": 21, "cp2kcubeold": 21, "cube_file_nam": 21, "timestep": 21, "ps": 21, "cp2kcubetraj": 21, "prefix": 21, "square_wave_filt": 21, "x": 21, "l": 21, "cell_z": 21, "cp2kenergyforceformat": 22, "format": [22, 37], "from_labeled_system": 22, "file_nam": [22, 26], "kwarg": [22, 23], "implement": 22, "labeledsystem": [22, 37], "from": [22, 35, 36, 37, 39, 40], "convert": 22, "thi": [22, 33, 36, 40], "paramet": [22, 36], "name": 22, "i": 22, "e": [22, 38], "first": [22, 36], "argument": [22, 39], "keyword": 22, "pass": 22, "method": [22, 36], "whose": 22, "kei": 22, "ar": [22, 36, 39], "defin": 22, "dtype": 22, "type": [22, 36, 39], "cp2kmdformat": 22, "cp2kmdwannierformat": 22, "get_chemical_symbols_from_cp2kdata": 22, "cp2koutput": [22, 23, 39], "true_symbol": 22, "get_uniq_atom_names_and_typ": 22, "chemical_symbol": 22, "option": [23, 39], "path_prefix": [23, 39], "pars": [23, 37], "cp2k": [23, 37, 38], "static": 23, "check_md_typ": 23, "md_type": 23, "check_run_typ": 23, "get_all_cel": 23, "get_atom_kinds_list": 23, "get_atom_num": 23, "get_atomic_forces_list": 23, "get_atomic_kind": 23, "get_chemical_symbol": [23, 39], "get_chemical_symbols_fak": [23, 39], "get_dft_plus_u_occ": 23, "get_energies_list": [23, 39], "get_force_statu": 23, "get_geo_opt_info": [23, 39], "get_geo_opt_info_plot": [23, 39], "logscal": 23, "true": [23, 26, 36, 38, 39], "dst": [23, 29], "get_global_info": 23, "get_hirshfeld_pop_list": 23, "get_init_atomic_coordin": [23, 39], "get_init_cel": 23, "get_mulliken_pop_list": 23, "get_num_atom": [23, 30], "get_num_fram": 23, "get_run_typ": [23, 39], "get_stress_statu": 23, "get_stress_tensor_list": 23, "get_version_str": [23, 39], "has_forc": 23, "has_stress": 23, "parse_cell_opt": 23, "parse_energy_forc": 23, "parse_geo_opt": 23, "parse_md": 23, "to_ase_atom": 23, "cp2kpdo": [26, 40], "parse_file_nam": 26, "get_do": [26, 40], "sigma": 26, "dos_typ": 26, "total": 26, "get_homo_en": 26, "get_lumo_en": 26, "get_raw_do": 26, "steplen": 26, "occup": 26, "read_dos_el": 26, "read_dos_energi": 26, "read_dos_fermi": 26, "get_true_el": 26, "pdosobj": 26, "replace_dict": 26, "pdos_name_pars": 26, "plot_single_pdo": 26, "ax": [26, 30], "true_el": 26, "spin": 26, "raw": 26, "quick_plot_rk": [26, 40], "pdos_dir": 26, "quick_plot_uk": [26, 40], "style": 26, "geo_opt_info_plot": 29, "geo_opt_info": 29, "basis_dir_name_convert": 30, "basis_test_sub_dir": 30, "basis_dir_name_ord": 30, "basis_dir_nam": 30, "basis_name_ord": 30, "basis_nam": 30, "get_u_list": 30, "u_test_sub_dir_list": 30, "get_basis_name_list": 30, "basis_test_sub_dir_list": 30, "get_cell_param": 30, "cp2k_out": 30, "get_cutoff_list": 30, "cutoff_test_sub_dir_list": 30, "get_dos_param": 30, "cp2k_pdo": 30, "get_e_f_": 30, "cp2k_out_nam": 30, "get_err_per_atom": 30, "arrai": 30, "get_exp_collect_from_yaml": 30, "yaml_fil": 30, "get_matrix_rmse_and_max_err": 30, "matrix_list": 30, "get_min_gap": 30, "u_test_sub_dir": 30, "get_multiple_cell_param": 30, "get_multiple_e_f_": 30, "get_multiple_min_gap": 30, "plot_u_test": 30, "target_dir": 30, "exp_collect": 30, "plot_axes_u": 30, "u_list": 30, "y_list": 30, "idx": 30, "plot_axes_basi": 30, "basis_list": 30, "plot_axes_cutoff": 30, "cutoff_list": 30, "plot_axes_exp": 30, "exp_valu": 30, "plot_basis_test": 30, "plot_cutoff_test": 30, "script": 33, "put": 33, "misc": 33, "function": 33, "here": 33, "create_path": 33, "path": [33, 36], "file_cont": 33, "num": 33, "get_opt_cell_stc": 33, "pos_fil": 33, "get_rdf": 33, "po": [33, 39], "r": 33, "nbin": 33, "frame": [33, 39], "element": [33, 38, 39], "get_rdf_list": 33, "list": [33, 38, 39], "atom": [33, 36, 39], "radial": 33, "length": [33, 36], "bin": 33, "number": [33, 39], "rang": [33, 38], "how": [33, 37], "much": 33, "you": [33, 36, 37, 38, 39], "consid": 33, "pair": 33, "interpolate_splin": 33, "old_x": 33, "old_i": 33, "new_x": 33, "printtbox": 33, "arg": 33, "print": [33, 36, 37, 39], "decor": 33, "few": 33, "charact": 33, "so": 33, "present": 33, "characterist": 33, "string": 33, "us": [33, 36, 37, 38, 39, 40], "postprocess": [33, 41], "set_pbc": 33, "set": [33, 39], "pbc": 33, "packag": [34, 36, 41], "subpackag": 34, "submodul": 34, "modul": [34, 36], "content": 34, "manipul": 35, "modifi": 35, "step": [35, 38], "inform": [35, 39], "extract": 35, "gener": [35, 36], "standard": [35, 39], "test": 35, "input": [35, 39], "directori": [35, 36, 39], "nice": 35, "figur": [35, 36], "interfac": 35, "The": 36, "cp2kdata": [36, 38, 39, 40], "python": [36, 41], "provid": [36, 38, 39], "tool": [36, 38], "work": [36, 37], "quantum": 36, "chemistri": 36, "softwar": 36, "One": [36, 38, 39], "standout": 36, "featur": 36, "its": 36, "abil": 36, "handl": 36, "perform": 36, "variou": 36, "analys": 36, "import": [36, 37, 39, 40], "necessari": 36, "load": 36, "cube_fil": 36, "xxx": 36, "mycub": 36, "includ": [36, 41], "make": 36, "easi": 36, "can": [36, 38, 39], "stc": 36, "calcul": 36, "both": 36, "without": [36, 39], "pav_x": 36, "pav": 36, "4096": 36, "point": 36, "allow": 36, "comput": 36, "specifi": [36, 37], "second": 36, "period": 36, "mav_x": 36, "mav": 36, "8": [36, 38], "2": 36, "cp2kcubenew": 36, "conveni": 36, "wai": 36, "oper": 36, "contain": 36, "within": 36, "them": 36, "cube1": 36, "cube2": 36, "two": [36, 37], "valu": [36, 38], "ad": 36, "result_cub": 36, "easili": [36, 38], "creat": 36, "your": [36, 39], "result": [36, 38], "against": 36, "those": 36, "siesta": 36, "abinit": 36, "shown": 36, "follow": [36, 38, 39], "note": 36, "support": 37, "when": [37, 39], "instal": 37, "pip": 37, "automat": 37, "well": 37, "For": [37, 39], "instruct": 37, "pleas": 37, "refer": 37, "offici": 37, "repositori": 37, "deepmodel": 37, "current": 37, "e_f": 37, "energy_forc": 37, "exampl": [37, 38, 39], "dp": 37, "cp2k_e_f_output": 37, "fmt": 37, "md": 37, "cp2kmd_dir": 37, "cp2kmd_output_nam": 37, "cp2k_output_nam": 37, "These": 37, "demonstr": 37, "simul": 37, "command": 38, "line": 38, "templat": 38, "inp": 38, "other": 38, "cutoff": 38, "gen": 38, "neccessari": 38, "crang": 38, "min": 38, "max": 38, "scf_converg": 38, "whether": 38, "scf": 38, "coord": 38, "xyz": [38, 39], "lsf": 38, "100": 38, "800": 38, "basi": 38, "sr": 38, "short": 38, "fe": 38, "hubbard": 38, "u": 38, "hubbardu": 38, "ur": 38, "orb": 38, "orbit": 38, "d": 38, "onc": 38, "have": 38, "complet": 38, "mention": 38, "abov": 38, "To": 38, "which": 39, "code": 39, "depend": 39, "run": 39, "requir": 39, "mai": 39, "more": 39, "than": 39, "ask": 39, "addit": 39, "project": 39, "ener": [39, 40], "frc": 39, "obtain": 39, "posit": 39, "detail": 39, "subsect": 39, "cp2k_output_fil": 39, "cp2k_output": 39, "where": 39, "show": 39, "brief": 39, "summari": 39, "stdout": 39, "6": 39, "30": 39, "ye": 39, "fe1": 39, "fe2": 39, "o": 39, "numb": 39, "18": 39, "output_energy_forc": 39, "get": 39, "symbol": 39, "output_geo_opt": 39, "potenti": 39, "initi": 39, "geometri": 39, "optim": 39, "quick": 39, "On": 39, "choos": 39, "three": 39, "If": 39, "collect": 39, "full": 39, "In": 39, "specif": 39, "kind": 39, "output_md": 39, "altern": 39, "consequ": 39, "loss": 39, "infrom": 39, "must": 39, "manual": 39, "otherwis": 39, "rais": 39, "error": 39, "dosfil": 40, "univers": 40, "alpha_k2": 40, "1_50": 40, "mypdo": 40, "do": 40, "calculation_dir": 40, "uk": 40, "rk": 40, "log": 41}, "objects": {"": [[0, 0, 0, "-", "cp2kdata"]], "cp2kdata": [[1, 0, 0, "-", "block_parser"], [17, 0, 0, "-", "cli"], [20, 0, 0, "-", "cube"], [22, 0, 0, "-", "dpdata_plugin"], [23, 0, 0, "-", "output"], [24, 0, 0, "-", "paser_func"], [25, 0, 0, "-", "pdos"], [27, 0, 0, "-", "plots"], [32, 0, 0, "-", "units"], [33, 0, 0, "-", "utils"]], "cp2kdata.block_parser": [[2, 0, 0, "-", "atomic_kind"], [3, 0, 0, "-", "cells"], [4, 0, 0, "-", "converge"], [5, 0, 0, "-", "coordinates"], [6, 0, 0, "-", "dft_plus_u"], [7, 0, 0, "-", "energies"], [8, 0, 0, "-", "errors_handle"], [9, 0, 0, "-", "fep"], [10, 0, 0, "-", "forces"], [11, 0, 0, "-", "geo_opt"], [12, 0, 0, "-", "header_info"], [13, 0, 0, "-", "hirshfeld"], [14, 0, 0, "-", "md_xyz"], [15, 0, 0, "-", "mulliken"], [16, 0, 0, "-", "stress"]], "cp2kdata.block_parser.atomic_kind": [[2, 1, 1, "", "parse_atomic_kinds"], [2, 1, 1, "", "parse_num_atomic_kinds"]], "cp2kdata.block_parser.cells": [[3, 1, 1, "", "parse_all_cells"], [3, 1, 1, "", "parse_all_md_cells"]], "cp2kdata.block_parser.converge": [[4, 2, 1, "", "ConvergeInfo"], [4, 1, 1, "", "parse_e_f_converge"], [4, 1, 1, "", "parse_md_converge"]], "cp2kdata.block_parser.converge.ConvergeInfo": [[4, 3, 1, "", "converge"]], "cp2kdata.block_parser.coordinates": [[5, 1, 1, "", "parse_init_atomic_coordinates"]], "cp2kdata.block_parser.dft_plus_u": [[6, 1, 1, "", "parse_dft_plus_u_occ"]], "cp2kdata.block_parser.energies": [[7, 1, 1, "", "parse_energies_list"]], "cp2kdata.block_parser.errors_handle": [[8, 1, 1, "", "parse_errors"]], "cp2kdata.block_parser.fep": [[9, 1, 1, "", "parse_vertical_gap"]], "cp2kdata.block_parser.forces": [[10, 1, 1, "", "parse_atomic_forces_list"]], "cp2kdata.block_parser.geo_opt": [[11, 1, 1, "", "parse_geo_opt_info"]], "cp2kdata.block_parser.header_info": [[12, 2, 1, "", "Cp2kInfo"], [12, 2, 1, "", "DFTInfo"], [12, 2, 1, "", "GlobalInfo"], [12, 2, 1, "", "MDInfo"], [12, 1, 1, "", "parse_cp2k_info"], [12, 1, 1, "", "parse_dft_info"], [12, 1, 1, "", "parse_global_info"], [12, 1, 1, "", "parse_md_info"]], "cp2kdata.block_parser.header_info.Cp2kInfo": [[12, 3, 1, "", "version"]], "cp2kdata.block_parser.header_info.DFTInfo": [[12, 3, 1, "", "ks_type"], [12, 3, 1, "", "multiplicity"]], "cp2kdata.block_parser.header_info.GlobalInfo": [[12, 3, 1, "", "print_level"], [12, 3, 1, "", "run_type"]], "cp2kdata.block_parser.header_info.MDInfo": [[12, 3, 1, "", "ensemble_type"]], "cp2kdata.block_parser.hirshfeld": [[13, 1, 1, "", "parse_hirshfeld_pop_list"]], "cp2kdata.block_parser.md_xyz": [[14, 1, 1, "", "parse_frc_xyz"], [14, 1, 1, "", "parse_md_ener"], [14, 1, 1, "", "parse_md_stress"], [14, 1, 1, "", "parse_pos_xyz"], [14, 1, 1, "", "parse_pos_xyz_from_wannier"]], "cp2kdata.block_parser.mulliken": [[15, 1, 1, "", "parse_mulliken_pop_list"]], "cp2kdata.block_parser.stress": [[16, 1, 1, "", "parse_stress_tensor_list"]], "cp2kdata.cube": [[21, 0, 0, "-", "cube"]], "cp2kdata.cube.cube": [[21, 2, 1, "", "Cp2kCube"], [21, 2, 1, "", "Cp2kCubeOld"], [21, 2, 1, "", "Cp2kCubeTraj"], [21, 1, 1, "", "square_wave_filter"]], "cp2kdata.cube.cube.Cp2kCube": [[21, 4, 1, "", "as_dict"], [21, 4, 1, "", "copy"], [21, 4, 1, "", "get_mav"], [21, 4, 1, "", "get_pav"], [21, 4, 1, "", "get_stc"], [21, 5, 1, "", "grid_size"], [21, 5, 1, "", "grid_space"], [21, 5, 1, "", "num_atoms"], [21, 4, 1, "", "quick_plot"], [21, 4, 1, "", "read_cube_vals"]], "cp2kdata.cube.cube.Cp2kCubeOld": [[21, 4, 1, "", "get_mav"], [21, 4, 1, "", "get_pav"], [21, 4, 1, "", "get_stc"], [21, 5, 1, "", "grid_size"], [21, 5, 1, "", "grid_space"], [21, 5, 1, "", "num_atoms"], [21, 4, 1, "", "quick_plot"], [21, 4, 1, "", "read_cube_vals"]], "cp2kdata.dpdata_plugin": [[22, 2, 1, "", "CP2KEnergyForceFormat"], [22, 2, 1, "", "CP2KMDFormat"], [22, 2, 1, "", "CP2KMDWannierFormat"], [22, 1, 1, "", "get_chemical_symbols_from_cp2kdata"], [22, 1, 1, "", "get_uniq_atom_names_and_types"]], "cp2kdata.dpdata_plugin.CP2KEnergyForceFormat": [[22, 4, 1, "", "from_labeled_system"]], "cp2kdata.dpdata_plugin.CP2KMDFormat": [[22, 4, 1, "", "from_labeled_system"]], "cp2kdata.dpdata_plugin.CP2KMDWannierFormat": [[22, 4, 1, "", "from_labeled_system"]], "cp2kdata.output": [[23, 2, 1, "", "Cp2kOutput"]], "cp2kdata.output.Cp2kOutput": [[23, 4, 1, "", "check_md_type"], [23, 4, 1, "", "check_run_type"], [23, 4, 1, "", "get_all_cells"], [23, 4, 1, "", "get_atom_kinds_list"], [23, 4, 1, "", "get_atom_num"], [23, 4, 1, "", "get_atomic_forces_list"], [23, 4, 1, "", "get_atomic_kind"], [23, 4, 1, "", "get_chemical_symbols"], [23, 4, 1, "", "get_chemical_symbols_fake"], [23, 4, 1, "", "get_dft_plus_u_occ"], [23, 4, 1, "", "get_energies_list"], [23, 4, 1, "", "get_force_status"], [23, 4, 1, "", "get_geo_opt_info"], [23, 4, 1, "", "get_geo_opt_info_plot"], [23, 4, 1, "", "get_global_info"], [23, 4, 1, "", "get_hirshfeld_pop_list"], [23, 4, 1, "", "get_init_atomic_coordinates"], [23, 4, 1, "", "get_init_cell"], [23, 4, 1, "", "get_mulliken_pop_list"], [23, 4, 1, "", "get_num_atoms"], [23, 4, 1, "", "get_num_frames"], [23, 4, 1, "", "get_run_type"], [23, 4, 1, "", "get_stress_status"], [23, 4, 1, "", "get_stress_tensor_list"], [23, 4, 1, "", "get_version_string"], [23, 4, 1, "", "has_force"], [23, 4, 1, "", "has_stress"], [23, 4, 1, "", "parse_cell_opt"], [23, 4, 1, "", "parse_energy_force"], [23, 4, 1, "", "parse_geo_opt"], [23, 4, 1, "", "parse_md"], [23, 4, 1, "", "to_ase_atoms"]], "cp2kdata.pdos": [[26, 0, 0, "-", "pdos"]], "cp2kdata.pdos.pdos": [[26, 2, 1, "", "Cp2kPdos"], [26, 1, 1, "", "get_true_element"], [26, 1, 1, "", "pdos_name_parser"], [26, 1, 1, "", "plot_single_pdos"], [26, 1, 1, "", "quick_plot_rks"], [26, 1, 1, "", "quick_plot_uks"]], "cp2kdata.pdos.pdos.Cp2kPdos": [[26, 4, 1, "", "get_dos"], [26, 4, 1, "", "get_homo_ener"], [26, 4, 1, "", "get_lumo_ener"], [26, 4, 1, "", "get_raw_dos"], [26, 5, 1, "", "occupation"], [26, 4, 1, "", "read_dos_element"], [26, 4, 1, "", "read_dos_energies"], [26, 4, 1, "", "read_dos_fermi"]], "cp2kdata.plots": [[29, 0, 0, "-", "geo_opt_plot"], [30, 0, 0, "-", "test_plot"]], "cp2kdata.plots.geo_opt_plot": [[29, 1, 1, "", "geo_opt_info_plot"]], "cp2kdata.plots.test_plot": [[30, 1, 1, "", "basis_dir_name_converter"], [30, 1, 1, "", "basis_dir_name_order"], [30, 1, 1, "", "basis_name_order"], [30, 1, 1, "", "get_U_list"], [30, 1, 1, "", "get_basis_name_list"], [30, 1, 1, "", "get_cell_param"], [30, 1, 1, "", "get_cutoff_list"], [30, 1, 1, "", "get_dos_param"], [30, 1, 1, "", "get_e_f_s"], [30, 1, 1, "", "get_err_per_atom"], [30, 1, 1, "", "get_exp_collect_from_yaml"], [30, 1, 1, "", "get_matrix_rmse_and_max_err"], [30, 1, 1, "", "get_min_gap"], [30, 1, 1, "", "get_multiple_cell_param"], [30, 1, 1, "", "get_multiple_e_f_s"], [30, 1, 1, "", "get_multiple_min_gap"], [30, 1, 1, "", "get_num_atoms"], [30, 1, 1, "", "plot_U_test"], [30, 1, 1, "", "plot_axes_U"], [30, 1, 1, "", "plot_axes_basis"], [30, 1, 1, "", "plot_axes_cutoff"], [30, 1, 1, "", "plot_axes_exp"], [30, 1, 1, "", "plot_basis_test"], [30, 1, 1, "", "plot_cutoff_test"]], "cp2kdata.utils": [[33, 1, 1, "", "create_path"], [33, 1, 1, "", "file_content"], [33, 1, 1, "", "get_opt_cell_stc"], [33, 1, 1, "", "get_rdf"], [33, 1, 1, "", "get_rdf_list"], [33, 1, 1, "", "interpolate_spline"], [33, 1, 1, "", "printtbox"], [33, 1, 1, "", "set_pbc"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:method", "5": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"]}, "titleterms": {"cp2kdata": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 41], "packag": [0, 1, 17, 20, 25, 27], "subpackag": 0, "submodul": [0, 1, 17, 20, 25, 27], "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "content": [0, 1, 17, 20, 25, 27], "block_pars": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "atomic_kind": 2, "cell": 3, "converg": 4, "coordin": 5, "dft_plus_u": 6, "energi": [7, 40], "errors_handl": 8, "fep": 9, "forc": 10, "geo_opt": [11, 39], "header_info": 12, "hirshfeld": 13, "md_xyz": 14, "mulliken": 15, "stress": 16, "cli": [17, 18, 19], "cmd": 18, "func": 19, "cube": [20, 21, 36], "dpdata_plugin": 22, "output": [23, 38, 39], "paser_func": 24, "pdo": [25, 26, 40], "plot": [27, 28, 29, 30, 36, 38], "fep_plot": 28, "geo_opt_plot": 29, "test_plot": 30, "test_input": 31, "unit": 32, "util": 33, "idea": 35, "list": 35, "TO": 35, "do": 35, "manipul": [36, 39, 40, 41], "cp2k": [36, 39, 40, 41], "file": [36, 39, 40, 41], "get": 36, "start": 36, "retriev": 36, "structur": 36, "inform": 36, "planar": 36, "averag": 36, "macro": 36, "addit": 36, "subtract": 36, "cp2kcube": 36, "quick": 36, "benchmark": 36, "comparison": 36, "plugin": 37, "dpdata": 37, "gener": 38, "standard": 38, "test": 38, "input": 38, "log": 39, "basick": 39, "usag": 39, "pars": 39, "energy_forc": 39, "md": 39, "process": 40, "singl": 40, "quickplot": 40, "point": 40, "calcul": 40, "instal": 41, "from": 41, "pip": 41, "sourc": 41}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["_api/cp2kdata", "_api/cp2kdata.block_parser", "_api/cp2kdata.block_parser.atomic_kind", "_api/cp2kdata.block_parser.cells", "_api/cp2kdata.block_parser.converge", "_api/cp2kdata.block_parser.coordinates", "_api/cp2kdata.block_parser.dft_plus_u", "_api/cp2kdata.block_parser.energies", "_api/cp2kdata.block_parser.errors_handle", "_api/cp2kdata.block_parser.fep", "_api/cp2kdata.block_parser.forces", "_api/cp2kdata.block_parser.geo_opt", "_api/cp2kdata.block_parser.header_info", "_api/cp2kdata.block_parser.hirshfeld", "_api/cp2kdata.block_parser.md_xyz", "_api/cp2kdata.block_parser.mulliken", "_api/cp2kdata.block_parser.stress", "_api/cp2kdata.cell", "_api/cp2kdata.cli", "_api/cp2kdata.cli.cmd", "_api/cp2kdata.cli.funcs", "_api/cp2kdata.cube", "_api/cp2kdata.cube.cube", "_api/cp2kdata.dpdata_plugin", "_api/cp2kdata.matplotlibstyle", "_api/cp2kdata.output", "_api/cp2kdata.paser_func", "_api/cp2kdata.pdos", "_api/cp2kdata.pdos.pdos", "_api/cp2kdata.plots", "_api/cp2kdata.plots.fep_plot", "_api/cp2kdata.plots.geo_opt_plot", "_api/cp2kdata.plots.test_plot", "_api/cp2kdata.test_input", "_api/cp2kdata.units", "_api/cp2kdata.utils", "_api/modules", "docs/backlog", "docs/cube/README", "docs/dpdata_plugin", "docs/input_test", "docs/output", "docs/pdos/README", "intro"], "filenames": ["_api/cp2kdata.rst", "_api/cp2kdata.block_parser.rst", "_api/cp2kdata.block_parser.atomic_kind.rst", "_api/cp2kdata.block_parser.cells.rst", "_api/cp2kdata.block_parser.converge.rst", "_api/cp2kdata.block_parser.coordinates.rst", "_api/cp2kdata.block_parser.dft_plus_u.rst", "_api/cp2kdata.block_parser.energies.rst", "_api/cp2kdata.block_parser.errors_handle.rst", "_api/cp2kdata.block_parser.fep.rst", "_api/cp2kdata.block_parser.forces.rst", "_api/cp2kdata.block_parser.geo_opt.rst", "_api/cp2kdata.block_parser.header_info.rst", "_api/cp2kdata.block_parser.hirshfeld.rst", "_api/cp2kdata.block_parser.md_xyz.rst", "_api/cp2kdata.block_parser.mulliken.rst", "_api/cp2kdata.block_parser.stress.rst", "_api/cp2kdata.cell.rst", "_api/cp2kdata.cli.rst", "_api/cp2kdata.cli.cmd.rst", "_api/cp2kdata.cli.funcs.rst", "_api/cp2kdata.cube.rst", "_api/cp2kdata.cube.cube.rst", "_api/cp2kdata.dpdata_plugin.rst", "_api/cp2kdata.matplotlibstyle.rst", "_api/cp2kdata.output.rst", "_api/cp2kdata.paser_func.rst", "_api/cp2kdata.pdos.rst", "_api/cp2kdata.pdos.pdos.rst", "_api/cp2kdata.plots.rst", "_api/cp2kdata.plots.fep_plot.rst", "_api/cp2kdata.plots.geo_opt_plot.rst", "_api/cp2kdata.plots.test_plot.rst", "_api/cp2kdata.test_input.rst", "_api/cp2kdata.units.rst", "_api/cp2kdata.utils.rst", "_api/modules.rst", "docs/backlog.md", "docs/cube/README.md", "docs/dpdata_plugin.md", "docs/input_test.md", "docs/output.md", "docs/pdos/README.md", "intro.md"], "titles": ["cp2kdata package", "cp2kdata.block_parser package", "cp2kdata.block_parser.atomic_kind module", "cp2kdata.block_parser.cells module", "cp2kdata.block_parser.converge module", "cp2kdata.block_parser.coordinates module", "cp2kdata.block_parser.dft_plus_u module", "cp2kdata.block_parser.energies module", "cp2kdata.block_parser.errors_handle module", "cp2kdata.block_parser.fep module", "cp2kdata.block_parser.forces module", "cp2kdata.block_parser.geo_opt module", "cp2kdata.block_parser.header_info module", "cp2kdata.block_parser.hirshfeld module", "cp2kdata.block_parser.md_xyz module", "cp2kdata.block_parser.mulliken module", "cp2kdata.block_parser.stress module", "cp2kdata.cell module", "cp2kdata.cli package", "cp2kdata.cli.cmd module", "cp2kdata.cli.funcs module", "cp2kdata.cube package", "cp2kdata.cube.cube module", "cp2kdata.dpdata_plugin module", "cp2kdata.matplotlibstyle package", "cp2kdata.output module", "cp2kdata.paser_func module", "cp2kdata.pdos package", "cp2kdata.pdos.pdos module", "cp2kdata.plots package", "cp2kdata.plots.fep_plot module", "cp2kdata.plots.geo_opt_plot module", "cp2kdata.plots.test_plot module", "cp2kdata.test_input module", "cp2kdata.units module", "cp2kdata.utils module", "cp2kdata", "Idea List", "Manipulate CP2K Cube Files", "CP2KData Plugin for dpdata", "Generate Standard Test Inputs", "Manipulate CP2K Output/Log Files", "Manipulate CP2K Pdos Files", "CP2KData"], "terms": {"block_pars": [0, 36], "atomic_kind": [0, 1], "cell": [0, 1, 22, 35, 36, 41], "converg": [0, 1, 40], "coordin": [0, 1, 41], "dft_plus_u": [0, 1], "energi": [0, 1, 41], "errors_handl": [0, 1], "fep": [0, 1], "forc": [0, 1, 41], "geo_opt": [0, 1], "header_info": [0, 1], "hirshfeld": [0, 1], "md_xyz": [0, 1], "mulliken": [0, 1], "stress": [0, 1, 41], "cli": [0, 36, 37], "cmd": [0, 18], "func": [0, 18], "cube": [0, 36, 37, 43], "matplotlibstyl": [0, 36], "pdo": [0, 36, 37, 43], "plot": [0, 36, 41], "fep_plot": [0, 29], "geo_opt_plot": [0, 29], "test_plot": [0, 29], "dpdata_plugin": [0, 36], "output": [0, 36, 37, 38, 39, 43], "paser_func": [0, 36], "test_input": [0, 36], "unit": [0, 22, 36, 38], "util": [0, 36], "parse_atomic_kind": 2, "output_fil": [2, 3, 5, 6, 7, 8, 10, 11, 13, 15, 16, 25, 35], "sourc": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 22, 23, 25, 28, 30, 31, 32, 35], "parse_num_atomic_kind": 2, "parse_all_cel": 3, "parse_all_md_cel": 3, "class": [4, 12, 17, 22, 23, 25, 28, 38, 41], "convergeinfo": 4, "bool": 4, "fals": [4, 22, 38], "base": [4, 12, 17, 22, 23, 25, 28], "object": [4, 12, 17, 22, 25, 28, 35, 38], "parse_e_f_converg": 4, "filenam": [4, 12, 25, 28], "parse_md_converg": 4, "parse_init_atomic_coordin": 5, "parse_dft_plus_u_occ": 6, "parse_energies_list": 7, "parse_error": 8, "parse_vertical_gap": 9, "mix_ener_fil": 9, "r_col": 9, "3": 9, "p_col": 9, "4": [9, 38], "parse_atomic_forces_list": 10, "parse_geo_opt_info": 11, "float": [11, 38], "cp2kinfo": 12, "version": [12, 41], "str": [12, 23, 25], "none": [12, 17, 22, 25, 28, 32], "dftinfo": [12, 15], "ks_type": 12, "multipl": 12, "globalinfo": 12, "run_typ": [12, 25, 41], "print_level": 12, "mdinfo": 12, "ensemble_typ": 12, "parse_cp2k_info": 12, "parse_dft_info": 12, "parse_global_info": 12, "parse_md_info": 12, "parse_hirshfeld_pop_list": 13, "parse_frc_xyz": 14, "frcxyz_fil": 14, "parse_md_en": 14, "ener_fil": 14, "parse_md_stress": 14, "stress_fil": 14, "parse_pos_xyz": 14, "posxyz_fil": 14, "parse_pos_xyz_from_wanni": 14, "wannier_xyz_fiel": 14, "parse_mulliken_pop_list": 15, "parse_stress_tensor_list": 16, "cp2kcell": [17, 38], "cell_param": 17, "ndarrai": 17, "ani": 17, "dtype": [17, 23], "float64": 17, "grid_point": [17, 22], "option": [17, 25, 38, 41], "int64": 17, "grid_spacing_matrix": 17, "copi": [17, 22], "get_cell_angl": 17, "get_cell_length": 17, "get_cell_param": [17, 32], "get_dv": 17, "get_volum": 17, "cp2kcube": 22, "fname": 22, "cube_v": 22, "stc": [22, 38], "msonabl": 22, "document": 22, "as_dict": 22, "return": [22, 23, 38], "data": [22, 23, 37, 38, 39, 40, 43], "dict": [22, 23], "instanc": 22, "get_cel": 22, "get_integr": [22, 38], "get_mav": [22, 38], "l1": [22, 38], "l2": [22, 38], "0": [22, 28, 40], "ncov": [22, 38], "1": [22, 28, 38, 40, 41], "interpol": [22, 38], "axi": [22, 38], "z": [22, 38], "get_pav": [22, 38], "get_stc": [22, 38], "properti": [22, 28], "num_atom": [22, 32], "quick_plot": [22, 38], "read_cel": 22, "static": [22, 25], "read_cube_v": 22, "read_grid_point": 22, "read_gs_matrix": 22, "view_cube_acsii": 22, "mav": [22, 38], "au": 22, "width": [22, 38], "135": 22, "write_cub": [22, 38], "comment": 22, "cp2kcubeold": 22, "cube_file_nam": 22, "timestep": 22, "ps": 22, "grid_siz": 22, "grid_spac": 22, "output_dir": 22, "cp2kcubetraj": 22, "prefix": 22, "square_wave_filt": 22, "x": 22, "l": 22, "cell_z": 22, "cp2kenergyforceformat": 23, "format": [23, 38, 39], "from_labeled_system": 23, "file_nam": [23, 28], "kwarg": [23, 25], "implement": 23, "labeledsystem": [23, 39], "from": [23, 37, 38, 39, 41, 42], "convert": 23, "thi": [23, 35, 38, 42], "paramet": [23, 38], "file": [23, 35, 37, 40], "name": 23, "i": 23, "e": [23, 40], "first": [23, 38], "argument": [23, 41], "keyword": 23, "pass": 23, "method": [23, 38], "system": [23, 38], "whose": 23, "kei": 23, "ar": [23, 38, 41], "defin": 23, "type": [23, 38, 41], "cp2kmdformat": 23, "cp2kmdwannierformat": 23, "get_chemical_symbols_from_cp2kdata": 23, "cp2koutput": [23, 25, 41], "true_symbol": 23, "get_uniq_atom_names_and_typ": 23, "chemical_symbol": 23, "path_prefix": [25, 41], "pars": [25, 39], "cp2k": [25, 39, 40], "check_md_typ": 25, "md_type": 25, "check_run_typ": 25, "get_all_cel": 25, "get_atom_kinds_list": 25, "get_atom_num": 25, "get_atomic_forces_list": 25, "get_atomic_kind": 25, "get_chemical_symbol": [25, 41], "get_chemical_symbols_fak": [25, 41], "get_dft_plus_u_occ": 25, "get_energies_list": [25, 41], "get_force_statu": 25, "get_geo_opt_info": [25, 41], "get_geo_opt_info_plot": [25, 41], "logscal": 25, "true": [25, 28, 38, 40, 41], "dst": [25, 31], "get_global_info": 25, "get_hirshfeld_pop_list": 25, "get_init_atomic_coordin": [25, 41], "get_init_cel": 25, "get_mulliken_pop_list": 25, "get_num_atom": [25, 32], "get_num_fram": 25, "get_run_typ": [25, 41], "get_stress_statu": 25, "get_stress_tensor_list": 25, "get_version_str": [25, 41], "has_forc": 25, "has_stress": 25, "parse_cell_opt": 25, "parse_energy_forc": 25, "parse_geo_opt": 25, "parse_md": 25, "to_ase_atom": 25, "cp2kpdo": [28, 42], "parse_file_nam": 28, "get_do": [28, 42], "sigma": 28, "dos_typ": 28, "total": [28, 38], "get_homo_en": 28, "get_lumo_en": 28, "get_raw_do": 28, "steplen": 28, "occup": 28, "read_dos_el": 28, "read_dos_energi": 28, "read_dos_fermi": 28, "get_true_el": 28, "pdosobj": 28, "replace_dict": 28, "pdos_name_pars": 28, "plot_single_pdo": 28, "ax": [28, 32], "true_el": 28, "spin": 28, "raw": 28, "quick_plot_rk": [28, 42], "pdos_dir": 28, "quick_plot_uk": [28, 42], "style": 28, "get_cum_mean": 30, "arrai": [30, 32], "get_fep_gap": 30, "eta_sub_dir_list": 30, "plot_ti": 30, "fig_nam": 30, "geo_opt_info_plot": 31, "geo_opt_info": 31, "basis_dir_name_convert": 32, "basis_test_sub_dir": 32, "basis_dir_name_ord": 32, "basis_dir_nam": 32, "basis_name_ord": 32, "basis_nam": 32, "get_u_list": 32, "u_test_sub_dir_list": 32, "get_basis_name_list": 32, "basis_test_sub_dir_list": 32, "cp2k_out": 32, "get_cutoff_list": 32, "cutoff_test_sub_dir_list": 32, "get_dos_param": 32, "cp2k_pdo": 32, "get_e_f_": 32, "cp2k_out_nam": 32, "get_err_per_atom": 32, "get_exp_collect_from_yaml": 32, "yaml_fil": 32, "get_matrix_rmse_and_max_err": 32, "matrix_list": 32, "get_min_gap": 32, "u_test_sub_dir": 32, "get_multiple_cell_param": 32, "get_multiple_e_f_": 32, "get_multiple_min_gap": 32, "plot_u_test": 32, "target_dir": 32, "exp_collect": 32, "plot_axes_u": 32, "u_list": 32, "y_list": 32, "idx": 32, "plot_axes_basi": 32, "basis_list": 32, "plot_axes_cutoff": 32, "cutoff_list": 32, "plot_axes_exp": 32, "exp_valu": 32, "plot_basis_test": 32, "plot_cutoff_test": 32, "script": 35, "put": 35, "misc": 35, "function": 35, "here": 35, "create_path": 35, "path": [35, 38], "file_cont": 35, "num": 35, "get_opt_cell_stc": 35, "pos_fil": 35, "get_rdf": 35, "po": [35, 41], "r": 35, "nbin": 35, "frame": [35, 41], "element": [35, 40, 41], "get_rdf_list": 35, "list": [35, 40, 41], "atom": [35, 38, 41], "radial": 35, "length": [35, 38], "bin": 35, "number": [35, 38, 41], "rang": [35, 40], "how": [35, 39], "much": 35, "you": [35, 38, 39, 40, 41], "consid": 35, "pair": 35, "interpolate_splin": 35, "old_x": 35, "old_i": 35, "new_x": 35, "printtbox": 35, "arg": 35, "print": [35, 39, 41], "decor": 35, "few": 35, "charact": 35, "so": 35, "present": 35, "characterist": 35, "string": 35, "us": [35, 38, 39, 40, 41, 42], "postprocess": [35, 43], "set_pbc": 35, "set": [35, 41], "pbc": 35, "packag": [36, 38, 43], "subpackag": 36, "submodul": 36, "modul": [36, 38], "content": 36, "manipul": 37, "modifi": 37, "step": [37, 40], "inform": [37, 41], "extract": 37, "gener": [37, 38], "standard": [37, 41], "test": [37, 38], "input": [37, 41], "directori": [37, 38, 41], "nice": 37, "figur": [37, 38], "interfac": [37, 38], "The": 38, "cp2kdata": [38, 40, 41, 42], "python": [38, 43], "provid": [38, 40, 41], "tool": [38, 40], "work": [38, 39], "quantum": 38, "chemistri": 38, "softwar": 38, "One": [38, 40, 41], "standout": 38, "featur": 38, "its": 38, "abil": 38, "handl": 38, "perform": 38, "variou": 38, "analys": 38, "import": [38, 39, 41, 42], "necessari": 38, "load": 38, "cube_file_path": 38, "slab": 38, "electron_dens": 38, "1_0": 38, "mycub": 38, "user": 38, "can": [38, 40, 41], "easili": [38, 40], "obtain": [38, 41], "follow": [38, 40, 41], "As": 38, "result": [38, 40], "new": 38, "includ": [38, 43], "make": 38, "easi": 38, "ASE": 38, "ase": 38, "exampl": [38, 39, 40, 41], "densiti": 38, "electron": 38, "1152": 38, "0007910850024": 38, "exactli": 38, "an": 38, "integ": 38, "should": 38, "round": 38, "manual": [38, 41], "calcul": 38, "both": 38, "without": [38, 41], "pav_x": 38, "pav": 38, "4096": 38, "point": 38, "allow": 38, "comput": 38, "specifi": [38, 39], "second": 38, "period": 38, "mav_x": 38, "8": [38, 40], "2": 38, "conveni": 38, "wai": 38, "oper": 38, "contain": 38, "within": 38, "them": 38, "extremli": 38, "would": 38, "like": 38, "charg": 38, "differ": 38, "cube1": 38, "cube2": 38, "two": [38, 39], "valu": [38, 40], "ad": 38, "result_cub": 38, "which": [38, 41], "all": 38, "abov": [38, 40], "With": 38, "command": [38, 40], "under": 38, "current": [38, 39], "folder": 38, "creat": 38, "your": [38, 41], "matplotlib": 38, "further": 38, "manupul": 38, "save": 38, "fig": 38, "savefig": 38, "png": 38, "often": 38, "instal": [38, 39], "hpc": 38, "mean": 38, "graphic": 38, "onli": 38, "line": [38, 40], "check": 38, "In": [38, 41], "cube_fil": 38, "adjust": 38, "accord": 38, "80": 38, "For": [38, 39, 41], "other": [38, 40], "see": 38, "help": 38, "usag": 38, "text": 38, "boolean": 38, "switch": 38, "show": [38, 41], "messag": 38, "exit": 38, "against": 38, "those": 38, "siesta": 38, "abinit": 38, "shown": 38, "note": 38, "support": 39, "when": [39, 41], "pip": 39, "automat": 39, "well": 39, "instruct": 39, "pleas": 39, "refer": 39, "offici": 39, "repositori": 39, "deepmodel": 39, "e_f": 39, "energy_forc": 39, "dp": 39, "cp2k_e_f_output": 39, "fmt": 39, "md": 39, "cp2kmd_dir": 39, "cp2kmd_output_nam": 39, "cp2k_output_nam": 39, "These": 39, "demonstr": 39, "simul": 39, "templat": 40, "inp": 40, "cutoff": 40, "gen": 40, "neccessari": 40, "crang": 40, "min": 40, "max": 40, "scf_converg": 40, "whether": 40, "scf": 40, "coord": 40, "xyz": [40, 41], "lsf": 40, "100": 40, "800": 40, "basi": 40, "sr": 40, "short": 40, "fe": 40, "hubbard": 40, "u": 40, "hubbardu": 40, "ur": 40, "orb": 40, "orbit": 40, "d": 40, "onc": 40, "have": 40, "complet": 40, "mention": 40, "To": 40, "code": 41, "depend": 41, "run": 41, "requir": 41, "mai": 41, "more": 41, "than": 41, "ask": 41, "addit": 41, "project": 41, "ener": [41, 42], "frc": 41, "posit": 41, "detail": 41, "subsect": 41, "cp2k_output_fil": 41, "cp2k_output": 41, "where": 41, "brief": 41, "summari": 41, "stdout": 41, "6": 41, "30": 41, "ye": 41, "fe1": 41, "fe2": 41, "o": 41, "numb": 41, "18": 41, "output_energy_forc": 41, "get": 41, "symbol": 41, "output_geo_opt": 41, "potenti": 41, "initi": 41, "geometri": 41, "optim": 41, "quick": 41, "On": 41, "choos": 41, "three": 41, "If": 41, "collect": 41, "full": 41, "specif": 41, "kind": 41, "output_md": 41, "altern": 41, "consequ": 41, "loss": 41, "infrom": 41, "must": 41, "otherwis": 41, "rais": 41, "error": 41, "dosfil": 42, "univers": 42, "alpha_k2": 42, "1_50": 42, "mypdo": 42, "do": 42, "calculation_dir": 42, "uk": 42, "rk": 42, "log": 43}, "objects": {"": [[0, 0, 0, "-", "cp2kdata"]], "cp2kdata": [[1, 0, 0, "-", "block_parser"], [17, 0, 0, "-", "cell"], [18, 0, 0, "-", "cli"], [21, 0, 0, "-", "cube"], [23, 0, 0, "-", "dpdata_plugin"], [24, 0, 0, "-", "matplotlibstyle"], [25, 0, 0, "-", "output"], [26, 0, 0, "-", "paser_func"], [27, 0, 0, "-", "pdos"], [29, 0, 0, "-", "plots"], [34, 0, 0, "-", "units"], [35, 0, 0, "-", "utils"]], "cp2kdata.block_parser": [[2, 0, 0, "-", "atomic_kind"], [3, 0, 0, "-", "cells"], [4, 0, 0, "-", "converge"], [5, 0, 0, "-", "coordinates"], [6, 0, 0, "-", "dft_plus_u"], [7, 0, 0, "-", "energies"], [8, 0, 0, "-", "errors_handle"], [9, 0, 0, "-", "fep"], [10, 0, 0, "-", "forces"], [11, 0, 0, "-", "geo_opt"], [12, 0, 0, "-", "header_info"], [13, 0, 0, "-", "hirshfeld"], [14, 0, 0, "-", "md_xyz"], [15, 0, 0, "-", "mulliken"], [16, 0, 0, "-", "stress"]], "cp2kdata.block_parser.atomic_kind": [[2, 1, 1, "", "parse_atomic_kinds"], [2, 1, 1, "", "parse_num_atomic_kinds"]], "cp2kdata.block_parser.cells": [[3, 1, 1, "", "parse_all_cells"], [3, 1, 1, "", "parse_all_md_cells"]], "cp2kdata.block_parser.converge": [[4, 2, 1, "", "ConvergeInfo"], [4, 1, 1, "", "parse_e_f_converge"], [4, 1, 1, "", "parse_md_converge"]], "cp2kdata.block_parser.converge.ConvergeInfo": [[4, 3, 1, "", "converge"]], "cp2kdata.block_parser.coordinates": [[5, 1, 1, "", "parse_init_atomic_coordinates"]], "cp2kdata.block_parser.dft_plus_u": [[6, 1, 1, "", "parse_dft_plus_u_occ"]], "cp2kdata.block_parser.energies": [[7, 1, 1, "", "parse_energies_list"]], "cp2kdata.block_parser.errors_handle": [[8, 1, 1, "", "parse_errors"]], "cp2kdata.block_parser.fep": [[9, 1, 1, "", "parse_vertical_gap"]], "cp2kdata.block_parser.forces": [[10, 1, 1, "", "parse_atomic_forces_list"]], "cp2kdata.block_parser.geo_opt": [[11, 1, 1, "", "parse_geo_opt_info"]], "cp2kdata.block_parser.header_info": [[12, 2, 1, "", "Cp2kInfo"], [12, 2, 1, "", "DFTInfo"], [12, 2, 1, "", "GlobalInfo"], [12, 2, 1, "", "MDInfo"], [12, 1, 1, "", "parse_cp2k_info"], [12, 1, 1, "", "parse_dft_info"], [12, 1, 1, "", "parse_global_info"], [12, 1, 1, "", "parse_md_info"]], "cp2kdata.block_parser.header_info.Cp2kInfo": [[12, 3, 1, "", "version"]], "cp2kdata.block_parser.header_info.DFTInfo": [[12, 3, 1, "", "ks_type"], [12, 3, 1, "", "multiplicity"]], "cp2kdata.block_parser.header_info.GlobalInfo": [[12, 3, 1, "", "print_level"], [12, 3, 1, "", "run_type"]], "cp2kdata.block_parser.header_info.MDInfo": [[12, 3, 1, "", "ensemble_type"]], "cp2kdata.block_parser.hirshfeld": [[13, 1, 1, "", "parse_hirshfeld_pop_list"]], "cp2kdata.block_parser.md_xyz": [[14, 1, 1, "", "parse_frc_xyz"], [14, 1, 1, "", "parse_md_ener"], [14, 1, 1, "", "parse_md_stress"], [14, 1, 1, "", "parse_pos_xyz"], [14, 1, 1, "", "parse_pos_xyz_from_wannier"]], "cp2kdata.block_parser.mulliken": [[15, 1, 1, "", "parse_mulliken_pop_list"]], "cp2kdata.block_parser.stress": [[16, 1, 1, "", "parse_stress_tensor_list"]], "cp2kdata.cell": [[17, 2, 1, "", "Cp2kCell"]], "cp2kdata.cell.Cp2kCell": [[17, 4, 1, "", "copy"], [17, 4, 1, "", "get_cell_angles"], [17, 4, 1, "", "get_cell_lengths"], [17, 4, 1, "", "get_cell_param"], [17, 4, 1, "", "get_dv"], [17, 4, 1, "", "get_volume"]], "cp2kdata.cube": [[22, 0, 0, "-", "cube"]], "cp2kdata.cube.cube": [[22, 2, 1, "", "Cp2kCube"], [22, 2, 1, "", "Cp2kCubeOld"], [22, 2, 1, "", "Cp2kCubeTraj"], [22, 1, 1, "", "square_wave_filter"]], "cp2kdata.cube.cube.Cp2kCube": [[22, 4, 1, "", "as_dict"], [22, 4, 1, "", "copy"], [22, 4, 1, "", "get_cell"], [22, 4, 1, "", "get_integration"], [22, 4, 1, "", "get_mav"], [22, 4, 1, "", "get_pav"], [22, 4, 1, "", "get_stc"], [22, 5, 1, "", "num_atoms"], [22, 4, 1, "", "quick_plot"], [22, 4, 1, "", "read_cell"], [22, 4, 1, "", "read_cube_vals"], [22, 4, 1, "", "read_grid_point"], [22, 4, 1, "", "read_gs_matrix"], [22, 4, 1, "", "view_cube_acsii"], [22, 4, 1, "", "write_cube"]], "cp2kdata.cube.cube.Cp2kCubeOld": [[22, 4, 1, "", "get_mav"], [22, 4, 1, "", "get_pav"], [22, 4, 1, "", "get_stc"], [22, 5, 1, "", "grid_size"], [22, 5, 1, "", "grid_space"], [22, 5, 1, "", "num_atoms"], [22, 4, 1, "", "quick_plot"], [22, 4, 1, "", "read_cube_vals"]], "cp2kdata.dpdata_plugin": [[23, 2, 1, "", "CP2KEnergyForceFormat"], [23, 2, 1, "", "CP2KMDFormat"], [23, 2, 1, "", "CP2KMDWannierFormat"], [23, 1, 1, "", "get_chemical_symbols_from_cp2kdata"], [23, 1, 1, "", "get_uniq_atom_names_and_types"]], "cp2kdata.dpdata_plugin.CP2KEnergyForceFormat": [[23, 4, 1, "", "from_labeled_system"]], "cp2kdata.dpdata_plugin.CP2KMDFormat": [[23, 4, 1, "", "from_labeled_system"]], "cp2kdata.dpdata_plugin.CP2KMDWannierFormat": [[23, 4, 1, "", "from_labeled_system"]], "cp2kdata.output": [[25, 2, 1, "", "Cp2kOutput"]], "cp2kdata.output.Cp2kOutput": [[25, 4, 1, "", "check_md_type"], [25, 4, 1, "", "check_run_type"], [25, 4, 1, "", "get_all_cells"], [25, 4, 1, "", "get_atom_kinds_list"], [25, 4, 1, "", "get_atom_num"], [25, 4, 1, "", "get_atomic_forces_list"], [25, 4, 1, "", "get_atomic_kind"], [25, 4, 1, "", "get_chemical_symbols"], [25, 4, 1, "", "get_chemical_symbols_fake"], [25, 4, 1, "", "get_dft_plus_u_occ"], [25, 4, 1, "", "get_energies_list"], [25, 4, 1, "", "get_force_status"], [25, 4, 1, "", "get_geo_opt_info"], [25, 4, 1, "", "get_geo_opt_info_plot"], [25, 4, 1, "", "get_global_info"], [25, 4, 1, "", "get_hirshfeld_pop_list"], [25, 4, 1, "", "get_init_atomic_coordinates"], [25, 4, 1, "", "get_init_cell"], [25, 4, 1, "", "get_mulliken_pop_list"], [25, 4, 1, "", "get_num_atoms"], [25, 4, 1, "", "get_num_frames"], [25, 4, 1, "", "get_run_type"], [25, 4, 1, "", "get_stress_status"], [25, 4, 1, "", "get_stress_tensor_list"], [25, 4, 1, "", "get_version_string"], [25, 4, 1, "", "has_force"], [25, 4, 1, "", "has_stress"], [25, 4, 1, "", "parse_cell_opt"], [25, 4, 1, "", "parse_energy_force"], [25, 4, 1, "", "parse_geo_opt"], [25, 4, 1, "", "parse_md"], [25, 4, 1, "", "to_ase_atoms"]], "cp2kdata.pdos": [[28, 0, 0, "-", "pdos"]], "cp2kdata.pdos.pdos": [[28, 2, 1, "", "Cp2kPdos"], [28, 1, 1, "", "get_true_element"], [28, 1, 1, "", "pdos_name_parser"], [28, 1, 1, "", "plot_single_pdos"], [28, 1, 1, "", "quick_plot_rks"], [28, 1, 1, "", "quick_plot_uks"]], "cp2kdata.pdos.pdos.Cp2kPdos": [[28, 4, 1, "", "get_dos"], [28, 4, 1, "", "get_homo_ener"], [28, 4, 1, "", "get_lumo_ener"], [28, 4, 1, "", "get_raw_dos"], [28, 5, 1, "", "occupation"], [28, 4, 1, "", "read_dos_element"], [28, 4, 1, "", "read_dos_energies"], [28, 4, 1, "", "read_dos_fermi"]], "cp2kdata.plots": [[30, 0, 0, "-", "fep_plot"], [31, 0, 0, "-", "geo_opt_plot"], [32, 0, 0, "-", "test_plot"]], "cp2kdata.plots.fep_plot": [[30, 1, 1, "", "get_cum_mean"], [30, 1, 1, "", "get_fep_gaps"], [30, 1, 1, "", "plot_ti"]], "cp2kdata.plots.geo_opt_plot": [[31, 1, 1, "", "geo_opt_info_plot"]], "cp2kdata.plots.test_plot": [[32, 1, 1, "", "basis_dir_name_converter"], [32, 1, 1, "", "basis_dir_name_order"], [32, 1, 1, "", "basis_name_order"], [32, 1, 1, "", "get_U_list"], [32, 1, 1, "", "get_basis_name_list"], [32, 1, 1, "", "get_cell_param"], [32, 1, 1, "", "get_cutoff_list"], [32, 1, 1, "", "get_dos_param"], [32, 1, 1, "", "get_e_f_s"], [32, 1, 1, "", "get_err_per_atom"], [32, 1, 1, "", "get_exp_collect_from_yaml"], [32, 1, 1, "", "get_matrix_rmse_and_max_err"], [32, 1, 1, "", "get_min_gap"], [32, 1, 1, "", "get_multiple_cell_param"], [32, 1, 1, "", "get_multiple_e_f_s"], [32, 1, 1, "", "get_multiple_min_gap"], [32, 1, 1, "", "get_num_atoms"], [32, 1, 1, "", "plot_U_test"], [32, 1, 1, "", "plot_axes_U"], [32, 1, 1, "", "plot_axes_basis"], [32, 1, 1, "", "plot_axes_cutoff"], [32, 1, 1, "", "plot_axes_exp"], [32, 1, 1, "", "plot_basis_test"], [32, 1, 1, "", "plot_cutoff_test"]], "cp2kdata.utils": [[35, 1, 1, "", "create_path"], [35, 1, 1, "", "file_content"], [35, 1, 1, "", "get_opt_cell_stc"], [35, 1, 1, "", "get_rdf"], [35, 1, 1, "", "get_rdf_list"], [35, 1, 1, "", "interpolate_spline"], [35, 1, 1, "", "printtbox"], [35, 1, 1, "", "set_pbc"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:method", "5": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"]}, "titleterms": {"cp2kdata": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 43], "packag": [0, 1, 18, 21, 24, 27, 29], "subpackag": 0, "submodul": [0, 1, 18, 21, 27, 29], "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "content": [0, 1, 18, 21, 24, 27, 29], "block_pars": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "atomic_kind": 2, "cell": [3, 17, 38], "converg": 4, "coordin": 5, "dft_plus_u": 6, "energi": [7, 42], "errors_handl": 8, "fep": 9, "forc": 10, "geo_opt": [11, 41], "header_info": 12, "hirshfeld": 13, "md_xyz": 14, "mulliken": 15, "stress": 16, "cli": [18, 19, 20], "cmd": 19, "func": 20, "cube": [21, 22, 38], "dpdata_plugin": 23, "matplotlibstyl": 24, "output": [25, 40, 41], "paser_func": 26, "pdo": [27, 28, 42], "plot": [29, 30, 31, 32, 38, 40], "fep_plot": 30, "geo_opt_plot": 31, "test_plot": 32, "test_input": 33, "unit": 34, "util": 35, "idea": 37, "list": 37, "TO": 37, "do": 37, "manipul": [38, 41, 42, 43], "cp2k": [38, 41, 42, 43], "file": [38, 41, 42, 43], "get": 38, "start": 38, "retriev": 38, "inform": 38, "structur": 38, "integr": 38, "over": 38, "space": 38, "planar": 38, "averag": 38, "macro": 38, "addit": 38, "subtract": 38, "cp2kcube": 38, "write": 38, "quick": 38, "view": 38, "termin": 38, "benchmark": 38, "comparison": 38, "plugin": 39, "dpdata": 39, "gener": 40, "standard": 40, "test": 40, "input": 40, "log": 41, "basick": 41, "usag": 41, "pars": 41, "energy_forc": 41, "md": 41, "process": 42, "singl": 42, "quickplot": 42, "point": 42, "calcul": 42, "instal": 43, "from": 43, "pip": 43, "sourc": 43}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file