Changeset 553c54


Ignore:
Timestamp:
Sep 8, 2014, 9:36:29 PM (10 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:
388ddd
Parents:
29b35e
git-author:
Frederik Heber <heber@…> (08/14/14 23:59:33)
git-committer:
Frederik Heber <heber@…> (09/08/14 21:36:29)
Message:

Added option keep-bondgraph to MolecularDynamicsAction and StructuralOptimizationAction.

  • this removes the actions to re-create the bond graph per MD/OPT step from the sequence of actions.
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/FragmentationAction/MolecularDynamicsAction.cpp

    r29b35e r553c54  
    6565  actions.addAction(AR.getActionByName(std::string("output")));
    6666  actions.addAction(AR.getActionByName(std::string("clear-fragment-results")));
     67  actions.addAction(AR.getActionByName(std::string("destroy-adjacency")));
     68  actions.addAction(AR.getActionByName(std::string("create-adjacency")));
     69  actions.addAction(AR.getActionByName(std::string("update-molecules")));
    6770  actions.addAction(AR.getActionByName(std::string("fragment-molecule")));
    6871  actions.addAction(AR.getActionByName(std::string("fragment-automation")));
     
    9194        "FragmentationMolecularDynamicsAction::performCall() - output not found in ActionSequence.");
    9295  }
     96  // don't recreate bond graph if not desired
     97  if (params.DontCreateGraphEachStep.get()) {
     98#ifndef NDEBUG
     99    bool status = true;
     100    status &=
     101#endif
     102        removeAction(std::string("destroy-adjacency"));
     103
     104#ifndef NDEBUG
     105    status &=
     106#endif
     107        removeAction(std::string("create-adjacency"));
     108
     109#ifndef NDEBUG
     110    status &=
     111#endif
     112        removeAction(std::string("update-molecules"));
     113    ASSERT( status,
     114        "FragmentationStructuralOptimizationAction::performCall() - at least one graph action not found in ActionSequence.");
     115  }
    93116  // and call
    94117  ActionState::ptr state(MakroAction::performCall());
  • src/Actions/FragmentationAction/MolecularDynamicsAction.def

    r29b35e r553c54  
    1212// ValueStorage by the token "Z" -> first column: int, Z, "Z"
    1313// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
    14 #define paramtypes (unsigned int)(bool)
    15 #define paramtokens ("steps")("output-every-step")
    16 #define paramdescriptions ("numer of MD steps to perform")("whether World should be written after every step, useful if integration might hang")
    17 #define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))
    18 #define paramreferences (steps)(DoOutput)
     14#define paramtypes (unsigned int)(bool)(bool)
     15#define paramtokens ("steps")("output-every-step")("keep-bondgraph")
     16#define paramdescriptions ("numer of MD steps to perform")("whether World should be written after every step, useful if integration might hang")("whether the bond graph should be kept the same during each step and not updated")
     17#define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))(PARAM_DEFAULT("0"))
     18#define paramreferences (steps)(DoOutput)(DontCreateGraphEachStep)
    1919#define paramvalids \
    2020(NotZeroValidator< unsigned int >()) \
     21(DummyValidator<bool>()) \
    2122(DummyValidator<bool>())
    2223
  • src/Actions/FragmentationAction/StructuralOptimizationAction.cpp

    r29b35e r553c54  
    6262  // present. If not, we still copy the position cleanly into a new step where then
    6363  // forces are set according to summed fragmentary contributions. This is much cleaner.
     64  actions.addAction(AR.getActionByName(std::string("destroy-adjacency")));
     65  actions.addAction(AR.getActionByName(std::string("create-adjacency")));
     66  actions.addAction(AR.getActionByName(std::string("update-molecules")));
    6467  actions.addAction(AR.getActionByName(std::string("fragment-molecule")));
    6568  actions.addAction(AR.getActionByName(std::string("fragment-automation")));
     
    9194        "FragmentationStructuralOptimizationAction::performCall() - output not found in ActionSequence.");
    9295  }
     96  // don't recreate bond graph if not desired
     97  if (params.DontCreateGraphEachStep.get()) {
     98#ifndef NDEBUG
     99    bool status = true;
     100    status &=
     101#endif
     102        removeAction(std::string("destroy-adjacency"));
     103
     104#ifndef NDEBUG
     105    status &=
     106#endif
     107        removeAction(std::string("create-adjacency"));
     108
     109#ifndef NDEBUG
     110    status &=
     111#endif
     112        removeAction(std::string("update-molecules"));
     113    ASSERT( status,
     114        "FragmentationStructuralOptimizationAction::performCall() - at least one graph action not found in ActionSequence.");
     115  }
    93116  // and call
    94117  ActionState::ptr state(MakroAction::performCall());
  • src/Actions/FragmentationAction/StructuralOptimizationAction.def

    r29b35e r553c54  
    1212// ValueStorage by the token "Z" -> first column: int, Z, "Z"
    1313// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
    14 #define paramtypes (unsigned int)(bool)
    15 #define paramtokens ("steps")("output-every-step")
    16 #define paramdescriptions ("numer of MD steps to perform")("whether we should update the timestep in each descent step sp as to visualize the minimisation")
    17 #define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))
    18 #define paramreferences (steps)(DoOutput)
     14#define paramtypes (unsigned int)(bool)(bool)
     15#define paramtokens ("steps")("output-every-step")("keep-bondgraph")
     16#define paramdescriptions ("numer of MD steps to perform")("whether we should update the timestep in each descent step sp as to visualize the minimisation")("whether the bond graph should be kept the same during each step and not updated")
     17#define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))(PARAM_DEFAULT("0"))
     18#define paramreferences (steps)(DoOutput)(DontCreateGraphEachStep)
    1919#define paramvalids \
    2020(NotZeroValidator< unsigned int >()) \
     21(DummyValidator<bool>()) \
    2122(DummyValidator<bool>())
    2223
  • tests/Python/AllActions/options.dat

    r29b35e r553c54  
    9090interpolation-degree    "5"
    9191interpolation-steps     "9"
     92keep-bondgraph  "1"
    9293keep-fixed-CenterOfMass "0"
    9394load    "test.data"
Note: See TracChangeset for help on using the changeset viewer.