Class BornGradRegion

java.lang.Object
edu.rit.pj.ParallelConstruct
edu.rit.pj.ParallelRegion
ffx.potential.nonbonded.implicit.BornGradRegion

public class BornGradRegion extends ParallelRegion
Parallel computation of Born radii chain rule terms via the Grycuk method.
Since:
1.0
Author:
Michael J. Schnieders
  • Field Details

    • atoms

      protected Atom[] 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

      public void executeWith(ParallelTeam parallelTeam)
      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 the start() method.

      The start() method may be overridden in a subclass. If not overridden, the start() method does nothing.

      Overrides:
      start in class ParallelRegion
    • run

      public void run()
      Description copied from class: ParallelRegion
      Execute parallel code. All threads of the parallel team call the run() method concurrently.

      The run() method must be implemented in a subclass.

      Specified by:
      run in class ParallelRegion