--- trunk/OOPSE/libmdtools/OOPSEMinimizerBase.cpp 2004/02/03 20:47:10 1011 +++ trunk/OOPSE/libmdtools/OOPSEMinimizerBase.cpp 2004/02/06 18:58:06 1031 @@ -3,10 +3,13 @@ OOPSEMinimizerBase::OOPSEMinimizerBase(SimInfo* theInf OOPSEMinimizerBase::OOPSEMinimizerBase(SimInfo* theInfo, ForceFields* the_ff) : RealIntegrator( theInfo, the_ff ){ tStats = new Thermo(info); + dumpOut = new DumpWriter(info); + calcDim(); } OOPSEMinimizerBase::~OOPSEMinimizerBase(){ delete tStats; + delete dumpOut; } /** \ No newline at end of file @@ -95,13 +98,15 @@ void OOPSEMinimizerBase::getOptCoor(vector& x) /** * */ -void OOPSEMinimizerBase::getOptCoor(vector& x){ +vector OOPSEMinimizerBase::getOptCoor(){ Atom** atoms; DirectionalAtom* dAtom; int index; double position[3]; double eulerAngle[3]; + vector x; + x.resize(getDim()); atoms = this->atoms; index = 0; \ No newline at end of file @@ -124,6 +129,28 @@ void OOPSEMinimizerBase::getOptCoor(vector& x) } + return x; + } +void OOPSEMinimizerBase::calcDim(){ + Atom** atoms; + DirectionalAtom* dAtom; + int dim; + dim = 0; + + atoms = this->atoms; + + for(int i = 0; i < nAtoms; i++){ + dim += 3; + if (atoms[i]->isDirectional()) + dim += 3; + } + +} + +void OOPSEMinimizerBase::output(vector& x, int iteration){ + setOptCoor(x); + dumpOut->writeDump(iteration); +} \ No newline at end of file