Class ConnollyRegion
Numerical derivatives of the volume are available.
Literature references: M. L. Connolly, "Analytical Molecular Surface Calculation", Journal of Applied Crystallography, 16, 548-558 (1983)
M. L. Connolly, "Computation of Molecular Volume", Journal of the American Chemical Society, 107, 1118-1124 (1985)
C. E. Kundrot, J. W. Ponder and F. M. Richards, "Algorithms for Calculating Excluded Volume and Its Derivatives as a Function of Molecular Conformation and Their Use in Energy Minimization", Journal of Computational Chemistry, 12, 402-409 (1991)
- Since:
- 1.0
- Author:
- Guowei Qi, Michael J. Schnieders
-
Field Summary
Modifier and TypeFieldDescriptionstatic final double
Default size of a vector to randomly perturb coordinates. -
Constructor Summary
ConstructorDescriptionConnollyRegion
(Atom[] atoms, double[] baseRadius, int nThreads) ConnollyRegion constructor. -
Method Summary
Modifier and TypeMethodDescriptiondouble
double
getProbe()
double
double
double[][]
void
Initialize this VolumeRegion instance for an energy evaluation.void
run()
Execute parallel code.void
Execute the VolumeRegion with a private, single threaded ParallelTeam.void
setExclude
(double exclude) void
setProbe
(double probe) void
setWiggle
(double wiggle) Apply a random perturbation to the atomic coordinates to avoid numerical instabilities for various linear, planar and symmetric structures.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, finish
Methods inherited from class edu.rit.pj.ParallelConstruct
getThreadCount, getThreadIndex, isExecutingInParallel, region, team
-
Field Details
-
DEFAULT_WIGGLE
public static final double DEFAULT_WIGGLEDefault size of a vector to randomly perturb coordinates.- See Also:
-
-
Constructor Details
-
ConnollyRegion
ConnollyRegion constructor.- Parameters:
atoms
- Array of atom instances.baseRadius
- Base radius for each atom (no added probe).nThreads
- Number of threads.
-
-
Method Details
-
getExclude
public double getExclude() -
setExclude
public void setExclude(double exclude) -
getProbe
public double getProbe() -
setProbe
public void setProbe(double probe) -
getSurfaceArea
public double getSurfaceArea() -
getVolume
public double getVolume() -
getVolumeGradient
public double[][] getVolumeGradient() -
init
Initialize this VolumeRegion instance for an energy evaluation.Currently the number of atoms cannot change.
- Parameters:
atoms
- Array of atoms.gradient
- Compute the atomic coordinate gradient.
-
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
-
runVolume
public void runVolume()Execute the VolumeRegion with a private, single threaded ParallelTeam. -
setWiggle
public void setWiggle(double wiggle) Apply a random perturbation to the atomic coordinates to avoid numerical instabilities for various linear, planar and symmetric structures.- Parameters:
wiggle
- Size of the random vector move in Angstroms.
-
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
-