--- trunk/OOPSE/libmdtools/Atom.cpp 2004/01/30 15:01:09 999 +++ trunk/OOPSE/libmdtools/Atom.cpp 2004/04/12 20:32:20 1097 @@ -6,15 +6,12 @@ Atom::Atom(int theIndex, SimState* theConfig) { #include "Atom.hpp" Atom::Atom(int theIndex, SimState* theConfig) { - + + objType = OT_ATOM; myConfig = theConfig; hasCoords = false; - c_n_hyd = 0; has_dipole = 0; - is_VDW = 0; - is_LJ = 0; - is_charged = 0; index = theIndex; offset = 0; @@ -43,7 +40,6 @@ void Atom::setCoords(void){ if( myConfig->isAllocated() ){ - myConfig->getAtomPointers( index, &pos, &vel, @@ -60,150 +56,11 @@ void Atom::setCoords(void){ painCave.isFatal = 1; simError(); } - + hasCoords = true; - + } -// void Atom::addAtoms(int nAdded, double* Apos, double* Avel, double* Afrc, -// double* Atrq, double* AAmat, double* Amu, -// double* Aul) { - -// int nNew = nElements+nAdded; - -// double* new_pos = new double[nNew*3]; -// double* new_vel = new double[nNew*3]; -// double* new_frc = new double[nNew*3]; -// double* new_trq = new double[nNew*3]; -// double* new_Amat = new double[nNew*9]; -// double* new_mu = new double[nNew]; -// double* new_ul = new double[nNew*3]; -// int i, j; - -// for (i = 0; i < 3*nElements; i++) { -// new_pos[i] = pos[i]; -// new_vel[i] = vel[i]; -// new_frc[i] = frc[i]; -// new_trq[i] = trq[i]; -// new_ul[i] = ul[i]; -// } - -// for(i = 0; i < 3*nAdded; i++) { -// j = i + 3*nElements; -// new_pos[j] = Apos[i]; -// new_vel[j] = Avel[i]; -// new_frc[j] = Afrc[i]; -// new_trq[j] = Atrq[i]; -// new_ul[j] = Aul[i]; -// } - -// for (i = 0; i < 9*nElements; i++) { -// new_Amat[i] = Amat[i]; -// } - -// for(i = 0; i < 9*nAdded; i++) { -// j = i + 9*nElements; -// new_Amat[j] = AAmat[i]; -// } - -// for (i = 0; i < nElements; i++) { -// new_mu[i] = mu[i]; -// } - -// for(i = 0; i < nAdded; i++) { -// j = i + nElements; -// new_mu[j] = Amu[i]; -// } - -// delete[] pos; -// delete[] vel; -// delete[] frc; -// delete[] trq; -// delete[] Amat; -// delete[] mu; - -// pos = new_pos; -// vel = new_vel; -// frc = new_frc; -// trq = new_trq; -// ul = new_ul; -// Amat = new_Amat; -// mu = new_mu; - -// nElements = nNew; -// } - -// void Atom::deleteAtom(int theIndex) { -// deleteRange(theIndex, theIndex); -// } - -// void Atom::deleteRange(int startIndex, int stopIndex) { - -// int nNew = nElements-(stopIndex-startIndex+1); - -// double* new_pos = new double[nNew*3]; -// double* new_vel = new double[nNew*3]; -// double* new_frc = new double[nNew*3]; -// double* new_trq = new double[nNew*3]; -// double* new_Amat = new double[nNew*9]; -// double* new_mu = new double[nNew]; -// double* new_ul = new double[nNew*3]; -// int i, j; - -// for (i = 0; i < 3*startIndex; i++) { -// new_pos[i] = pos[i]; -// new_vel[i] = vel[i]; -// new_frc[i] = frc[i]; -// new_trq[i] = trq[i]; -// new_ul[i] = ul[i]; -// } - -// for(i = 3*(stopIndex + 1); i < 3*nElements; i++) { -// j = i - 3*startIndex + 1; -// new_pos[j] = pos[i]; -// new_vel[j] = vel[i]; -// new_frc[j] = frc[i]; -// new_trq[j] = trq[i]; -// new_ul[j] = ul[i]; -// } - -// for (i = 0; i < 9*startIndex; i++) { -// new_Amat[i] = Amat[i]; -// } - -// for(i = 9*(stopIndex + 1); i < 9*nElements; i++) { -// j = i - 9*startIndex + 1; -// new_Amat[j] = Amat[i]; -// } - -// for (i = 0; i < startIndex; i++) { -// new_mu[i] = mu[i]; -// } - -// for(i = (stopIndex+1); i < nElements; i++) { -// j = i - startIndex + 1; -// new_mu[j] = mu[i]; -// } - -// delete[] pos; -// delete[] vel; -// delete[] frc; -// delete[] trq; -// delete[] Amat; -// delete[] mu; - -// pos = new_pos; -// vel = new_vel; -// frc = new_frc; -// trq = new_trq; -// ul = new_ul; -// Amat = new_Amat; -// mu = new_mu; - -// nElements = nNew; -// } - - void Atom::getPos( double theP[3] ){ if( hasCoords ){ @@ -222,7 +79,7 @@ void Atom::setPos( double theP[3] ){ } void Atom::setPos( double theP[3] ){ - + if( hasCoords ){ pos[offsetX] = theP[0]; pos[offsetY] = theP[1]; @@ -308,9 +165,8 @@ void GeneralAtom::zeroForces( void ){ } -void GeneralAtom::zeroForces( void ){ +void Atom::zeroForces( void ){ - if( hasCoords ){ frc[offsetX] = 0.0; frc[offsetY] = 0.0;