DihedralParametrizer Commandline Usage

Setup

To allow for commandline execution export the Nanomatch directory and source the parameterizer config file:

export NANOMATCH=/path/to/your/nanomatch
export NANOVER=V4 # or your respective release
source $NANOMATCH/$NANOVER/config/DihedralParametrizer2.config

As a side note it is very much advised to export the NANOMATCH directory and NANOVER in your .bashrc file and source the config file during the batch job.

General options

General options of the software and what they mean are explained in the WaNo documentation . As input you require a parametrized molecule.pdb and molecule.spf containing the Dihedral definitions from the Parametrizer.

DihedralParametrizer2 can run with any QuantumPatch engine. We recommend to use Turbomole with BP86 and def2-SVP, if available.

Settings

Standard settings

The available arguments are:

  • -h, --help show this help message and exit
  • -n STEPS, --steps STEPS sampling point per dihedral
  • -pdb PDB_INPUT_FILE, --pdb_input_file PDB_INPUT_FILE molecule pdb file
  • -spf SPF_INPUT_FILE, --spf_input_file SPF_INPUT_FILE molecule spf file
  • -engine [ENGINE], --engine [ENGINE] either DFTB, DFT, DFTB_noscc
  • -relax_engine [RELAX_ENGINE], --relax_engine [RELAX_ENGINE] either DFTB, DFT, DFTB_noscc or FF
  • -func [DFT_FUNCTIONAL], --DFT_functional [DFT_FUNCTIONAL] functional for DFT calculations
  • -basis [DFT_BASIS], --DFT_basis [DFT_BASIS] basis set for DFT calculations
  • -mode [MODE], --mode [MODE] mmc, dftb or cg. mmc does metropolis montecarlo, dftb relaxes all atoms not part of the dihedral, cg all other dihedrals
  • -mmc [MMC_MODE], --mmc_mode [MMC_MODE options: bmc:bias monte carlo , an: annealing, bh: basin hopping, bayes: bayes optimization
  • -scf_iter [SCF_ITER], --scf_iter [SCF_ITER] specify integer to only calculate potential for this dihedral
  • -eval_iter [EVAL_ITER], --eval_iter [EVAL_ITER] forcefield is tested against n random configurations
  • -mc_scale [MC_SCALE], --mc_scale [MC_SCALE] floating point multiplier for number of mc steps
  • -tcde, --temp_config_disorder_estimator acceptance temperature when sampling configurations for disorder estimation
  • -ide, --include_dihedral_energy include dihedral energy when generating training set, if available in spf file

Advanced run

For many organic molecules, especially with correlated dihedrals, the intramolecular energy computed with the customized forcefield from the standard run above show a weak correlation with DFT(B) energies. To improve correlation, you can add the following arguments to the parametrizer:

  • -pp: Fit individual forcefield parameters per atom
  • -st: Advanced functional form of the intramolecular interaction
  • -cb: Include internal Coulomb interaction
  • -do: Optimize forcefield parameters
  • -ccd: Compute estimator for configurational disorder. Warning: Extends computation time quite a bit.
  • -tcat, --train_config_acc_temp Acceptance temperature for sampling of training set

and increase "sct_iter" to 3. Set eval_iter to at least 4 times the number of atoms in your molecule.

Note 0: If you run Deposit with multiple molecules (e.g. an interface morphology or a mixed film), make sure that all dihedral forcefields were generated using the same settings.

Note 1: This extended parametrization is still in the experimental phase. Once validated, we will include this options in the WaNos to enable GUI based usage.

Starting a simulation

A good starting configuration would be (runs on one thread and can be run on the master node):

dihedral_parametrizer2.py -joblist -pdb molecule.pdb -spf molecule.spf -n "18" -engine "Turbomole" -relax_engine "FF" -func "BP86" -basis "def2-SVP" -eval_iter "400"  -mc_scale "1.0"  -scf_iter "4" -pp -do -st -cb -tcat 1000.0

This generates the input files for the next step.

#For V4
$OPENMPI_PATH/bin/mpirun -x OMP_NUM_THREADS --bind-to none --hostfile $HOSTFILE --mca btl self,vader,tcp python -m mpi4py $DIHEDRAL_PARAMETRIZER_PATH/threadfarm/bin/thread_mpi_exe.py joblist
#For V3
$MPI_PATH/bin/mpirun -machinefile $HOSTFILE python -m mpi4py $DIHEDRAL_PARAMETRIZER_PATH/threadfarm/bin/thread_mpi_exe.py joblist

Afterwards the simulation will start on the Hostfile generated by the queueing system. When running locally you can replace --hostfile $HOSTFILE with the number of processors.

Output files

Outputs of DihedralParametrizer are documented in the WaNo documentation .

 

 

The results of the search are