espressopp.integrator.FreeEnergyCompensation

Free Energy Compensation used in Hamiltonian Adaptive Resolution Simulations (H-AdResS) or Path Integral Adaptive Resolution Simulations (PI-AdResS). This works for spherical or slab adaptive resolution geometries. However, it only works for fixed, non-moving atomistic region (otherwise, H-AdResS is not properly defined).

Example:

>>> fec = espressopp.integrator.FreeEnergyCompensation(system, center=[Lx/2, Ly/2, Lz/2])
>>> # set up the fec module with the center in the center of the box
>>> fec.addForce(itype=3,filename="tablefec.xvg",type=typeCG)
>>> # set up the actual force
>>> integrator.addExtension(fec)
>>> # add to previously defined integrator
espressopp.integrator.FreeEnergyCompensation(system, center, sphereAdr, ntrotter, slow)
Parameters:
  • system (shared_ptr<System>) – system object
  • center (list of reals) – (default: [], corresponds to (0.0, 0.0, 0.0) position) center of high resolution region
  • sphereAdr (bool) – (default: False) Spherical AdResS region (True) vs. slab geometry with resolution change in x-direction (False)
  • ntrotter (int) – (default: 1) Trotter number when used in Path Integral AdResS. Default leads to normal non-PI-AdResS behaviour.
  • slow (bool) – (default: False) When used with RESPA Velocity Verlet, this flag decides whether the Free Energy Compensation is applied together with the slow, less frequently updated forces (slow=True) or with the fast, more frequently updated (slow=False) forces.
espressopp.integrator.FreeEnergyCompensation.addForce(itype, filename, type)
Parameters:
  • itype (int) – interpolation type 1: linear, 2: Akima, 3: Cubic
  • filename (string) – filename for TD force file
  • type (int) – particle type on which the TD force needs to be applied
espressopp.integrator.FreeEnergyCompensation.computeCompEnergy()
Return type:real