Source code for openmicron.forcefield.functionterms.bond_terms

import pandas as pd
import openmm as mm
from openmm import unit

[docs] def harmonic_bond_term(bond_info,use_pbc=False,force_group=1): """ Harmonic bond term. Parameters ---------- bond_info : pd.DataFrame Information for all bonds. use_pbc : bool, optional Whether to use periodic boundary conditions. If False (default),then pbc would not apply to Harmonic bond force. force_group : int Force group Return ------ bond_force : Force OpenMM Harmonic bond force object """ harmonic_bond_force = mm.HarmonicBondForce() for row in bond_info.itertuples(): atom1 = row.a1 atom2 = row.a2 r0 = row.r0 k_bond = row.k harmonic_bond_force.addBond(atom1,atom2,r0,k_bond) harmonic_bond_force.setUsesPeriodicBoundaryConditions(use_pbc) harmonic_bond_force.setForceGroup(force_group) return harmonic_bond_force