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
Fields -
Constructor Summary
ConstructorsConstructorDescriptionBornGradRegion(int nt, boolean neckCorrection, boolean tanhCorrection, boolean perfectHCTScale) Compute the gradient due to changes in Born radii. -
Method Summary
Modifier and TypeMethodDescriptionvoidexecuteWith(ParallelTeam parallelTeam) Execute the InitializationRegion with the passed ParallelTeam.voidinit(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) voidrun()Execute parallel code.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
-
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: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
-
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
-