Changeset fcd7b6 for src/config.cpp


Ignore:
Timestamp:
Oct 7, 2009, 1:11:28 PM (16 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:
681a8a
Parents:
e9f8f9
git-author:
Frederik Heber <heber@…> (10/07/09 12:14:15)
git-committer:
Frederik Heber <heber@…> (10/07/09 13:11:28)
Message:

In molecule::OutputTrajectories() ActOnAllAtoms() with new function atom::OutputTrajectory() is used.

For this to work, I had to change the Trajectory struct that was so far included in molecule.hpp to be incorporated directly into the class atom.
NOTE: This incorporation is incomplete and a ticket (#34) has been filed to remind of this issue.
However, the trajectory is better suited to reside in atom anyway and was probably just put in molecule due to memory prejudices against STL vector<>.
Functions in molecule.cpp, config.cpp, molecule_geometry.cpp and molecule_dynamics.cpp were adapted (changed from Trajectories[atom *] to atom *->Trajectory).
And the atom pointer in the Trajectory structure was removed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/config.cpp

    re9f8f9 rfcd7b6  
    964964
    965965            // check size of vectors
    966             if (mol->Trajectories[neues].R.size() <= (unsigned int)(repetition)) {
     966            if (neues->Trajectory.R.size() <= (unsigned int)(repetition)) {
    967967              //cout << "Increasing size for trajectory array of " << keyword << " to " << (repetition+10) << "." << endl;
    968               mol->Trajectories[neues].R.resize(repetition+10);
    969               mol->Trajectories[neues].U.resize(repetition+10);
    970               mol->Trajectories[neues].F.resize(repetition+10);
     968              neues->Trajectory.R.resize(repetition+10);
     969              neues->Trajectory.U.resize(repetition+10);
     970              neues->Trajectory.F.resize(repetition+10);
    971971            }
    972972
    973973            // put into trajectories list
    974974            for (int d=0;d<NDIM;d++)
    975               mol->Trajectories[neues].R.at(repetition).x[d] = neues->x.x[d];
     975              neues->Trajectory.R.at(repetition).x[d] = neues->x.x[d];
    976976
    977977            // parse velocities if present
     
    983983              neues->v.x[2] = 0.;
    984984            for (int d=0;d<NDIM;d++)
    985               mol->Trajectories[neues].U.at(repetition).x[d] = neues->v.x[d];
     985              neues->Trajectory.U.at(repetition).x[d] = neues->v.x[d];
    986986
    987987            // parse forces if present
     
    993993              value[2] = 0.;
    994994            for (int d=0;d<NDIM;d++)
    995               mol->Trajectories[neues].F.at(repetition).x[d] = value[d];
     995              neues->Trajectory.F.at(repetition).x[d] = value[d];
    996996
    997997  //            cout << "Parsed position of step " << (repetition) << ": (";
    998998  //            for (int d=0;d<NDIM;d++)
    999   //              cout << mol->Trajectories[neues].R.at(repetition).x[d] << " ";          // next step
     999  //              cout << neues->Trajectory.R.at(repetition).x[d] << " ";          // next step
    10001000  //            cout << ")\t(";
    10011001  //            for (int d=0;d<NDIM;d++)
    1002   //              cout << mol->Trajectories[neues].U.at(repetition).x[d] << " ";          // next step
     1002  //              cout << neues->Trajectory.U.at(repetition).x[d] << " ";          // next step
    10031003  //            cout << ")\t(";
    10041004  //            for (int d=0;d<NDIM;d++)
    1005   //              cout << mol->Trajectories[neues].F.at(repetition).x[d] << " ";          // next step
     1005  //              cout << neues->Trajectory.F.at(repetition).x[d] << " ";          // next step
    10061006  //            cout << ")" << endl;
    10071007          }
Note: See TracChangeset for help on using the changeset viewer.