Skip to main content

Create input files for QDng calculations

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pqinput-0.0.400.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

pqinput-0.0.400-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file pqinput-0.0.400.tar.gz.

File metadata

  • Download URL: pqinput-0.0.400.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pqinput-0.0.400.tar.gz
Algorithm Hash digest
SHA256 67a806b197f925af259c0895ae48a517911807331b8a16c91b85564283f7e933
MD5 26ec8932fcbb0b554cd885a2001279fd
BLAKE2b-256 75a593fff28a16650ec14ca4a771391605c0728ce09f6962a96bbc0ed787c1d6

See more details on using hashes here.

File details

Details for the file pqinput-0.0.400-py3-none-any.whl.

File metadata

  • Download URL: pqinput-0.0.400-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pqinput-0.0.400-py3-none-any.whl
Algorithm Hash digest
SHA256 58b544174b72ee46d650c5e605ad307fc67005c1e6ac2e81cbae122f483cd49b
MD5 c8c1963f70672af0559d311b4e8838b4
BLAKE2b-256 834822875e305b6d032df03f3a4d78c42ee1efe8e5a4044d2815edf9251386c6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page