Ignore:
Timestamp:
Oct 26, 2011, 3:02:46 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, Candidate_v1.7.0, 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:
07a47e
Parents:
babcc1
git-author:
Frederik Heber <heber@…> (10/25/11 12:31:39)
git-committer:
Frederik Heber <heber@…> (10/26/11 15:02:46)
Message:

FragmentAction now has instead of path a types parameter.

  • new output-types parameter, is a vector<string> for giving a list of desired output types similar to SetOutputFormatAction.
  • TESTFIX: as vector<string> cannot have default value, we had to adapt the two regression tests Fragmentation/FragmentMolecule.. and the fragmentation tests.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Fragmentation.cpp

    rbabcc1 r99b0dc  
    3939#include "MoleculeLeafClass.hpp"
    4040#include "MoleculeListClass.hpp"
    41 #include "Parser/ParserTypes.hpp"
     41#include "Parser/FormatParserStorage.hpp"
    4242#include "World.hpp"
    4343
     
    5959/** Performs a many-body bond order analysis for a given bond order.
    6060 * -# parses adjacency, keysets and orderatsite files
    61  * -# performs DFS to find connected subgraphs (to leave this in was a design decision: might be useful later)
    6261 * -# RootStack is created for every subgraph (here, later we implement the "update 10 sites with highest energ
    6362y contribution", and that's why this consciously not done in the following loop)
     
    7170 * subgraph in the MoleculeListClass.
    7271 * \param Order up to how many neighbouring bonds a fragment contains in BondOrderScheme::BottumUp scheme
    73  * \param &prefix path and prefix of the bond order configs to be written
     72 * \param prefix prefix string for every fragment file name (may include path)
    7473 * \param &DFS contains bond structure analysis data
    7574 * \return 1 - continue, 2 - stop (no fragmentation occured)
    7675 */
    77 int Fragmentation::FragmentMolecule(int Order, std::string &prefix, DepthFirstSearchAnalysis &DFS)
     76int Fragmentation::FragmentMolecule(int Order, std::string prefix, DepthFirstSearchAnalysis &DFS)
    7877{
    7978  MoleculeListClass *BondFragments = NULL;
     
    216215
    217216    DoLog(1) && (Log() << Verbose(1) << "Writing " << BondFragments->ListOfMolecules.size() << " possible bond fragmentation configs" << endl);
    218     if ((BondFragments->OutputConfigForListOfFragments(prefix, SortIndex, xyz))
    219         && (BondFragments->OutputConfigForListOfFragments(prefix, SortIndex, mpqc))
    220         && (BondFragments->OutputConfigForListOfFragments(prefix, SortIndex, pcp)))
     217    bool write_status = true;
     218    for (std::vector<std::string>::const_iterator iter = typelist.begin();
     219        iter != typelist.end();
     220        ++iter) {
     221      LOG(2, "INFO: Writing bond fragments for type " << (*iter) << ".");
     222      write_status = write_status
     223      && BondFragments->OutputConfigForListOfFragments(
     224          prefix,
     225          SortIndex,
     226          FormatParserStorage::getInstance().getTypeFromName(*iter));
     227    }
     228    if (write_status)
    221229      DoLog(1) && (Log() << Verbose(1) << "All configs written." << endl);
    222230    else
     
    715723};
    716724
     725/** Sets the desired output types of the fragment configurations.
     726 *
     727 * @param types vector of desired types.
     728 */
     729void Fragmentation::setOutputTypes(const std::vector<std::string> &types)
     730{
     731  typelist = types;
     732}
Note: See TracChangeset for help on using the changeset viewer.