Changeset c864a8
- Timestamp:
- Feb 24, 2011, 4:27:00 PM (14 years ago)
- 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:
- bce72c
- Parents:
- 76163d
- git-author:
- Frederik Heber <heber@…> (02/07/11 17:58:50)
- git-committer:
- Frederik Heber <heber@…> (02/24/11 16:27:00)
- Location:
- src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/atom_trajectoryparticle.cpp
r76163d rc864a8 52 52 return getType()->getMass()*Trajectory.U.at(step); 53 53 } 54 55 /** Evaluates some constraint potential if atom moves from \a startstep at once to \endstep in trajectory.56 * \param startstep trajectory begins at57 * \param endstep trajectory ends at58 * \param **PermutationMap if atom switches places with some other atom, there is no translation but a permutaton noted here (not in the trajectories of ea59 * \param *Force Force matrix to store result in60 */61 void TrajectoryParticle::EvaluateConstrainedForce(int startstep, int endstep, atom **PermutationMap, ForceMatrix *Force) const62 {63 double constant = 10.;64 TrajectoryParticle *Sprinter = PermutationMap[nr];65 // set forces66 for (int i=NDIM;i++;)67 Force->Matrix[0][nr][5+i] += 2.*constant*sqrt(Trajectory.R.at(startstep).distance(Sprinter->Trajectory.R.at(endstep)));68 };69 54 70 55 /** Extends the trajectory STL vector to the new size. -
src/atom_trajectoryparticle.hpp
r76163d rc864a8 42 42 virtual ~TrajectoryParticle(); 43 43 44 // constraint potential and dynamics stuff45 void EvaluateConstrainedForce(int startstep, int endstep, atom **PermutationMap, ForceMatrix *Force) const;46 47 // trajectory stuff48 44 void ResizeTrajectory(int MaxSteps); 49 45 void CopyStepOnStep(int dest, int src); -
src/molecule_dynamics.cpp
r76163d rc864a8 481 481 void molecule::EvaluateConstrainedForces(int startstep, int endstep, atom **PermutationMap, ForceMatrix *Force) 482 482 { 483 double constant = 10.; 484 483 485 /// evaluate forces (only the distance to target dependent part) with the final PermutationMap 484 486 DoLog(1) && (Log() << Verbose(1) << "Calculating forces and adding onto ForceMatrix ... " << endl); 485 for_each(atoms.begin(), 486 atoms.end(), 487 boost::bind(&atom::EvaluateConstrainedForce,_1,startstep,endstep,PermutationMap,Force)); 487 BOOST_FOREACH(atom *_atom, atoms) { 488 atom *Sprinter = PermutationMap[_atom->nr]; 489 // set forces 490 for (int i=NDIM;i++;) 491 Force->Matrix[0][_atom->nr][5+i] += 2.*constant*sqrt(_atom->Trajectory.R.at(startstep).distance(Sprinter->Trajectory.R.at(endstep))); 492 } 488 493 DoLog(1) && (Log() << Verbose(1) << "done." << endl); 489 494 };
Note:
See TracChangeset
for help on using the changeset viewer.