General bonding potential¶
In exaStamp, the intramolecular bonding interactions are associated to bonds, bending angles, torsion angle and improper torsion angles. The bonding energy \(E^{\text{bonding}}\) is simply:
where \(E^{\text{bond}}\), \(E^{\text{bend}}\), \(E^{\text{torsion}}\) and \(E^{\text{improper}}\) are the energies associated
to all bonds, bending angles, torsion angles and improper torsion angles, respectively.
Each kind of term is computed by its own operator (compute_force_bond, compute_force_bend, compute_force_torsion,
compute_force_improper), and intramolecular pairs (atoms of the same molecule close in the bond graph) by
intramolecular_pair_force. These operators take their parameters from the force field of the system, which comes
from one of three sources:
- an FAtomes file read with
read_fatomes_mol, which holds the force field; - a molecule dump read with
read_dump_molecule, which stores it in its header; - the input file, with
molecule_force_fieldinsetup_system, for systems read without their force field (e.g.read_xyz_molecules).
Force field in the input file: molecule_force_field¶
Example
species:
- CA: { mass: 12.011 g/mol, charge: -0.115 e-, molecule: MOL }
- HA: { mass: 1.008 g/mol, charge: 0.115 e-, molecule: MOL }
molecule_force_field:
rf_self_pairs: true # reaction field between an atom and itself (default true)
long_range_correction: true # long range correction of the pair energy and virial (default true)
potentials_for_bonds:
- type_1
- type_2
potentials_for_angles:
- type_1
potentials_for_torsions:
- type_1
potentials_for_impropers:
- type_1
mol_pair_weights:
CA_CA: { bond: 0.0, bend: 0.0, torsion: 0.5, bond_rf: 0.0, bend_rf: 0.0, torsion_rf: 0.5 }
CA_HA: { bond: 0.0, bend: 0.0, torsion: 0.5, bond_rf: 0.0, bend_rf: 0.0, torsion_rf: 0.5 }
HA_HA: { bond: 0.0, bend: 0.0, torsion: 0.5, bond_rf: 0.0, bend_rf: 0.0, torsion_rf: 0.5 }
potentials_for_pairs:
- { type_a: CA, type_b: CA, potential: { rcut: 10. ang, lj: { epsilon: 0.29 kJ/mol, sigma: 3.55 ang }, rf: { epsilon: 2.0, rc: 12. ang } } }
- { type_a: CA, type_b: HA, potential: { rcut: 10. ang, lj: { epsilon: 0.15 kJ/mol, sigma: 2.98 ang }, rf: { epsilon: 2.0, rc: 12. ang } } }
- { type_a: HA, type_b: HA, potential: { rcut: 10. ang, lj: { epsilon: 0.13 kJ/mol, sigma: 2.42 ang }, rf: { epsilon: 2.0, rc: 12. ang } } }
setup_system:
- domain: { cell_size: 8. ang, periodic: [ true, true, true ], expandable: false }
- read_xyz_molecules: { filename: "system.xyz" }
- molecule_force_field
potentials_for_bonds,potentials_for_angles,potentials_for_torsions,potentials_for_impropers: lists of bonded potentials. Theirtypesare force field types: theffkey of species, the species name by default.mol_pair_weights: weights of intramolecular pairs, for each species pairA_B.bond,bendandtorsionscale the pair potential of atoms 1-2, 1-3 and 1-4 apart in the bond graph;bond_rf,bend_rfandtorsion_rfscale the reaction field. Pairs further apart are computed as intermolecular pairs.potentials_for_pairs: pair potentials (Lennard-Jones or Exp-6, plus reaction field) for every species pair, as in ljexp6rf_lj and ljexp6rf_exp6. Cross pairs are not built from a mixing rule: list them all.
scripts/python/fatomes_to_yaml.py writes this block, and the system in read_xyz_molecules format, from an FAtomes
file and its DONNEES file (mixing rules applied). Both ways of reading the system then give the same forces and
energies.
Potential types¶
where type_1 and type_2 stand for bonded potentials of the types described in the following pages, also accessible in the left panel:
Terms without parameters
Bonds, bending angles, torsions and improper torsions are deduced from the connectivity of the molecules. A term whose atom types match no entry of the corresponding potential list contributes no force and no energy. The number of such terms is reported once, in a warning at the beginning of the simulation. To switch a term off on purpose, give it the no_potential type: these terms are not counted in the warning.
Improper torsions
Improper torsions exist for atoms with exactly three bonded neighbours, the central atom first and its neighbours in connectivity order. When the force field defines no improper potential at all, improper torsions are not counted in the warning above.