Class SurfaceAreaRegion

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

public class SurfaceAreaRegion extends ParallelRegion
SurfaceAreaRegion performs an analytical computation of the weighted solvent accessible surface area of each atom and the first derivatives of the area with respect to Cartesian coordinates

Literature references:

T. J. Richmond, "Solvent Accessible Surface Area and Excluded Volume in Proteins", Journal of Molecular Biology, 178, 63-89 (1984)

L. Wesson and D. Eisenberg, "Atomic Solvation Parameters Applied to Molecular Dynamics of Proteins in Solution", Protein Science, 1, 227-235 (1992)

This was ported from the TINKER "surface.f" code.

Since:
1.0
Author:
Michael J. Schnieders
  • Constructor Details

    • SurfaceAreaRegion

      public SurfaceAreaRegion(Atom[] atoms, double[] x, double[] y, double[] z, boolean[] use, int[][][] neighborLists, AtomicDoubleArray3D grad, int nt, double probe, double surfaceTension)
      This class is a port of the Cavitation code in TINKER.

      GK implicit solvents are moving to use Gaussian based definitions of surface area for efficiency.

      Parameters:
      atoms - Atom array.
      x - X-coordinate array.
      y - Y-coordinate array.
      z - Z-coordinate array.
      use - Specifies if the atom is used in the potential.
      neighborLists - Neighbor-list array.
      grad - Gradient array.
      nt - Number of threads.
      probe - Solvent probe radius.
      surfaceTension - Surface tension.
  • Method Details

    • finish

      public void finish()
      Description copied from class: ParallelRegion
      Perform finalization actions after parallel execution ends. Only one thread calls the finish() method.

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

      Overrides:
      finish in class ParallelRegion
    • getEnergy

      public double getEnergy()
    • getArea

      public double[] getArea()
    • getResidueSurfaceArea

      public double getResidueSurfaceArea(Residue residue)
    • init

      public final void init()
    • run

      public void run()
      Description copied from class: ParallelRegion
      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
    • setSurfaceTension

      public void setSurfaceTension(double surfaceTension)
    • start

      public void start()
      Description copied from class: ParallelRegion
      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