Gromacs
2025.0-dev-20241011-013a99c
|
#include <gromacs/mdtypes/fcdata.h>
Orientation restraining stuff.
Public Member Functions | |
t_oriresdata (FILE *fplog, const gmx_mtop_t &mtop, const t_inputrec &ir, const gmx_multisim_t *ms, t_state *globalState, gmx::LocalAtomSetManager *localAtomSetManager) | |
Constructor. More... | |
~t_oriresdata () | |
Destructor. | |
const gmx::LocalAtomSet & | fitLocalAtomSet () const |
Returns the local atom set for fitting. | |
gmx::ArrayRef< const gmx::RVec > | referenceCoordinates () const |
Returns the list of reference coordinates. | |
gmx::ArrayRef< const real > | fitMasses () const |
Returns the list of masses for fitting. | |
gmx::ArrayRef< gmx::RVec > | xTmp () |
Returns the list of coordinates for temporary use, size matches referenceCoordinates. | |
real | timeAveragingInitFactor () const |
Returns the factor for initializing the time averaging. | |
gmx::ArrayRef< const real > | DTensorsTimeAveragedHistory () const |
Returns a const view on the time averaged D tensor history. | |
void | updateHistory () |
Updates the history with the current values. | |
GMX_DISALLOW_COPY_AND_ASSIGN (t_oriresdata) | |
Public Attributes | |
real | fc |
Force constant for the restraints. | |
real | edt |
Multiplication factor for time averaging. | |
real | edt_1 |
1 - edt | |
real | exp_min_t_tau |
Factor for slowly switching on the force. | |
const int | numRestraints |
The number of orientation restraints. | |
int | numExperiments |
The number of experiments. | |
int | typeMin |
The minimum iparam type index for restraints. | |
matrix | rotationMatrix |
Rotation matrix to rotate to the reference coordinates. | |
tensor * | orderTensors = nullptr |
Array of order tensors, one for each experiment. | |
rvec5 * | DTensors = nullptr |
The order tensor D for all restraints. | |
rvec5 * | DTensorsEnsembleAv = nullptr |
The ensemble averaged D for all restraints. | |
rvec5 * | DTensorsTimeAndEnsembleAv = nullptr |
The time and ensemble averaged D restraints. | |
std::vector< real > | orientations |
The calculated instantaneous orientations. | |
gmx::ArrayRef< real > | orientationsEnsembleAv |
The calculated emsemble averaged orientations. | |
std::vector< real > | orientationsEnsembleAvBuffer |
Buffer for the calculated emsemble averaged orientations, only used with ensemble averaging. | |
gmx::ArrayRef< real > | orientationsTimeAndEnsembleAv |
The calculated time and ensemble averaged orientations. | |
std::vector< real > | orientationsTimeAndEnsembleAvBuffer |
The weighted (using kfac) RMS deviation. | |
real | rmsdev |
Buffer for the weighted (using kfac) RMS deviation, only used with time averaging. | |
std::vector< OriresMatEq > | tmpEq |
An temporary array of matrix + rhs. | |
std::vector< real > | eigenOutput |
Eigenvalues/vectors, for output only (numExperiments x 12) | |
std::array< gmx::DVec, DIM > | M |
Tensor to diagonalize. | |
std::array< double, DIM > | eig_diag |
Eigenvalues. | |
std::array< gmx::DVec, DIM > | v |
Eigenvectors. | |
Static Public Attributes | |
static constexpr int | c_numEigenRealsPerExperiment = 12 |
The number of eigenvalues + eigenvectors per experiment. | |
t_oriresdata::t_oriresdata | ( | FILE * | fplog, |
const gmx_mtop_t & | mtop, | ||
const t_inputrec & | ir, | ||
const gmx_multisim_t * | ms, | ||
t_state * | globalState, | ||
gmx::LocalAtomSetManager * | localAtomSetManager | ||
) |
Constructor.
[in] | fplog | Log file, can be nullptr |
[in] | mtop | The global topology |
[in] | ir | The input record |
[in] | ms | The multisim communicator, pass nullptr to avoid ensemble averaging |
[in] | globalState | The global state, references are set to members |
[in,out] | localAtomSetManager | The local atom set manager |
InvalidInputError | when there is domain decomposition, fewer than 5 restraints, periodic molecules or more than 1 molecule for a moleculetype with restraints. |