Package ffx.potential.nonbonded.pme
Class ReciprocalEnergyRegion
java.lang.Object
edu.rit.pj.ParallelConstruct
edu.rit.pj.ParallelRegion
ffx.potential.nonbonded.pme.ReciprocalEnergyRegion
Parallel evaluation of the PME reciprocal space energy and gradient.
- Since:
- 1.0
- Author:
- Michael J. Schnieders
-
Field Summary
Modifier and TypeFieldDescriptiondouble[][][]
Dimensions of [nsymm][nAtoms][3]double[][][]
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
executeWith
(ParallelTeam parallelTeam) Execute the ReciprocalEnergyRegion with the passed ParallelTeam.void
finish()
Perform finalization actions after parallel execution ends.double
double
double
double
void
init
(Atom[] atoms, Crystal crystal, boolean gradient, boolean lambdaTerm, boolean esvTerm, boolean[] use, double[][][] globalMultipole, double[][][] globalFracMultipole, double[][][] titrationMultipole, double[][][] tautomerMultipole, double[][] cartMultipolePhi, double[][] fracMultipolePhi, Polarization polarization, double[][][] inducedDipole, double[][][] inducedDipoleCR, double[][] cartesianDipolePhi, double[][] cartesianDipolePhiCR, double[][] fracInducedDipolePhi, double[][] fracInducedDipolePhiCR, ReciprocalSpace reciprocalSpace, AlchemicalParameters alchemicalParameters, ExtendedSystem extendedSystem, AtomicDoubleArray3D grad, AtomicDoubleArray3D torque, AtomicDoubleArray3D lambdaGrad, AtomicDoubleArray3D lambdaTorque, SharedDouble shareddEdLambda, SharedDouble sharedd2EdLambda2) 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
Methods inherited from class edu.rit.pj.ParallelConstruct
getThreadCount, getThreadIndex, isExecutingInParallel, region, team
-
Field Details
-
inducedDipole
public double[][][] inducedDipoleDimensions of [nsymm][nAtoms][3] -
inducedDipoleCR
public double[][][] inducedDipoleCR
-
-
Constructor Details
-
ReciprocalEnergyRegion
public ReciprocalEnergyRegion(int nt, double aewald, double electric)
-
-
Method Details
-
executeWith
Execute the ReciprocalEnergyRegion with the passed ParallelTeam.- Parameters:
parallelTeam
- The ParallelTeam instance to execute with.
-
finish
public void finish()Description copied from class:ParallelRegion
Perform finalization actions after parallel execution ends. Only one thread calls thefinish()
method.The
finish()
method may be overridden in a subclass. If not overridden, thefinish()
method does nothing.- Overrides:
finish
in classParallelRegion
-
getInducedDipoleReciprocalEnergy
public double getInducedDipoleReciprocalEnergy() -
getInducedDipoleSelfEnergy
public double getInducedDipoleSelfEnergy() -
getPermanentReciprocalEnergy
public double getPermanentReciprocalEnergy() -
getPermanentSelfEnergy
public double getPermanentSelfEnergy() -
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
- Throws:
Exception
- Therun()
method may throw any exception.Exception
- if any.
-
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
-