pydynpost is a set of postprocessing scripts for both ab initio multiple spawning (AIMS) and trajectory surface hopping (TSH) methods. The main motivation of this project is to gather all scripts necessary for data analysis of a previously performed nonadiabatic dynamics in one place. It features a high degree of modularity, allowing for inclusion of new functionality by simply adding a reference to it in the aimsmodandmet.py / tshmodandmet.py dictionary.
The following table
Observables / metrics | AIMS | TSH | Task name (*) |
---|---|---|---|
State population | ✔️ | ✔️ | population |
Incoherent internals | ✔️ | ✔️ | internals |
Coherent internals | ✔️ | ❓ | internals |
Molecular population | ✔️ | ✔️ | molpop |
Comput. complexity & NTBF | ✔️ | ❓ | complexity |
Stochastic slections | ✔️ | ❓ | selection |
✔️ = Accesible and implemented
❓ = Unaccesible or trivial
(*) This value is read into the todo
variable. See section Input parameters for more information.
pydynpost assumes that you are in a directory that contains the outputs of the nonadiabatic dynamics calculations you want to analyse.
- For AIMS and TSH (without repetitions):
./${IC}m/
(${IC}
is arbitrary, e.g.geom_
;m
is an index for the initial condition) - For AIMSWISS / SSAIMS and TSH (with repetitons):
./${RNG}n/${IC}m/
, (${RNG}
is arbitrary, e.g.rng
;n
is an index for the run)
From within this working directory the postprocessing script can be launched by typing
pydynpost
after which you enter interactive mode, in which the input parameters are parsed. This is handy for quick-and-dirty calculations, but inefficient when done more than once. For this reason pydynpost can also read the input parameters from the dynpost.inp
file. This input file may look something like this:
dynMethod = tsh
code = ABIN
todo = population
geomDir = geom_
nrStates = 6
nrRNGs = 0
sampleSize = 2
maxTime = 188.19
step = 0.1
Input variable name | Description | Possible options |
---|---|---|
dynMethod |
Dynamics method | tsh or aims |
pckg (only in aims) |
Electronic structure interface | tc or molpro |
code (only in tsh) |
Implementation of TSH | ABIN |
todo |
Observable / metric to be calcuated | see (*) |
sampleSize |
Number of intial conditions (ICs) | int |
nrRNGs |
Number of runs per IC | int |
maxTime |
Maximum simulation time | float |
step |
Time between frames | float |
duplicatesExist |
Ignore certain ICs | y or n |
dupList |
List of ignored ICs | int, int, ... |
Input variable name | Description | Possible options |
---|---|---|
outputDir (only for aims+molpro) |
molpro subdirectory | str |
geomDir |
initial condition directory | str |
RNGDir |
rng seed directory | str |
Input variable name | Description |
---|---|
nrStates |
Number of electronic states |
Input variable name | Description | Possible options |
---|---|---|
internalType |
Internal coordinate type | bl , ba , or td |
internalName |
Name of contributing atoms | a1-a2 (bl) a1-a2-a3 (ba) a1-a2-a3-a4 (td) |
expecType (only in aims) |
Way of calculating internal | incoherent or coherent |
If expecType = coherent
then there are additional parameters determining the range and resolution of the nuclear density along the specified internal:
Input variable name | Description | Possible options |
---|---|---|
expecMin |
Minimum value of internal | float |
expecMax |
Maxmimum value of internal | float |
nrBoxes |
Number of histogram boxes | int |
Input variable name | Description | Possible options |
---|---|---|
internalType |
Internal coordinate type | bl , ba , or td |
dissPartners |
Atoms involved in dissociation | a1-a2 |
thresh |
Dissociation threshold | float |