Changeset 8f4df1 for src/Parser


Ignore:
Timestamp:
Aug 7, 2010, 12:07:04 PM (14 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
2d292d
Parents:
8d6d31 (diff), d74077 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'AtomicPositionEncapsulation' into stable

Conflicts:

src/Actions/AtomAction/ChangeElementAction.cpp
src/Actions/WorldAction/RemoveSphereOfAtomsAction.cpp
src/Makefile.am
src/UIElements/TextUI/TextDialog.cpp
src/analysis_correlation.hpp
src/atom.cpp
src/atom_atominfo.hpp
src/bond.cpp
src/boundary.cpp
src/molecule_geometry.cpp
src/tesselation.cpp
src/tesselationhelpers.cpp
src/triangleintersectionlist.cpp
src/unittests/Makefile.am

  • fixed #includes due to moves to Helpers and LinearAlgebra
  • moved VectorInterface.* and vector_ops.* to LinearAlgebra
  • no more direct access of atom::node, remapped to set/getPosition()
  • no more direct access to atom::type, remapped to set/getType() (also in atom due to derivation and atominfo::AtomicElement is private not protected).
Location:
src/Parser
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/MpqcParser.cpp

    r8d6d31 r8f4df1  
    6262  // calculate center
    6363  for (vector<atom *>::iterator runner = allatoms.begin();runner != allatoms.end(); ++runner)
    64     center += (*runner)->x;
     64    center += (*runner)->getPosition();
    6565  center.Scale(1./allatoms.size());
    6666
     
    110110  // calculate center
    111111  for (vector<atom *>::iterator runner = allatoms.begin();runner != allatoms.end(); ++runner)
    112     center += (*runner)->x;
     112    center += (*runner)->getPosition();
    113113  center.Scale(1./allatoms.size());
    114114
  • src/Parser/PcpParser.cpp

    r8d6d31 r8f4df1  
    462462  PlaneWaveSpecifics.MaxPsiDouble = PlaneWaveSpecifics.PsiMaxNoDown = PlaneWaveSpecifics.PsiMaxNoUp = PlaneWaveSpecifics.PsiType = 0;
    463463  for (vector<atom *>::iterator runner = allatoms.begin(); runner != allatoms.end(); ++runner) {
    464     PlaneWaveSpecifics.MaxPsiDouble += (*runner)->type->NoValenceOrbitals;
     464    PlaneWaveSpecifics.MaxPsiDouble += (*runner)->getType()->NoValenceOrbitals;
    465465  }
    466466  cout << PlaneWaveSpecifics.MaxPsiDouble << endl;
     
    497497  // insert all found elements into the map
    498498  for (vector<atom *>::iterator AtomRunner = allatoms.begin();AtomRunner != allatoms.end();++AtomRunner) {
    499     Inserter = PresentElements.insert(pair<int, int>((*AtomRunner)->type->Z, 1));
     499    Inserter = PresentElements.insert(pair<int, int>((*AtomRunner)->getType()->Z, 1));
    500500    if (!Inserter.second) // increase if present
    501501      Inserter.first->second += 1;
     
    528528  int nr = 0;
    529529  for (vector<atom *>::iterator AtomRunner = allatoms.begin();AtomRunner != allatoms.end();++AtomRunner) {
    530     Inserter = ZtoCountMap.insert( pair<int, int>((*AtomRunner)->type->Z, 1) );
     530    Inserter = ZtoCountMap.insert( pair<int, int>((*AtomRunner)->getType()->Z, 1) );
    531531    if (!Inserter.second)
    532532      Inserter.first->second += 1;
    533     const int Z = (*AtomRunner)->type->Z;
     533    const int Z = (*AtomRunner)->getType()->Z;
    534534    *file << "Ion_Type" << ZtoIndexMap[Z] << "_" << ZtoCountMap[Z] << "\t"  << fixed << setprecision(9) << showpoint;
    535     *file << (*AtomRunner)->x[0] << "\t" << (*AtomRunner)->x[1] << "\t" << (*AtomRunner)->x[2];
     535    *file << (*AtomRunner)->at(0) << "\t" << (*AtomRunner)->at(1) << "\t" << (*AtomRunner)->at(2);
    536536    *file << "\t" << (*AtomRunner)->FixedIon;
    537     if ((*AtomRunner)->v.Norm() > MYEPSILON)
    538       *file << "\t" << scientific << setprecision(6) << (*AtomRunner)->v[0] << "\t" << (*AtomRunner)->v[1] << "\t" << (*AtomRunner)->v[2] << "\t";
     537    if ((*AtomRunner)->AtomicVelocity.Norm() > MYEPSILON)
     538      *file << "\t" << scientific << setprecision(6) << (*AtomRunner)->AtomicVelocity[0] << "\t" << (*AtomRunner)->AtomicVelocity[1] << "\t" << (*AtomRunner)->AtomicVelocity[2] << "\t";
    539539    *file << " # molecule nr " << nr++ << endl;
    540540  }
  • src/Parser/TremoloParser.cpp

    r8d6d31 r8f4df1  
    143143      case TremoloKey::x :
    144144        // for the moment, assume there are always three dimensions
    145         *file << currentAtom->x[0] << "\t";
    146         *file << currentAtom->x[1] << "\t";
    147         *file << currentAtom->x[2] << "\t";
     145        *file << currentAtom->at(0) << "\t";
     146        *file << currentAtom->at(1) << "\t";
     147        *file << currentAtom->at(2) << "\t";
    148148        break;
    149149      case TremoloKey::u :
    150150        // for the moment, assume there are always three dimensions
    151         *file << currentAtom->v[0] << "\t";
    152         *file << currentAtom->v[1] << "\t";
    153         *file << currentAtom->v[2] << "\t";
     151        *file << currentAtom->AtomicVelocity[0] << "\t";
     152        *file << currentAtom->AtomicVelocity[1] << "\t";
     153        *file << currentAtom->AtomicVelocity[2] << "\t";
    154154        break;
    155155      case TremoloKey::Type :
     
    228228  string word;
    229229  int oldId;
     230  double tmp;
    230231
    231232  lineStream << line;
     
    235236      case TremoloKey::x :
    236237        // for the moment, assume there are always three dimensions
    237         lineStream >> newAtom->x[0];
    238         lineStream >> newAtom->x[1];
    239         lineStream >> newAtom->x[2];
     238        for (int i=0;i<NDIM;i++) {
     239          lineStream >> tmp;
     240          newAtom->set(i, tmp);
     241        }
    240242        break;
    241243      case TremoloKey::u :
    242244        // for the moment, assume there are always three dimensions
    243         lineStream >> newAtom->v[0];
    244         lineStream >> newAtom->v[1];
    245         lineStream >> newAtom->v[2];
     245        lineStream >> newAtom->AtomicVelocity[0];
     246        lineStream >> newAtom->AtomicVelocity[1];
     247        lineStream >> newAtom->AtomicVelocity[2];
    246248        break;
    247249      case TremoloKey::Type :
  • src/Parser/XyzParser.cpp

    r8d6d31 r8f4df1  
    4242  int numberOfAtoms;
    4343  char commentBuffer[512], type[3];
     44  double tmp;
    4445
    4546  // the first line tells number of atoms, the second line is always a comment
     
    5354  for (int i = 0; i < numberOfAtoms; i++) {
    5455    newAtom = World::getInstance().createAtom();
    55     *file >> type >> ws >> newAtom->x[0] >> ws >> newAtom->x[1] >> ws >> newAtom->x[2];
     56    *file >> type;
     57    for (int j=0;j<NDIM;j++) {
     58      *file >> tmp;
     59      newAtom->set(j, tmp);
     60    }
    5661    newAtom->setType(World::getInstance().getPeriode()->FindElement(type));
    5762    newmol->AddAtom(newAtom);
     
    8186  vector<atom*> atoms = World::getInstance().getAllAtoms();
    8287  for(vector<atom*>::iterator it = atoms.begin(); it != atoms.end(); it++) {
    83     *file << noshowpoint << (*it)->getType()->symbol << "\t" << (*it)->x[0] << "\t" << (*it)->x[1] << "\t" << (*it)->x[2] << endl;
     88    *file << noshowpoint << (*it)->getType()->symbol << "\t" << (*it)->at(0) << "\t" << (*it)->at(1) << "\t" << (*it)->at(2) << endl;
    8489  }
    8590}
Note: See TracChangeset for help on using the changeset viewer.