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 TypeMethodDescriptionvoidfinish()Perform finalization actions after parallel execution ends.double[]getArea()doubledoublegetResidueSurfaceArea(Residue residue) final voidinit()voidrun()Execute parallel code.voidsetSurfaceTension(double surfaceTension) voidstart()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, executeMethods 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:ParallelRegionPerform 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:
finishin classParallelRegion
-
getEnergy
public double getEnergy() -
getArea
public double[] getArea() -
getResidueSurfaceArea
-
init
public final void init() -
run
public void run()Description copied from class:ParallelRegionExecute parallel code. All threads of the parallel team call therun()method concurrently.The
run()method must be implemented in a subclass.- Specified by:
runin classParallelRegion
-
setSurfaceTension
public void setSurfaceTension(double surfaceTension) -
start
public void start()Description copied from class:ParallelRegionPerform 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:
startin classParallelRegion
-