ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/primitives/DirectionalAtom.cpp
(Generate patch)

Comparing trunk/OOPSE-4/src/primitives/DirectionalAtom.cpp (file contents):
Revision 1492 by tim, Fri Sep 24 16:27:58 2004 UTC vs.
Revision 1709 by gezelter, Thu Nov 4 16:22:03 2004 UTC

# Line 69 | Line 69 | void DirectionalAtom::setI( double the_I[3][3] ){  
69   }
70  
71   void DirectionalAtom::setI( double the_I[3][3] ){  
72 +
73 +  int n_linear_coords, i, j;
74    
75    Ixx = the_I[0][0]; Ixy = the_I[0][1]; Ixz = the_I[0][2];
76    Iyx = the_I[1][0]; Iyy = the_I[1][1]; Iyz = the_I[1][2];
77    Izx = the_I[2][0]; Izy = the_I[2][1]; Izz = the_I[2][2];
78 +  
79 +  n_linear_coords = 0;
80 +
81 +  for (i = 0; i<3; i++) {
82 +    if (fabs(the_I[i][i]) < momIntTol) {
83 +      is_linear = true;
84 +      n_linear_coords++;
85 +      linear_axis = i;
86 +    }
87 +  }
88 +  
89 +  if (n_linear_coords > 1) {
90 +    sprintf( painCave.errMsg,
91 +             "DirectionalAtom error.\n"
92 +             "\tOOPSE was told to set more than one axis in this\n"
93 +             "\tDirectionalAtom to a vanishing moment of inertia.\n"
94 +             "\tThis should not be a DirectionalAtom.  Use an Atom.\n"
95 +             );
96 +      painCave.isFatal = 1;
97 +      simError();
98 +  }
99 +
100 +
101   }
102  
103   void DirectionalAtom::setQ( double the_q[4] ){

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines