acemd.restraints module#
- class acemd.restraints.IntermolecularRepulsion(sel, sigma, epsilon, sel2=None)#
Bases:
objectExcluded-volume repulsion between distinct molecules of a selection.
Purely repulsive WCA among the selected atoms, with same-molecule pairs excluded, leaving their interaction with everything else untouched. Stops copies of a molecule aggregating: cosolvent probes, ligand copies, ions.
sel2repels two groups from each other instead; the intramolecular exclusion stays on so overlapping selections cannot repel one molecule apart.sigmais deliberately far above any atomic LJ sigma, so each atom becomes a broad soft sphere so molecules repel as blobs. Coarse on purpose.From the fragment-repulsion term in acerelax, itself following openmm/openmm#4853
- ENERGY = '(1-delta(body1-body2))*step(rcut - r) * (4*epsilon*((sigma/r)^12 - (sigma/r)^6) + epsilon); rcut = 2^(1/6) * sigma; sigma=0.5*(sigma1+sigma2); epsilon = sqrt(epsilon1*epsilon2);'#
- WCA_CUTOFF_FACTOR = 1.122462048309373#
- static from_restraint_dict(restraint_dict)#
- static parse_restraint(restraint)#
- setupForce(idx, mol, fbrefmol, timestep, directory, system=None)#
- to_dict()#
- class acemd.restraints.PositionalRestraint(sel, axes='xyz', fb_width=None, fb_center=None, fb_center_offset=None, setpoints=None, legacy=False)#
Bases:
object- static from_restraint_dict(restraint_dict)#
- static from_restraint_str(restraint_str)#
- static parse_restraint(restraint)#
- setupForce(idx, mol, fbrefmol, timestep, directory, system=None)#
- to_dict()#
- acemd.restraints.get_force_str(axes, i, x1, x2, y1, y2, z1, z2, center_offset, distfun)#
- acemd.restraints.parse_setpoint(setpoint, timestep)#
- acemd.restraints.parse_setpoints(_setpoints, timestep)#
- acemd.restraints.setup_extforces(mol, restraints, fbrefcoor, system, timestep, directory)#
- acemd.restraints.update_restraints(simulation, restraints, step, log=False)#