NAMD
|
#include "Settle.h"
#include <string.h>
#include <math.h>
#include "InfoStream.h"
#include <cmath>
#include <iostream>
Go to the source code of this file.
Functions | |
void | settle1init (BigReal pmO, BigReal pmH, BigReal hhdist, BigReal ohdist, BigReal &mO, BigReal &mH, BigReal &mOrmT, BigReal &mHrmT, BigReal &ra, BigReal &rb, BigReal &rc, BigReal &rra) |
initialize cached water properties More... | |
int | settle1 (const Vector *ref, Vector *pos, Vector *vel, BigReal invdt, BigReal mOrmT, BigReal mHrmT, BigReal ra, BigReal rb, BigReal rc, BigReal rra) |
optimized settle1 algorithm, reuses water properties as much as possible More... | |
template<int veclen> | |
void | settle1_SIMD (const Vector *ref, Vector *pos, BigReal mOrmT, BigReal mHrmT, BigReal ra, BigReal rb, BigReal rc, BigReal rra) |
template<int veclen> | |
void | rattlePair (const RattleParam *rattleParam, const BigReal *refx, const BigReal *refy, const BigReal *refz, BigReal *posx, BigReal *posy, BigReal *posz, bool &consFailure) |
static BigReal | det_3by3 (BigReal A[4][4]) |
static void | swap_row (BigReal A[4][4], BigReal b[4], int r1, int r2) |
static void | solve_4by4 (BigReal lambda [4], BigReal A[4][4], BigReal sigma[4]) |
static void | solveMatrix (BigReal lambda [4], BigReal A[4][4], BigReal sigma[4], int icnt) |
static void | solveFullInverse (BigReal A[4][4], BigReal S[4][4], int icnt) |
void | MSHAKEIterate (const int icnt, const RattleParam *rattleParam, const BigReal *refx, const BigReal *refy, const BigReal *refz, BigReal *posx, BigReal *posy, BigReal *posz, const BigReal tol2, const int maxiter, bool &done, bool &consFailure) |
void | LINCS (const int icnt, const RattleParam *rattleParam, const BigReal *refx, const BigReal *refy, const BigReal *refz, BigReal *posx, BigReal *posy, BigReal *posz, const BigReal tol2, const int maxiter, bool &done, bool &consFailure) |
void | rattleN (const int icnt, const RattleParam *rattleParam, const BigReal *refx, const BigReal *refy, const BigReal *refz, BigReal *posx, BigReal *posy, BigReal *posz, const BigReal tol2, const int maxiter, bool &done, bool &consFailure) |
template void | rattlePair< 1 > (const RattleParam *rattleParam, const BigReal *refx, const BigReal *refy, const BigReal *refz, BigReal *posx, BigReal *posy, BigReal *posz, bool &consFailure) |
template void | settle1_SIMD< 2 > (const Vector *ref, Vector *pos, BigReal mOrmT, BigReal mHrmT, BigReal ra, BigReal rb, BigReal rc, BigReal rra) |
template void | settle1_SIMD< 1 > (const Vector *ref, Vector *pos, BigReal mOrmT, BigReal mHrmT, BigReal ra, BigReal rb, BigReal rc, BigReal rra) |
static int | settlev (const Vector *pos, BigReal ma, BigReal mb, Vector *vel, BigReal dt, Tensor *virial) |
int | settle2 (BigReal mO, BigReal mH, const Vector *pos, Vector *vel, BigReal dt, Tensor *virial) |
void | settle1_SOA (const double *__restrict ref_x, const double *__restrict ref_y, const double *__restrict ref_z, double *__restrict pos_x, double *__restrict pos_y, double *__restrict pos_z, int numWaters, BigReal mOrmT, BigReal mHrmT, BigReal ra, BigReal rb, BigReal rc, BigReal rra) |
Definition at line 711 of file Settle.C.
Referenced by solveMatrix().
void LINCS | ( | const int | icnt, |
const RattleParam * | rattleParam, | ||
const BigReal * | refx, | ||
const BigReal * | refy, | ||
const BigReal * | refz, | ||
BigReal * | posx, | ||
BigReal * | posy, | ||
BigReal * | posz, | ||
const BigReal | tol2, | ||
const int | maxiter, | ||
bool & | done, | ||
bool & | consFailure | ||
) |
Definition at line 936 of file Settle.C.
References RattleParam::dsq, RattleParam::ia, RattleParam::ib, RattleParam::rma, RattleParam::rmb, and solveFullInverse().
Referenced by HomePatch::rattle1(), and HomePatch::rattle1_SOA().
void MSHAKEIterate | ( | const int | icnt, |
const RattleParam * | rattleParam, | ||
const BigReal * | refx, | ||
const BigReal * | refy, | ||
const BigReal * | refz, | ||
BigReal * | posx, | ||
BigReal * | posy, | ||
BigReal * | posz, | ||
const BigReal | tol2, | ||
const int | maxiter, | ||
bool & | done, | ||
bool & | consFailure | ||
) |
Definition at line 830 of file Settle.C.
References RattleParam::dsq, RattleParam::ia, RattleParam::ib, RattleParam::rma, RattleParam::rmb, and solveMatrix().
Referenced by HomePatch::rattle1(), and HomePatch::rattle1_SOA().
void rattleN | ( | const int | icnt, |
const RattleParam * | rattleParam, | ||
const BigReal * | refx, | ||
const BigReal * | refy, | ||
const BigReal * | refz, | ||
BigReal * | posx, | ||
BigReal * | posy, | ||
BigReal * | posz, | ||
const BigReal | tol2, | ||
const int | maxiter, | ||
bool & | done, | ||
bool & | consFailure | ||
) |
Definition at line 1359 of file Settle.C.
References RattleParam::dsq, RattleParam::ia, RattleParam::ib, RattleParam::rma, and RattleParam::rmb.
Referenced by HomePatch::rattle1(), and HomePatch::rattle1_SOA().
void rattlePair | ( | const RattleParam * | rattleParam, |
const BigReal * | refx, | ||
const BigReal * | refy, | ||
const BigReal * | refz, | ||
BigReal * | posx, | ||
BigReal * | posy, | ||
BigReal * | posz, | ||
bool & | consFailure | ||
) |
Definition at line 554 of file Settle.C.
References RattleParam::dsq, RattleParam::ia, RattleParam::ib, RattleParam::rma, and RattleParam::rmb.
template void rattlePair< 1 > | ( | const RattleParam * | rattleParam, |
const BigReal * | refx, | ||
const BigReal * | refy, | ||
const BigReal * | refz, | ||
BigReal * | posx, | ||
BigReal * | posy, | ||
BigReal * | posz, | ||
bool & | consFailure | ||
) |
Referenced by HomePatch::rattle1(), and HomePatch::rattle1_SOA().
int settle1 | ( | const Vector * | ref, |
Vector * | pos, | ||
Vector * | vel, | ||
BigReal | invdt, | ||
BigReal | mOrmT, | ||
BigReal | mHrmT, | ||
BigReal | ra, | ||
BigReal | rb, | ||
BigReal | rc, | ||
BigReal | rra | ||
) |
optimized settle1 algorithm, reuses water properties as much as possible
Definition at line 63 of file Settle.C.
References Vector::unit(), Vector::x, Vector::y, and Vector::z.
Referenced by HomePatch::rattle1old().
void settle1_SIMD | ( | const Vector * | ref, |
Vector * | pos, | ||
BigReal | mOrmT, | ||
BigReal | mHrmT, | ||
BigReal | ra, | ||
BigReal | rb, | ||
BigReal | rc, | ||
BigReal | rra | ||
) |
template void settle1_SIMD< 1 > | ( | const Vector * | ref, |
Vector * | pos, | ||
BigReal | mOrmT, | ||
BigReal | mHrmT, | ||
BigReal | ra, | ||
BigReal | rb, | ||
BigReal | rc, | ||
BigReal | rra | ||
) |
Referenced by HomePatch::rattle1().
template void settle1_SIMD< 2 > | ( | const Vector * | ref, |
Vector * | pos, | ||
BigReal | mOrmT, | ||
BigReal | mHrmT, | ||
BigReal | ra, | ||
BigReal | rb, | ||
BigReal | rc, | ||
BigReal | rra | ||
) |
Referenced by HomePatch::rattle1().
void settle1_SOA | ( | const double *__restrict | ref_x, |
const double *__restrict | ref_y, | ||
const double *__restrict | ref_z, | ||
double *__restrict | pos_x, | ||
double *__restrict | pos_y, | ||
double *__restrict | pos_z, | ||
int | numWaters, | ||
BigReal | mOrmT, | ||
BigReal | mHrmT, | ||
BigReal | ra, | ||
BigReal | rb, | ||
BigReal | rc, | ||
BigReal | rra | ||
) |
void settle1init | ( | BigReal | pmO, |
BigReal | pmH, | ||
BigReal | hhdist, | ||
BigReal | ohdist, | ||
BigReal & | mO, | ||
BigReal & | mH, | ||
BigReal & | mOrmT, | ||
BigReal & | mHrmT, | ||
BigReal & | ra, | ||
BigReal & | rb, | ||
BigReal & | rc, | ||
BigReal & | rra | ||
) |
initialize cached water properties
Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.
Definition at line 46 of file Settle.C.
Referenced by HomePatch::buildRattleList(), HomePatch::buildRattleList_SOA(), and HomePatch::rattle1old().
int settle2 | ( | BigReal | mO, |
BigReal | mH, | ||
const Vector * | pos, | ||
Vector * | vel, | ||
BigReal | dt, | ||
Tensor * | virial | ||
) |
Definition at line 1473 of file Settle.C.
References settlev().
Referenced by HomePatch::minimize_rattle2(), and HomePatch::rattle2().
|
static |
Definition at line 1420 of file Settle.C.
References outer(), and Vector::unit().
Referenced by settle2().
Definition at line 816 of file Settle.C.
References solveMatrix().
Referenced by LINCS().
Definition at line 775 of file Settle.C.
References det_3by3(), and solve_4by4().
Referenced by MSHAKEIterate(), and solveFullInverse().