Package ffx.potential.nonbonded.implicit
Class BornGradRegion
java.lang.Object
edu.rit.pj.ParallelConstruct
edu.rit.pj.ParallelRegion
ffx.potential.nonbonded.implicit.BornGradRegion
Parallel computation of Born radii chain rule terms via the Grycuk method.
- Since:
- 1.0
- Author:
- Michael J. Schnieders
-
Field Summary
-
Constructor Summary
ConstructorDescriptionBornGradRegion
(int nt, boolean neckCorrection, boolean tanhCorrection, boolean perfectHCTScale) Compute the gradient due to changes in Born radii. -
Method Summary
Modifier and TypeMethodDescriptionvoid
executeWith
(ParallelTeam parallelTeam) Execute the InitializationRegion with the passed ParallelTeam.void
init
(Atom[] atoms, Crystal crystal, double[][][] sXYZ, int[][][] neighborLists, double[] baseRadius, double[] descreenRadius, double[] overlapScale, double[] neckScale, double descreenOffset, double[] unscaledBornIntegral, boolean[] use, double cut2, boolean nativeEnvironmentApproximation, double[] born, AtomicDoubleArray3D grad, AtomicDoubleArray sharedBornGrad) void
run()
Execute parallel code.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
-
atoms
An ordered array of atoms in the system.
-
-
Constructor Details
-
BornGradRegion
public BornGradRegion(int nt, boolean neckCorrection, boolean tanhCorrection, boolean perfectHCTScale) Compute the gradient due to changes in Born radii.- Parameters:
nt
- Number of threads.neckCorrection
- Include a neck correction.tanhCorrection
- Include a tanh correction.perfectHCTScale
- Use "perfect" HCT scale factors.
-
-
Method Details
-
executeWith
Execute the InitializationRegion with the passed ParallelTeam.- Parameters:
parallelTeam
- The ParallelTeam instance to execute with.
-
init
public void init(Atom[] atoms, Crystal crystal, double[][][] sXYZ, int[][][] neighborLists, double[] baseRadius, double[] descreenRadius, double[] overlapScale, double[] neckScale, double descreenOffset, double[] unscaledBornIntegral, boolean[] use, double cut2, boolean nativeEnvironmentApproximation, double[] born, AtomicDoubleArray3D grad, AtomicDoubleArray sharedBornGrad) -
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
-
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
-