Class DispersionRegion

java.lang.Object
edu.rit.pj.ParallelConstruct
edu.rit.pj.ParallelRegion
ffx.potential.nonbonded.implicit.DispersionRegion

public class DispersionRegion extends ParallelRegion
Parallel calculation of continuum dispersion energy via pairwise descreening.
Since:
1.0
Author:
Michael J. Schnieders
  • Field Details

    • DEFAULT_DISPERSION_OFFSET

      public static final double DEFAULT_DISPERSION_OFFSET
      The dispersion integral begins for each atom at: Rmin_ij + DISPERSION_OFFSET
      See Also:
    • DEFAULT_SOLUTE_OFFSET

      public static final double DEFAULT_SOLUTE_OFFSET
      Each solute atom blocks dispersion interactions with solvent: Rmin + SOLUTE_OFFSET
      See Also:
    • atoms

      protected Atom[] atoms
      An ordered array of atoms in the system.
  • Constructor Details

    • DispersionRegion

      public DispersionRegion(int nt, Atom[] atoms, ForceField forceField)
      DispersionRegion constructor.
      Parameters:
      nt - Number of threads.
      atoms - Atom array.
      forceField - ForceField in use.
  • Method Details

    • allocate

      public void allocate(Atom[] atoms)
      Allocate storage given the Atom array.
      Parameters:
      atoms - Atom array in use.
    • setDispersionOffest

      public void setDispersionOffest(double dispersionOffest)
      The dispersion integral begins offset from the vdW radius.
      Parameters:
      dispersionOffest - The dispersion integral offset.
    • getDispersionOffset

      public double getDispersionOffset()
      The dispersion integral begins offset from the vdW radius.
      Returns:
      the dispersion integral offset.
    • getDispersionOverlapFactor

      public double getDispersionOverlapFactor()
    • setDispersionOverlapFactor

      public void setDispersionOverlapFactor(double dispersionOverlapFactor)
      Set the dispersion overlap HCT scale factor.
      Parameters:
      dispersionOverlapFactor - The dispersion integral HCT scale factor.
    • getEnergy

      public double getEnergy()
    • getSoluteOffset

      public double getSoluteOffset()
    • setSoluteOffset

      public void setSoluteOffset(double soluteOffset)
    • init

      public void init(Atom[] atoms, Crystal crystal, boolean[] use, int[][][] neighborLists, double[] x, double[] y, double[] z, double cut2, boolean gradient, AtomicDoubleArray3D grad)
      Initialize the DispersionRegion for energy calculation.
      Parameters:
      atoms - Atom array.
      crystal - Crystal for periodic boundary conditions.
      use - Flag to indicate an atom is to be used.
      neighborLists - Neighbor-list for each atom.
      x - X-coordinate array.
      y - Y-coordinate array.
      z - Z-coordinate array.
      cut2 - The cut-off distance squared.
      gradient - If true, compute the gradient.
      grad - Array to store the gradient.
    • run

      public void run()
      Execute parallel code. All threads of the parallel team call the run() method concurrently.

      The run() method must be implemented in a subclass.

      Specified by:
      run in class ParallelRegion
    • start

      public void start()
      Perform initialization actions before parallel execution begins. Only one thread calls the start() method.

      The start() method may be overridden in a subclass. If not overridden, the start() method does nothing.

      Overrides:
      start in class ParallelRegion