Tip

All input files can be downloaded: Files.

pifep

The option controls the PI-FEP simulation options.

Options

temp

Value

A real number

Default

298.15

Simulation temperature in Kelvin.

sampling

Value

bisection Bisection beads sampling algorithm.

Default

bisection (must be provided)

Define the beads sampling method. Chin approximation scheme, ca, does not support bisection sampling algorithm.

bisection_level

Value

An integer

Default

6

The number of PI beads under bisection algorithm which is defined as \(2^N\), where \(N\) denotes bisection level. This keyword must be used in conjunction with bisection sampling algorithm.

classical_coord_file

Value

A filename

Default

None

Filename of an .xyz file which stores classical nuclear coordinates.

checkpoint_fn

Value

A filename

Default

chk

Checkpoint filename.

restart

Value

A filename

Default

None

The checkpoint filename from which the simulation resumes.

num_pifep_samples

Value

An integer

Default

100

The number of PI beads samplings to perform for each classical nuclear coordinate.

quantised_atoms_list

Value

List of integers or range of integers

Default

None (meaning all atoms are quantised)

The indices of atoms which are quantised to PI beads.

isotope_indices

Value

List of integers or range of integers

Default

None

The indices of atoms which are specified for isotope exchange.

isotope_num

Value

List of integers

Default

None

The isotope number based on table below (the atomic masses are hardcoded for now)

Isotopes table

Isotope Name

isotope_num

\(^1\mathrm{H}\)

1

\(^2\mathrm{H}\)

2

\(^3\mathrm{H}\)

3

\(^{12}\mathrm{C}\)

1

\(^{13}\mathrm{C}\)

2

\(^{14}\mathrm{C}\)

3

\(^{14}\mathrm{N}\)

1

\(^{15}\mathrm{N}\)

2

\(^{16}\mathrm{O}\)

1

\(^{17}\mathrm{O}\)

2

\(^{18}\mathrm{O}\)

3

write_log

Value

A file name

Default

log.dat

Log filename which stores summarised simulation output.

random_seed

Value

An integers

Default

None

A seed value used to initialize the pseudo-random number generator (PRNG).

rc

Value

Three positive integers

Default

None

The reaction coordinate defined using 3 atoms, i.e. Bondlength difference between 1-2 and 2-3 (currently only 1D CV in bondlength differences is supported)

temp

Value

A real number

Default

298.15

Simulation temperature in Kelvin.

bin_width

Value

A real number

Default

0.0

Bin width for the reaction coordinate in Å.

anchor

Value

A real number

Default

0.0

An optional parameter which sets bin-grid anchor in Å, by default it assumes the transition state is centered at 0.0 Å.

pifep_analysis_files

Value

Two coulumns of filenames

Default

None

The first column specifies the classical reaction coordinate filenames in .xyz, the second column is the corresponding PI-FEP log file.

1./qbics-linux-cpu pifep-analysis.inp

Note that MPI feature is not available for the analysis program.

Theoretical Background

XXXX

Checkpoint and restart

A text-based checkpoint file (named chk by default) is written as the simulation runs, if the simulation terminates due to any unexpected reasons, it can be restarted by restart option with the appropriate checkpoint filename.

Code Execution in Parallel

The PI-FEP module supports both serial and MPI parallel computation, and can be used in conjunction with OpenMP. In the MPI parallel approach, each PI bead is assigned to a dedicated MPI worker process, while OpenMP enables further parallelization within each process by distributing computational tasks across multiple threads. Note that the number of MPI processes should not exceed the number of PI beads + 1. Assuming MPI is properly installed and configured, one can execute the program using the following:

1 # 8 beads PI-FEP simulation executed using 9 MPI processes, 1 master thread is used to distribute tasks
2 mpirun -np 9 qbics-linux-cpu-mpi pifep-rs.inp
3
4 # 8 beads PI-FEP simulations executed using 5 MPI processes, each MPI process utilises 4 OpenMP threads
5 mpirun -np 5 qbics-linux-cpu-mpi pifep-rs.inp -n 4
6
7 # PI-FEP simulation executed using 24 threads via OpenMP
8 qbics-linux-cpu pifep-rs.inp -n 24

For PI-FEP simulations of any kinds of systems, parallel execution via MPI is strongly recommended for optimal performance.