Gromacs  2024.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions | Variables
propagator.cpp File Reference
#include "gmxpre.h"
#include "propagator.h"
#include "gromacs/math/vec.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
#include "gromacs/mdlib/mdatoms.h"
#include "gromacs/mdlib/update.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/mdatom.h"
#include "gromacs/timing/wallcycle.h"
#include "modularsimulator.h"
#include "simulatoralgorithm.h"
#include "statepropagatordata.h"
+ Include dependency graph for propagator.cpp:

Description

Defines the propagator element for the modular simulator.

Author
Pascal Merz pasca.nosp@m.l.me.nosp@m.rz@me.nosp@m..com

Functions

template<NumVelocityScalingValues numStartVelocityScalingValues, ParrinelloRahmanVelocityScaling parrinelloRahmanVelocityScaling, NumVelocityScalingValues numEndVelocityScalingValues>
static void gmx::updateVelocities (int a, real dt, real lambdaStart, real lambdaEnd, const ArrayRef< const RVec > invMassPerDim, rvec *gmx_restrict v, const rvec *gmx_restrict f, const RVec &diagPR, const Matrix3x3 &matrixPR)
 Update velocities.
 
static void gmx::updatePositions (int a, real dt, const rvec *gmx_restrict x, rvec *gmx_restrict xprime, const rvec *gmx_restrict v)
 Update positions.
 
template<NumVelocityScalingValues numStartVelocityScalingValues>
static void gmx::scaleVelocities (int a, real lambda, rvec *gmx_restrict v)
 Scale velocities.
 
template<NumPositionScalingValues numPositionScalingValues>
static void gmx::scalePositions (int a, real lambda, rvec *gmx_restrict x)
 Scale positions.
 
template<ParrinelloRahmanVelocityScaling parrinelloRahmanVelocityScaling>
static bool gmx::canTreatPRScalingMatrixAsDiagonal (const Matrix3x3 &matrixPR)
 Is the PR matrix diagonal?
 
 gmx::scalingStepPR_ (-1)
 
 gmx::mdAtoms_ (mdAtoms)
 
 gmx::wcycle_ (wcycle)
 
template<IntegrationStage integrationStage>
constexpr bool gmx::hasStartVelocityScaling ()
 
template<IntegrationStage integrationStage>
constexpr bool gmx::hasEndVelocityScaling ()
 
template<IntegrationStage integrationStage>
constexpr bool gmx::hasPositionScaling ()
 
template<IntegrationStage integrationStage>
constexpr bool gmx::hasParrinelloRahmanScaling ()
 
template<IntegrationStage integrationStage>
static PropagatorConnection gmx::getConnection (Propagator< integrationStage > gmx_unused *propagator, const PropagatorTag &propagatorTag)
 

Variables

constexpr EnumerationArray
< IntegrationStage, const char * > 
gmx::anonymous_namespace{propagator.cpp}::integrationStepNames