NAMD
Functions | Variables
ComputeFullDirectBase.h File Reference

Go to the source code of this file.

Functions

 for (int i=0;i< n1;++i)
 

Variables

BigRealdp1 = data1
 
BigRealrp1 = results1
 
int j_begin = 0
 
register BigReal electEnergy = 0.
 
register BigReal virial_xx = 0.
 
register BigReal virial_xy = 0.
 
register BigReal virial_xz = 0.
 
register BigReal virial_yy = 0.
 
register BigReal virial_yz = 0.
 
register BigReal virial_zz = 0.
 
virial xx = virial_xx
 
virial xy = virial_xy
 
virial xz = virial_xz
 
virial yx = virial_xy
 
virial yy = virial_yy
 
virial yz = virial_yz
 
virial zx = virial_xz
 
virial zy = virial_yz
 
virial zz = virial_zz
 

Function Documentation

◆ for()

for ( )

Definition at line 34 of file ComputeFullDirectBase.h.

References dp1, electEnergy, j_begin, p_ij_x, p_ij_y, p_ij_z, rp1, virial_xx, virial_xy, virial_xz, virial_yy, virial_yz, and virial_zz.

Referenced by ComputeQMMgr::calcMOPAC(), ComputeQMMgr::calcORCA(), ComputeQMMgr::calcUSR(), GridforceLiteGrid::compute_VdV(), DeviceCUDA::initialize(), Sequencer::langevinPiston(), ComputeMgr::recvComputeConsForceMsg(), and ComputeQMMgr::storeQMRes().

35  {
36  register BigReal p_i_x = *(dp1++);
37  register BigReal p_i_y = *(dp1++);
38  register BigReal p_i_z = *(dp1++);
39  register BigReal kq_i = coulomb * *(dp1++);
40  register BigReal f_i_x = 0.;
41  register BigReal f_i_y = 0.;
42  register BigReal f_i_z = 0.;
43  if ( selfmode )
44  {
45  ++j_begin; data2 += 4; results2 += 3;
46  }
47  register BigReal *dp2 = data2;
48  register BigReal *rp2 = results2;
49  register int n2c = n2;
50  register int j;
51  for( j = j_begin; j<n2c; ++j)
52  {
53  register BigReal p_ij_x = p_i_x - *(dp2++);
54  register BigReal p_ij_y = p_i_y - *(dp2++);
55  register BigReal p_ij_z = p_i_z - *(dp2++);
56 
57 #ifdef FULLDIRECT_PERIODIC
58  Vector p_ij(p_ij_x,p_ij_y,p_ij_z);
59  p_ij -= ( a1*floor(0.5+b1*p_ij) + a2*floor(0.5+b2*p_ij) + a3*floor(0.5+b3*p_ij) );
60  p_ij_x = p_ij.x;
61  p_ij_y = p_ij.y;
62  p_ij_z = p_ij.z;
63 #endif
64 
65  register BigReal r_1;
66  r_1 = 1./sqrt(p_ij_x * p_ij_x + p_ij_y * p_ij_y + p_ij_z * p_ij_z);
67  register BigReal f = *(dp2++) * kq_i * r_1;
68  electEnergy += f;
69  f *= r_1*r_1;
70  virial_xx += f * p_ij_x * p_ij_x;
71  virial_xy += f * p_ij_x * p_ij_y;
72  virial_xz += f * p_ij_x * p_ij_z;
73  p_ij_x *= f;
74  virial_yy += f * p_ij_y * p_ij_y;
75  virial_yz += f * p_ij_y * p_ij_z;
76  p_ij_y *= f;
77  virial_zz += f * p_ij_z * p_ij_z;
78  p_ij_z *= f;
79  f_i_x += p_ij_x;
80  f_i_y += p_ij_y;
81  f_i_z += p_ij_z;
82  *(rp2++) -= p_ij_x;
83  *(rp2++) -= p_ij_y;
84  *(rp2++) -= p_ij_z;
85  }
86  *(rp1++) += f_i_x;
87  *(rp1++) += f_i_y;
88  *(rp1++) += f_i_z;
89  }
register BigReal virial_xy
register BigReal virial_xz
int j_begin
register BigReal virial_yz
Definition: Vector.h:72
register BigReal electEnergy
BigReal * dp1
register const BigReal p_ij_z
register BigReal virial_yy
register BigReal virial_zz
register const BigReal p_ij_x
register BigReal virial_xx
BigReal * rp1
register const BigReal p_ij_y
double BigReal
Definition: common.h:123

Variable Documentation

◆ dp1

BigReal* dp1 = data1

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 14 of file ComputeFullDirectBase.h.

Referenced by for().

◆ electEnergy

return electEnergy = 0.

Definition at line 17 of file ComputeFullDirectBase.h.

Referenced by ComputeFullDirect::doWork(), and for().

◆ j_begin

int j_begin = 0

Definition at line 16 of file ComputeFullDirectBase.h.

Referenced by for().

◆ rp1

BigReal* rp1 = results1

Definition at line 15 of file ComputeFullDirectBase.h.

Referenced by for().

◆ virial_xx

register BigReal virial_xx = 0.

Definition at line 18 of file ComputeFullDirectBase.h.

Referenced by for(), and Patch::forceBoxClosed().

◆ virial_xy

register BigReal virial_xy = 0.

Definition at line 19 of file ComputeFullDirectBase.h.

Referenced by for(), and Patch::forceBoxClosed().

◆ virial_xz

register BigReal virial_xz = 0.

Definition at line 20 of file ComputeFullDirectBase.h.

Referenced by for(), and Patch::forceBoxClosed().

◆ virial_yy

register BigReal virial_yy = 0.

Definition at line 21 of file ComputeFullDirectBase.h.

Referenced by for(), and Patch::forceBoxClosed().

◆ virial_yz

register BigReal virial_yz = 0.

Definition at line 22 of file ComputeFullDirectBase.h.

Referenced by for(), and Patch::forceBoxClosed().

◆ virial_zz

register BigReal virial_zz = 0.

Definition at line 23 of file ComputeFullDirectBase.h.

Referenced by for(), and Patch::forceBoxClosed().

◆ xx

virial xx = virial_xx

Definition at line 91 of file ComputeFullDirectBase.h.

Referenced by Vector::cross(), MatrixFitRMS(), and vec_rotation_matrix().

◆ xy

virial xy = virial_xy

Definition at line 92 of file ComputeFullDirectBase.h.

Referenced by ComputePmeCUDAMgr::recvPencils(), and vec_rotation_matrix().

◆ xz

virial xz = virial_xz

Definition at line 93 of file ComputeFullDirectBase.h.

◆ yx

virial yx = virial_xy

Definition at line 94 of file ComputeFullDirectBase.h.

◆ yy

virial yy = virial_yy

Definition at line 95 of file ComputeFullDirectBase.h.

Referenced by Vector::cross(), and vec_rotation_matrix().

◆ yz

virial yz = virial_yz

Definition at line 96 of file ComputeFullDirectBase.h.

Referenced by vec_rotation_matrix().

◆ zx

virial zx = virial_xz

Definition at line 97 of file ComputeFullDirectBase.h.

Referenced by vec_rotation_matrix().

◆ zy

virial zy = virial_yz

Definition at line 98 of file ComputeFullDirectBase.h.

◆ zz

virial zz = virial_zz

Definition at line 99 of file ComputeFullDirectBase.h.

Referenced by vec_rotation_matrix().