Gromacs
2024.4
|
#include <cstdio>
#include <memory>
#include "gromacs/math/vectypes.h"
#include "gromacs/topology/idef.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/real.h"
Declares interface to constraint code.
Classes | |
class | gmx::ArrayRefWithPadding< typename > |
Interface to a C array of T (or part of a std container of T), that includes padding that is suitable for the kinds of SIMD operations GROMACS uses. More... | |
class | gmx::ListOfLists< typename > |
A list of lists, optimized for performance. More... | |
class | gmx::Constraints |
Handles constraints. More... | |
Enumerations | |
enum | gmx::ConstraintVariable : int { Positions, Velocities, Derivative, Deriv_FlexCon, Force, ForceDispl } |
Describes supported flavours of constrained updates. | |
enum | gmx::FlexibleConstraintTreatment { gmx::FlexibleConstraintTreatment::Include, gmx::FlexibleConstraintTreatment::Exclude } |
Tells make_at2con how to treat flexible constraints. More... | |
Functions | |
void | gmx::too_many_constraint_warnings (ConstraintAlgorithm eConstrAlg, int warncount) |
Generate a fatal error because of too many LINCS/SETTLE warnings. | |
static bool | gmx::isConstraintFlexible (ArrayRef< const t_iparams > iparams, int iparamsIndex) |
Returns whether constraint with parameter iparamsIndex is a flexible constraint. | |
FlexibleConstraintTreatment | gmx::flexibleConstraintTreatment (bool haveDynamicsIntegrator) |
Returns the flexible constraint treatment depending on whether the integrator is dynamic. | |
ListOfLists< int > | gmx::make_at2con (const gmx_moltype_t &moltype, gmx::ArrayRef< const t_iparams > iparams, FlexibleConstraintTreatment flexibleConstraintTreatment) |
Returns a ListOfLists object to go from atoms to constraints. More... | |
ListOfLists< int > | gmx::make_at2con (int numAtoms, ArrayRef< const InteractionList > ilist, ArrayRef< const t_iparams > iparams, FlexibleConstraintTreatment flexibleConstraintTreatment) |
Returns a ListOfLists object to go from atoms to constraints. More... | |
int | gmx::countFlexibleConstraints (ArrayRef< const InteractionList > ilist, ArrayRef< const t_iparams > iparams) |
Return the number of flexible constraints in the ilist and iparams . | |
const int * | gmx::constr_iatomptr (gmx::ArrayRef< const int > iatom_constr, gmx::ArrayRef< const int > iatom_constrnc, int con) |
Returns the constraint iatoms for a constraint number con which comes from a list where F_CONSTR and F_CONSTRNC constraints are concatenated. | |
void | gmx::do_constrain_first (FILE *log, gmx::Constraints *constr, const t_inputrec *inputrec, int numAtoms, int numHomeAtoms, ArrayRefWithPadding< RVec > x, ArrayRefWithPadding< RVec > v, const matrix box, real lambda) |
Constrain the initial coordinates and velocities. | |
void | gmx::constrain_velocities (gmx::Constraints *constr, bool do_log, bool do_ene, int64_t step, t_state *state, real *dvdlambda, bool computeVirial, tensor constraintsVirial) |
Constrain velocities only. More... | |
void | gmx::constrain_coordinates (gmx::Constraints *constr, bool do_log, bool do_ene, int64_t step, t_state *state, ArrayRefWithPadding< RVec > xp, real *dvdlambda, bool computeVirial, tensor constraintsVirial) |
Constraint coordinates. More... | |
bool | gmx::hasTriangleConstraints (const gmx_mtop_t &mtop, FlexibleConstraintTreatment flexibleConstraintTreatment) |
Returns True if there is at least one triangular constraint. | |