Small Package to Postprocessing Cp2k Output
Project description
CP2KDATA
Python Package to postprocess cp2k data.
including cube file, pdos file, output file
Installation
pip install .
Processing Output File
Basick Usage
from cp2kdata.output import Cp2kOutput
cp2k_output_file = "output_energy_force"
cp2koutput=Cp2kOutput(cp2k_output_file)
# show the brief summary on stdout
print(cp2koutput)
Cp2k Output Summary
--------------------------------------
Cp2k Version : 6.1
Run Type : ENERGY_FORCE
Atom Numbers : 30
Frame Numbers : 1
Force in Output : Yes
Stress in Output : Yes
Element List : Fe1 Fe2 O
Element Numb : 6 6 18
--------------------------------------
Processing ENERGY and FORCE Calculation
from cp2kdata.output import Cp2kOutput
cp2k_output_file = "output_energy_force"
cp2koutput=Cp2kOutput(cp2k_output_file)
# get the version of cp2k
print(cp2koutput.get_version_string())
# get the run type
print(cp2koutput.get_run_type())
# symbols with true element
print(cp2koutput.get_chemical_symbols())
# symbols with your set in input
print(cp2koutput.get_chemical_symbols_fake())
Processing GEOMETRY OPTIMIZATION Calculation
from cp2kdata.output import Cp2kOutput
cp2k_output_file = "output_geo_opt"
cp2koutput=Cp2kOutput(cp2k_output_file)
# get the version of cp2k
print(cp2koutput.get_version_string())
# get the run type
print(cp2koutput.get_run_type())
# get potential energy
print(cp2koutput.get_energies_list())
# get initial coordinates
print(cp2koutput.get_init_atomic_coordinates())
# symbols with true element
print(cp2koutput.get_chemical_symbols())
# symbols with your set in input
print(cp2koutput.get_chemical_symbols_fake())
# get the geometry optimization information
print(cp2koutput.get_geo_opt_info())
# quick plot of geometry optimization information
cp2koutput.get_geo_opt_info_plot()
Error Handing
if cp2k output contains exceed execution time, the Cp2kOutput class won't read it. Instead, to ignore the error, set 'ignore_error=True'
cp2k_output_file = "output_geo_opt"
cp2koutput=Cp2kOutput(cp2k_output_file, ignore_error=True)
Processing Cube File
from cp2kdata.cube import Cp2kCube
cube_file = "xxx.cube"
mycube = Cp2kCube(cube_file)
# get Planar average data without interpolation.
pav_x, pav = mycube.get_pav(axis="z", interpolate=False)
# get Planar average data with interpolation. the number of interpolation point is 4096
pav_x, pav = mycube.get_pav(axis="z", interpolate=True)
l1 = 4.8 # length for first periodicity
l2 = 4.8 # length for second periodicity
ncov = 1 # set 1 if the system is slab-vacuum system.
ncov = 2 # set 2 if the system is interface.
# get Macro average data without interpolation of the original data.
mav_x, mav = mycube.get_mav(l1=l1, l2=l2, ncov=ncov, interpolate=False)
# get Macro average data without interpolation of the original data.
mav_x, mav = mycube.get_mav(l1=l1, l2=l2, ncov=ncov, interpolate=True)
# quick plot
mycube.quick_plot(axis="z", interpolate=False, output_dir="./")
The Planar Average and Macro Average results are benchmarked from MACROAVE used in Siesta and Abinit and shown in the following figures
Processing PDOS File
Processing Single PDOS File
from cp2kdata.pdos import Pdos
dosfile = "Universality-ALPHA_k2-1_50.pdos"
mypdos = Pdos(dosfile)
dos, ener = mypdos.get_dos()
Quickplot of PDOS Files in Single Point Energy Calculation
from cp2kdata.pdos import quick_plot_uks, quick_plot_rks
Calculation_dir = "./"
# if uks calculation use this
quick_plot_uks(Calculation_dir)
# if rks calculation use this
quick_plot_rks(Calculation_dir)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Cp2kData-0.1.1.tar.gz
(5.6 kB
view hashes)