Additional functions for python scripts
Project description
Python package to generate and modify QDng calculations inputs in xml format
Module:
inpxml.py
: InpXML Class with methods to write and edit xml structures designed as input files for quantum chemistry calculations on QDng package. Requires lxml.
Example:
In:
Tf = 25 # [fs]
dt = 0.25 # [fs]
steps = Tf*41.34/dt
Nfiles = 5e2
wcycle = int(steps/Nfiles)
mass = 1764.30
propa_params = {'dt': dt, 'steps': int(steps), 'wcycle': wcycle,
'dir': 'example_directory/', 'nfile': 'norm'}
T00 = {'head':'T', 'name':'Sum', 'mass':mass, 'key':'T'}
V00 = {'head':'V', 'name':'Sum', 'file':'MgH/pots/pot_Sig_0'}
m00 = {'head':'m0', 'name':'Sum', 'Opes':[T00, V00]}
T11 = {'head':'T', 'ref':'T'}
V11 = {'head':'V', 'name':'Sum', 'file':'MgH/pots/pot_Sig_1'}
m11 = {'head':'m1', 'name':'Sum', 'Opes':[T11, V11]}
m22 = {'head':'m2', 'name':'Sum', 'Opes':[T11, V11]}
m10 = {'head':'m10', 'name':'GridDipole', 'file':'mu', 'laser':'Et', 'Opes':[]}
H_params = {'type':'Multistate', 'Mels':[m00, m11, m10, m22]}
Hsum = {'type':'Sum', 'Opes':[T00, V00, T00]}
wf, ef, vib = [1, ], ['Sig0',], [1, ] # args['wf'], args['ef'], , args['vib'] #
WF_params = {'type':'Multistate', 'states':'1',
'file':["MgH/efs_{}/ef_{}".format(ef[i], vib[i]) for i in range(len(ef))],
'index':[wf[i] for i in range(len(wf))], 'normalize':True}
filter_opes = [{'expeconly':{'name':'Multistate', 'states':WF_params['states'], 'unity':'False', 'header':"mu{}".format(ind)},
'm{}'.format(ind):{'name':'GridPotential', 'file':'MgH/mu/mu_Sig0Sig1'}}
for ind in [2.1,] ]
#%%
# Initialize
prop = InpXML()
prop.program('propa', propa_params, WF_params)
prop.propagation('Cheby', H_params)
prop.filter('filterpost', filter_opes)
prop.show
# Editing
prop.hamilt = 'name', 'something'
prop.hamilt = 'm0.0/T', 'name', 'something_new'
prop.show
# Writing to file
# prop.writexml(filename='filename', txt=True)
Out:
<qdng>
<propa dt="1" steps="1000" dir="efs_g" Nef="20" conv="1e-11">
<propagator name="Cheby">
<hamiltonian name="Multistate">
<m0.0 name="Sum">
<T name="GridNablaSq" mass="2000" key="T"/>
<V name="GridPotential" file="pot_Vg"/>
</m0.0>
<m1.1 name="Sum">
<T ref="T"/>
<V name="GridPotential" file="pot_Vg"/>
</m1.1>
<m1.0 name="GridDipole" file="mu" laser="Et"/>
<m2.2 name="Sum">
<T ref="T"/>
<V name="GridPotential" file="pot_Vg"/>
</m2.2>
</hamiltonian>
</propagator>
<wf name="Multistate" states="3" normalize="true">
<wf1 file="MgH/efs_Sig0/ef_1"/>
</wf>
<filterpost>
<expeconly name="Multistate" states="1" unity="False" header="mu2.1">
<m2.1 name="GridPotential" file="MgH/mu/mu_Sig0Sig1"/>
</expeconly>
</filterpost>
</propa>
</qdng>
<qdng>
<propa dt="1" steps="1000" dir="efs_g" Nef="20" conv="1e-11">
<propagator name="Cheby">
<hamiltonian name="something">
<m0.0 name="Sum">
<T name="something_new" mass="2000" key="T"/>
.
.
.
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
addfunctions-0.0.1.tar.gz
(3.5 kB
view details)
Built Distribution
File details
Details for the file addfunctions-0.0.1.tar.gz
.
File metadata
- Download URL: addfunctions-0.0.1.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01f376bab64a2aa44c09b277c34170d9db1231ab52bf3b92ac60b2e9e305dc3c |
|
MD5 | 40e4014fdc1b191bb9e3344133d76af1 |
|
BLAKE2b-256 | 91e18847642dc98e8146626797f4e394895f046d8cb19c1fe6f765bfa687f723 |
File details
Details for the file addfunctions-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: addfunctions-0.0.1-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03f70e37c0eb9dc92e8b4f06336b502f31673160b936746cd116ff63e9545f93 |
|
MD5 | 772f283f66c4e9520154a386e4e4092d |
|
BLAKE2b-256 | 14eccc2250a26266fd435b1d8cf3de4498ce18924916ea3a96cde3181912cb2d |