8 #define MIN_DEBUG_LEVEL 4    26 { 
int localID,forceID;
    35   for (localID=0; localID<
numAtoms; ++localID) {
    37     if ((forceID=index[p[localID].
id]) != -1) {
    38       Vector sf = scaling * cf[forceID];
    39       forces[localID] += sf;
    42                 p[localID].position, p[localID].transform );
    43       extVirial += 
outer(sf,vpos);
    46   DebugM(4, 
"ComputeConsForce::doForce a extForce " << extForce << 
" extVirial " << extVirial <<
"\n" << 
endi);
    66 { 
int localID,torqueID;
    76   Vector consTorqueAxis, consTorquePivot;  
    80   for (localID=0; localID<
numAtoms; ++localID) {
    82     if ((torqueID=index[p[localID].
id]) != -1) {
    85       consTorqueAxis /= consTorqueAxis.
length();
    86       atomRadius = p[localID].
position - consTorquePivot;
    87       torque = cross(consTorqueAxis, atomRadius) * consTorqueVal * consTorqueGlobVal;
    88       forces[localID] += torque;
    91                 p[localID].position, p[localID].transform );
    92       extVirial += 
outer(torque,vpos);
 
virtual void doForce(FullAtom *, Results *)
 
NAMD_HOST_DEVICE Position reverse_transform(Position data, const Transform &t) const
 
void get_constorque_params(BigReal &v, Vector &a, Vector &p, int atomnum) const
 
NAMD_HOST_DEVICE Tensor outer(const Vector &v1, const Vector &v2)
 
virtual void submit(void)=0
 
#define ADD_TENSOR_OBJECT(R, RL, D)
 
SimParameters * simParameters
 
std::ostream & endi(std::ostream &s)
 
SubmitReduction * willSubmit(int setID, int size=-1)
 
ComputeConsTorque(ComputeID, PatchID)
 
static ReductionMgr * Object(void)
 
Molecule stores the structural information for the system. 
 
virtual void doForce(FullAtom *, Results *)
 
int32 * consTorqueIndexes
 
virtual ~ComputeConsForce()
 
NAMD_HOST_DEVICE BigReal length(void) const
 
ComputeConsForce(ComputeID, PatchID)
 
#define ADD_VECTOR_OBJECT(R, RL, D)
 
virtual ~ComputeConsTorque()