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
FieldsModifier and TypeFieldDescriptionstatic final doubleDefault size of a vector to randomly perturb coordinates. -
Constructor Summary
ConstructorsConstructorDescriptionConnollyRegion(Atom[] atoms, double[] baseRadius, int nThreads) ConnollyRegion constructor. -
Method Summary
Modifier and TypeMethodDescriptiondoubledoublegetProbe()doubledoubledouble[][]voidInitialize this VolumeRegion instance for an energy evaluation.voidrun()Execute parallel code.voidExecute the VolumeRegion with a private, single threaded ParallelTeam.voidsetExclude(double exclude) voidsetProbe(double probe) voidsetWiggle(double wiggle) Apply a random perturbation to the atomic coordinates to avoid numerical instabilities for various linear, planar and symmetric structures.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, execute, finishMethods 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: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
-
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: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
-