Package ffx.potential.nonbonded.implicit
Class SurfaceAreaRegion
java.lang.Object
edu.rit.pj.ParallelConstruct
edu.rit.pj.ParallelRegion
ffx.potential.nonbonded.implicit.SurfaceAreaRegion
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 Summary
ConstructorsConstructorDescriptionSurfaceAreaRegion
(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. -
Method Summary
Modifier and TypeMethodDescriptionvoid
finish()
Perform finalization actions after parallel execution ends.double[]
getArea()
double
double
getResidueSurfaceArea
(Residue residue) final void
init()
void
run()
Execute parallel code.void
setSurfaceTension
(double surfaceTension) void
start()
Perform initialization actions before parallel execution begins.Methods inherited from class edu.rit.pj.ParallelRegion
barrier, barrier, critical, critical, criticalNonexclusive, criticalNonexclusive, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute
Methods inherited from class edu.rit.pj.ParallelConstruct
getThreadCount, getThreadIndex, isExecutingInParallel, region, team
-
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 thefinish()
method.The
finish()
method may be overridden in a subclass. If not overridden, thefinish()
method does nothing.- Overrides:
finish
in classParallelRegion
-
getEnergy
public double getEnergy() -
getArea
public double[] getArea() -
getResidueSurfaceArea
-
init
public final void init() -
run
public void run()Description copied from class:ParallelRegion
Execute parallel code. All threads of the parallel team call therun()
method concurrently.The
run()
method must be implemented in a subclass.- Specified by:
run
in classParallelRegion
-
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 thestart()
method.The
start()
method may be overridden in a subclass. If not overridden, thestart()
method does nothing.- Overrides:
start
in classParallelRegion
-