NAMD
|
#include "NamdTypes.h"
#include "common.h"
#include "time.h"
#include <math.h>
#include "charm++.h"
#include "qd.h"
#include "SimParameters.h"
#include "HomePatch.h"
#include "AtomMap.h"
#include "Node.h"
#include "PatchMap.inl"
#include "main.h"
#include "ProxyMgr.decl.h"
#include "ProxyMgr.h"
#include "Migration.h"
#include "Molecule.h"
#include "PatchMgr.h"
#include "Sequencer.h"
#include "Broadcasts.h"
#include "LdbCoordinator.h"
#include "ReductionMgr.h"
#include "Sync.h"
#include "Random.h"
#include "Priorities.h"
#include "ComputeNonbondedUtil.h"
#include "ComputeGBIS.inl"
#include "SortAtoms.h"
#include "MigrationCUDAKernel.h"
#include "ComputeQM.h"
#include "ComputeQMMgr.decl.h"
#include "NamdEventsProfiling.h"
#include "Debug.h"
#include <vector>
#include <algorithm>
Go to the source code of this file.
Macros | |
#define | TINY 1.0e-20; |
#define | MAXHGS 10 |
#define | MIN_DEBUG_LEVEL 2 |
#define | MASS_EPSILON (1.0e-35) |
#define | FIX_FOR_WATER |
Typedefs | |
typedef int | HGArrayInt[MAXHGS] |
typedef BigReal | HGArrayBigReal[MAXHGS] |
typedef zVector | HGArrayVector[MAXHGS] |
typedef BigReal | HGMatrixBigReal[MAXHGS][MAXHGS] |
typedef zVector | HGMatrixVector[MAXHGS][MAXHGS] |
Functions | |
int | average (CompAtom *qtilde, const HGArrayVector &q, BigReal *lambda, const int n, const int m, const HGArrayBigReal &imass, const HGArrayBigReal &length2, const HGArrayInt &ial, const HGArrayInt &ibl, const HGArrayVector &refab, const BigReal tolf, const int ntrial) |
void | mollify (CompAtom *qtilde, const HGArrayVector &q0, const BigReal *lambda, HGArrayVector &force, const int n, const int m, const HGArrayBigReal &imass, const HGArrayInt &ial, const HGArrayInt &ibl, const HGArrayVector &refab) |
void | MSHAKE_CUDA (int *, const int size, const RattleParam *rattleParam, BigReal *refx, BigReal *refy, BigReal *refz, BigReal *posx, BigReal *posy, BigReal *posz, const BigReal tol2, const int maxiter, bool &done, bool &consFailure) |
static int | compDistance (const void *a, const void *b) |
void | PatchDataSOA_initialize (PatchDataSOA *p) |
size_t | PatchDataSOA_set_size (PatchDataSOA *p, int natoms, int padding) |
void | PatchDataSOA_set_buffer (PatchDataSOA *p, void *mybuffer) |
void | lubksb (HGMatrixBigReal &a, int n, HGArrayInt &indx, HGArrayBigReal &b) |
void | ludcmp (HGMatrixBigReal &a, int n, HGArrayInt &indx, BigReal *d) |
void | G_q (const HGArrayVector &refab, HGMatrixVector &gqij, const int n, const int m, const HGArrayInt &ial, const HGArrayInt &ibl) |
#define FIX_FOR_WATER |
Redistribute forces from lone pair site onto its host atoms.
Atoms are "labeled" i, j, k, l, where atom i is the lone pair. Positions of atoms are ri, rj, rk, rl. Forces of atoms are fi, fj, fk, fl; updated forces are returned. Accumulate updates to the virial.
The forces on the atoms are updated so that:
If "midpt" is true (nonzero), then use the midpoint of rk and rl (e.g. rk and rl are the hydrogen atoms for water). Otherwise use planes defined by ri,rj,rk and rj,rk,rl.
Having "midpt" set true corresponds in CHARMM to having a negative distance parameter in Lphost.
Use FIX_FOR_WATER below to fix the case that occurs when the lone pair site for water lies on the perpendicular bisector of rk and rl, making the cross(r,s) zero.
Definition at line 2787 of file HomePatch.C.
#define MASS_EPSILON (1.0e-35) |
Definition at line 80 of file HomePatch.C.
#define MAXHGS 10 |
Definition at line 55 of file HomePatch.C.
#define MIN_DEBUG_LEVEL 2 |
Definition at line 56 of file HomePatch.C.
#define TINY 1.0e-20; |
Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.
Definition at line 54 of file HomePatch.C.
Referenced by ludcmp().
Definition at line 66 of file HomePatch.C.
typedef int HGArrayInt[MAXHGS] |
Definition at line 65 of file HomePatch.C.
Definition at line 67 of file HomePatch.C.
Definition at line 68 of file HomePatch.C.
Definition at line 69 of file HomePatch.C.
int average | ( | CompAtom * | qtilde, |
const HGArrayVector & | q, | ||
BigReal * | lambda, | ||
const int | n, | ||
const int | m, | ||
const HGArrayBigReal & | imass, | ||
const HGArrayBigReal & | length2, | ||
const HGArrayInt & | ial, | ||
const HGArrayInt & | ibl, | ||
const HGArrayVector & | refab, | ||
const BigReal | tolf, | ||
const int | ntrial | ||
) |
Definition at line 6464 of file HomePatch.C.
References endi(), G_q(), iINFO(), iout, lubksb(), ludcmp(), and CompAtom::position.
Referenced by PressureProfileReduction::getData(), HomePatch::mollyAverage(), PressureProfileReduction::PressureProfileReduction(), and PressureProfileReduction::~PressureProfileReduction().
|
static |
Definition at line 497 of file HomePatch.C.
Referenced by HomePatch::buildSpanningTree().
|
inline |
Definition at line 6452 of file HomePatch.C.
|
inline |
|
inline |
Definition at line 6402 of file HomePatch.C.
References NAMD_die(), and TINY.
Referenced by average(), and mollify().
void mollify | ( | CompAtom * | qtilde, |
const HGArrayVector & | q0, | ||
const BigReal * | lambda, | ||
HGArrayVector & | force, | ||
const int | n, | ||
const int | m, | ||
const HGArrayBigReal & | imass, | ||
const HGArrayInt & | ial, | ||
const HGArrayInt & | ibl, | ||
const HGArrayVector & | refab | ||
) |
Definition at line 6646 of file HomePatch.C.
References G_q(), lubksb(), ludcmp(), and CompAtom::position.
Referenced by HomePatch::mollyMollify().
void MSHAKE_CUDA | ( | int * | , |
const int | size, | ||
const RattleParam * | rattleParam, | ||
BigReal * | refx, | ||
BigReal * | refy, | ||
BigReal * | refz, | ||
BigReal * | posx, | ||
BigReal * | posy, | ||
BigReal * | posz, | ||
const BigReal | tol2, | ||
const int | maxiter, | ||
bool & | done, | ||
bool & | consFailure | ||
) |
void PatchDataSOA_initialize | ( | PatchDataSOA * | p | ) |
Initialize fundamental parts of PatchDataSOA.
Definition at line 2366 of file HomePatch.C.
References PatchDataSOA::buffer, PatchDataSOA::maxAtoms, PatchDataSOA::numAtoms, and PatchDataSOA::numBytes.
void PatchDataSOA_set_buffer | ( | PatchDataSOA * | p, |
void * | mybuffer | ||
) |
Caller provides the buffer space to be used. Set all pointers relative to this provided address, pointing into the buffer space.
Definition at line 2393 of file HomePatch.C.
References PatchDataSOA::atomFixed, PatchDataSOA::buffer, PatchDataSOA::charge, PatchDataSOA::exclId, PatchDataSOA::f_global_x, PatchDataSOA::f_global_y, PatchDataSOA::f_global_z, PatchDataSOA::f_nbond_x, PatchDataSOA::f_nbond_y, PatchDataSOA::f_nbond_z, PatchDataSOA::f_normal_x, PatchDataSOA::f_normal_y, PatchDataSOA::f_normal_z, PatchDataSOA::f_saved_nbond_x, PatchDataSOA::f_saved_nbond_y, PatchDataSOA::f_saved_nbond_z, PatchDataSOA::f_saved_slow_x, PatchDataSOA::f_saved_slow_y, PatchDataSOA::f_saved_slow_z, PatchDataSOA::f_slow_x, PatchDataSOA::f_slow_y, PatchDataSOA::f_slow_z, PatchDataSOA::fixedPosition_x, PatchDataSOA::fixedPosition_y, PatchDataSOA::fixedPosition_z, PatchDataSOA::gaussrand_x, PatchDataSOA::gaussrand_y, PatchDataSOA::gaussrand_z, PatchDataSOA::groupFixed, PatchDataSOA::hydrogenGroupSize, PatchDataSOA::id, PatchDataSOA::isWater, PatchDataSOA::langevinParam, PatchDataSOA::langScalRandBBK2, PatchDataSOA::langScalVelBBK2, PatchDataSOA::mass, PatchDataSOA::maxAtoms, PatchDataSOA::migrationGroupSize, PatchDataSOA::nonbondedGroupSize, Node::Object(), PatchDataSOA::partition, PatchDataSOA::pos_x, PatchDataSOA::pos_y, PatchDataSOA::pos_z, PatchDataSOA::posNew_x, PatchDataSOA::posNew_y, PatchDataSOA::posNew_z, PatchDataSOA::recipMass, PatchDataSOA::rigidBondLength, PatchDataSOA::sigId, Node::simParameters, simParams, PatchDataSOA::sortOrder, PatchDataSOA::status, PatchDataSOA::transform_i, PatchDataSOA::transform_j, PatchDataSOA::transform_k, PatchDataSOA::unsortOrder, PatchDataSOA::vdwType, PatchDataSOA::vel_x, PatchDataSOA::vel_y, PatchDataSOA::vel_z, PatchDataSOA::velNew_x, PatchDataSOA::velNew_y, and PatchDataSOA::velNew_z.
size_t PatchDataSOA_set_size | ( | PatchDataSOA * | p, |
int | natoms, | ||
int | pad = MAXFACTOR |
||
) |
Set sizes based on number of atoms and padding factor. Sets internally numAtoms, maxAtoms, and numBytes. Returns numBytes.
Definition at line 2373 of file HomePatch.C.
References PatchDataSOA::maxAtoms, PatchDataSOA::numAtoms, PatchDataSOA::numBytes, Node::Object(), Node::simParameters, and simParams.