1) Run scaled_onestg.m |
This takes the “raw” (unscaled) training, test, and validation sets and performs the fit. RMSE is given in correct (unscaled) energy units but fit parameters are in scaled units. |
2) Run rescale_fit_params.py |
This takes scaled fit parameters and returns them to the correct units to use in MCDTH |
3) Run new_genop.py |
This takes the output files and turns them into the MCTDH operator file |
Step 1Ab initio computations[Molpro]
|
Scripts |
Flowchart |
|
input1, input2,input3,submit.pbs |
Geometry optimization↓ |
||
input1d, input2d, |
1D cut points, 2D cut points↓ |
||
range.inp → trans_rand.f↓Random coordinates↓geninput.f↓rantr.geom↓input_rand.mpi → |
Random energy data↓ |
||
[r1,r2,r3,θ1,θ2,ϕ,V]↓en_zero.f → energy↓en_cut.f↓[r1,r2,r3,cosθ1,cosθ2,ϕ,V] → |
(1D+2D+Random)↓ |
||
|
Split in to train, test, and validation sets↓ |
||
Step 2PES fitting[Matlab] |
|
(train, test, and val set)↓ |
|
script.m |
Fit using NN-expnn↓ |
||
|
LW, IW, b, and c files↓ |
||
Step 3MCTDH Calculations[MCTDH] |
HFCO.IW, HFCO.LW, HFCO.b, HFCO.c↓rescale_fitparams.py↓LW, IW, b, c, rd↓new_genop.py↓HONO.op → |
Generate operator file↓ |
|
|
Vibrational frequency and wavefunction |