Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/config.cpp

    rd74077 r952f38  
    1616#include "ConfigFileBuffer.hpp"
    1717#include "element.hpp"
    18 #include "helpers.hpp"
    19 #include "info.hpp"
     18#include "Helpers/helpers.hpp"
     19#include "Helpers/Info.hpp"
    2020#include "lists.hpp"
    21 #include "verbose.hpp"
    22 #include "log.hpp"
     21#include "Helpers/Verbose.hpp"
     22#include "Helpers/Log.hpp"
    2323#include "molecule.hpp"
    2424#include "molecule.hpp"
     
    2626#include "ThermoStatContainer.hpp"
    2727#include "World.hpp"
    28 #include "Matrix.hpp"
     28#include "LinearAlgebra/Matrix.hpp"
    2929#include "Box.hpp"
    3030
     
    439439    map<int, atom *> LinearList;
    440440    atom *neues = NULL;
    441     Vector position;
    442441    if (!FastParsing) {
    443442      // parse in trajectories
     
    453452              AtomList[i][j] = neues;
    454453              LinearList[ FileBuffer->LineMapping[FileBuffer->CurrentLine] ] = neues;
    455               neues->setType(elementhash[i]); // find element type
     454              neues->type = elementhash[i]; // find element type
    456455            } else
    457456              neues = AtomList[i][j];
    458457            status = (status &&
    459                     ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &position[0], 1, (repetition == 0) ? critical : optional) &&
    460                     ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &position[1], 1, (repetition == 0) ? critical : optional) &&
    461                     ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &position[2], 1, (repetition == 0) ? critical : optional) &&
     458                    ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &neues->x[0], 1, (repetition == 0) ? critical : optional) &&
     459                    ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &neues->x[1], 1, (repetition == 0) ? critical : optional) &&
     460                    ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &neues->x[2], 1, (repetition == 0) ? critical : optional) &&
    462461                    ParseForParameter(verbose,FileBuffer, keyword, 0, 4, 1, int_type, &neues->FixedIon, 1, (repetition == 0) ? critical : optional));
    463             if (!status)
    464               break;
    465             neues ->setPosition(position);
     462            if (!status) break;
    466463
    467464            // check size of vectors
     
    475472            // put into trajectories list
    476473            for (int d=0;d<NDIM;d++)
    477               neues->Trajectory.R.at(repetition)[d] = neues->at(d);
     474              neues->Trajectory.R.at(repetition)[d] = neues->x[d];
    478475
    479476            // parse velocities if present
    480             if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->AtomicVelocity[0], 1,optional))
    481               neues->AtomicVelocity[0] = 0.;
    482             if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->AtomicVelocity[1], 1,optional))
    483               neues->AtomicVelocity[1] = 0.;
    484             if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->AtomicVelocity[2], 1,optional))
    485               neues->AtomicVelocity[2] = 0.;
     477            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->v[0], 1,optional))
     478              neues->v[0] = 0.;
     479            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->v[1], 1,optional))
     480              neues->v[1] = 0.;
     481            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->v[2], 1,optional))
     482              neues->v[2] = 0.;
    486483            for (int d=0;d<NDIM;d++)
    487               neues->Trajectory.U.at(repetition)[d] = neues->AtomicVelocity[d];
     484              neues->Trajectory.U.at(repetition)[d] = neues->v[d];
    488485
    489486            // parse forces if present
     
    534531            AtomList[i][j] = neues;
    535532            LinearList[ FileBuffer->LineMapping[FileBuffer->CurrentLine] ] = neues;
    536             neues->setType(elementhash[i]); // find element type
     533            neues->type = elementhash[i]; // find element type
    537534          } else
    538535            neues = AtomList[i][j];
    539536          // then parse for each atom the coordinates as often as present
    540           ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &position[0], repetition,critical);
    541           ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &position[1], repetition,critical);
    542           ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &position[2], repetition,critical);
    543           neues->setPosition(position);
     537          ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &neues->x[0], repetition,critical);
     538          ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &neues->x[1], repetition,critical);
     539          ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &neues->x[2], repetition,critical);
    544540          ParseForParameter(verbose,FileBuffer, keyword, 0, 4, 1, int_type, &neues->FixedIon, repetition,critical);
    545           if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->AtomicVelocity[0], repetition,optional))
    546             neues->AtomicVelocity[0] = 0.;
    547           if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->AtomicVelocity[1], repetition,optional))
    548             neues->AtomicVelocity[1] = 0.;
    549           if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->AtomicVelocity[2], repetition,optional))
    550             neues->AtomicVelocity[2] = 0.;
     541          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->v[0], repetition,optional))
     542            neues->v[0] = 0.;
     543          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->v[1], repetition,optional))
     544            neues->v[1] = 0.;
     545          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->v[2], repetition,optional))
     546            neues->v[2] = 0.;
    551547          // here we don't care if forces are present (last in trajectories is always equal to current position)
    552           neues->setType(elementhash[i]); // find element type
     548          neues->type = elementhash[i]; // find element type
    553549          mol->AddAtom(neues);
    554550        }
     
    10131009        istringstream input2(zeile);
    10141010        atom *neues = World::getInstance().createAtom();
    1015         double tmp;
    1016         for (int j=0;j<NDIM;j++) {
    1017           input2 >> tmp;
    1018           neues->set(j,tmp);
    1019         }
     1011        input2 >> neues->x[0]; // x
     1012        input2 >> neues->x[1]; // y
     1013        input2 >> neues->x[2]; // z
    10201014        input2 >> l;
    1021         neues->setType(elementhash[No]); // find element type
     1015        neues->type = elementhash[No]; // find element type
    10221016        mol->AddAtom(neues);
    10231017      }
     
    12851279    AtomNo = 0;
    12861280    for (molecule::const_iterator iter = (*MolRunner)->begin(); iter != (*MolRunner)->end(); ++iter) {
    1287       sprintf(name, "%2s%2d",(*iter)->getType()->symbol, elementNo[(*iter)->getType()->Z]);
    1288       elementNo[(*iter)->getType()->Z] = (elementNo[(*iter)->getType()->Z]+1) % 100;   // confine to two digits
     1281      sprintf(name, "%2s%2d",(*iter)->type->symbol, elementNo[(*iter)->type->Z]);
     1282      elementNo[(*iter)->type->Z] = (elementNo[(*iter)->type->Z]+1) % 100;   // confine to two digits
    12891283      fprintf(f,
    12901284             "ATOM %6u %-4s %4s%c%4u    %8.3f%8.3f%8.3f%6.2f%6.2f      %4s%2s%2s\n",
     
    12941288             'a'+(unsigned char)(AtomNo % 26),           /* letter for chain */
    12951289             MolNo,         /* residue sequence number */
    1296              (*iter)->at(0),                 /* position X in Angstroem */
    1297              (*iter)->at(1),                 /* position Y in Angstroem */
    1298              (*iter)->at(2),                 /* position Z in Angstroem */
    1299              (double)(*iter)->getType()->Valence,         /* occupancy */
    1300              (double)(*iter)->getType()->NoValenceOrbitals,          /* temperature factor */
     1290             (*iter)->node->at(0),                 /* position X in Angstroem */
     1291             (*iter)->node->at(1),                 /* position Y in Angstroem */
     1292             (*iter)->node->at(2),                 /* position Z in Angstroem */
     1293             (double)(*iter)->type->Valence,         /* occupancy */
     1294             (double)(*iter)->type->NoValenceOrbitals,          /* temperature factor */
    13011295             "0",            /* segment identifier */
    1302              (*iter)->getType()->symbol,    /* element symbol */
     1296             (*iter)->type->symbol,    /* element symbol */
    13031297             "0");           /* charge */
    13041298      AtomNo++;
     
    13381332  AtomNo = 0;
    13391333  for (molecule::const_iterator iter = mol->begin(); iter != mol->end(); ++iter) {
    1340     sprintf(name, "%2s%2d",(*iter)->getType()->symbol, elementNo[(*iter)->getType()->Z]);
    1341     elementNo[(*iter)->getType()->Z] = (elementNo[(*iter)->getType()->Z]+1) % 100;   // confine to two digits
     1334    sprintf(name, "%2s%2d",(*iter)->type->symbol, elementNo[(*iter)->type->Z]);
     1335    elementNo[(*iter)->type->Z] = (elementNo[(*iter)->type->Z]+1) % 100;   // confine to two digits
    13421336    fprintf(f,
    13431337           "ATOM %6u %-4s %4s%c%4u    %8.3f%8.3f%8.3f%6.2f%6.2f      %4s%2s%2s\n",
     
    13471341           'a'+(unsigned char)(AtomNo % 26),           /* letter for chain */
    13481342           0,         /* residue sequence number */
    1349            (*iter)->at(0),                 /* position X in Angstroem */
    1350            (*iter)->at(1),                 /* position Y in Angstroem */
    1351            (*iter)->at(2),                 /* position Z in Angstroem */
    1352            (double)(*iter)->getType()->Valence,         /* occupancy */
    1353            (double)(*iter)->getType()->NoValenceOrbitals,          /* temperature factor */
     1343           (*iter)->node->at(0),                 /* position X in Angstroem */
     1344           (*iter)->node->at(1),                 /* position Y in Angstroem */
     1345           (*iter)->node->at(2),                 /* position Z in Angstroem */
     1346           (double)(*iter)->type->Valence,         /* occupancy */
     1347           (double)(*iter)->type->NoValenceOrbitals,          /* temperature factor */
    13541348           "0",            /* segment identifier */
    1355            (*iter)->getType()->symbol,    /* element symbol */
     1349           (*iter)->type->symbol,    /* element symbol */
    13561350           "0");           /* charge */
    13571351    AtomNo++;
     
    13961390    *output << mol->name << "\t";
    13971391    *output << 0 << "\t";
    1398     *output << (*iter)->at(0) << "\t" << (*iter)->at(1) << "\t" << (*iter)->at(2) << "\t";
    1399     *output << static_cast<double>((*iter)->getType()->Valence) << "\t";
    1400     *output << (*iter)->getType()->symbol << "\t";
     1392    *output << (*iter)->node->at(0) << "\t" << (*iter)->node->at(1) << "\t" << (*iter)->node->at(2) << "\t";
     1393    *output << static_cast<double>((*iter)->type->Valence) << "\t";
     1394    *output << (*iter)->type->symbol << "\t";
    14011395    for (BondList::iterator runner = (*iter)->ListOfBonds.begin(); runner != (*iter)->ListOfBonds.end(); runner++)
    14021396      *output << (*runner)->GetOtherAtom(*iter)->nr << "\t";
     
    14681462        *output << (*MolWalker)->name << "\t";
    14691463        *output << MolCounter+1 << "\t";
    1470         *output << (*iter)->at(0) << "\t" << (*iter)->at(1) << "\t" << (*iter)->at(2) << "\t";
    1471         *output << (double)(*iter)->getType()->Valence << "\t";
    1472         *output << (*iter)->getType()->symbol << "\t";
     1464        *output << (*iter)->node->at(0) << "\t" << (*iter)->node->at(1) << "\t" << (*iter)->node->at(2) << "\t";
     1465        *output << (double)(*iter)->type->Valence << "\t";
     1466        *output << (*iter)->type->symbol << "\t";
    14731467        for (BondList::iterator runner = (*iter)->ListOfBonds.begin(); runner != (*iter)->ListOfBonds.end(); runner++)
    14741468          *output << LocalNotoGlobalNoMap[ (*runner)->GetOtherAtom((*iter))->getId() ] << "\t";
Note: See TracChangeset for help on using the changeset viewer.