Ignore:
Timestamp:
Nov 11, 2016, 2:25:36 PM (9 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, 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_ChronosMutex, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, GeometryObjects, Gui_displays_atomic_force_velocity, IndependentFragmentGrids_IntegrationTest, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, RotateToPrincipalAxisSystem_UndoRedo, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, ThirdParty_MPQC_rebuilt_buildsystem, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, Ubuntu_1604_changes, stable
Children:
f45a91
Parents:
f5dbea
git-author:
Frederik Heber <heber@…> (10/08/16 07:56:22)
git-committer:
Frederik Heber <heber@…> (11/11/16 14:25:36)
Message:

Converted filterArguments... into faster filter, renamed other to ..ByBindingModel.

  • there are now two filters: One filters by list of particles types and is meant for simple pair potentials. The other one filters (and reorders) by the binding model. This takes more computation time but is required for more complex potentials.
  • TESTFIX: This allows morse and harmonic pair potentials tests to pass again, removed XFAIL from the corresponding regression tests.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/FunctionApproximation/Extractors.hpp

    rf5dbea r1155ba  
    103103  }
    104104
    105   /** Reorder the arguments to bring adjacent ones together.
     105  /** Filter the arguments to select only these required by the model.
    106106   *
    107    * After filtering via particle types arguments related via same indices
    108    * must not necessarily be contained in the same bunch. This reordering
    109    * is done here, preserving the alignment given in
    110    * \sa filterArgumentsByParticleTypes()
     107   * \warning this is meant as a faster way of getting the arguments for simple
     108   * pair potentials. In any other case, one should use filterArgumentsByBindingModel()
    111109   *
    112110   * \param listargs list of arguments to reorder each
     
    115113   * \return reordered args
    116114   */
    117   FunctionModel::list_of_arguments_t reorderArgumentsByParticleTypes(
    118       const FunctionModel::list_of_arguments_t &eachargs,
     115  FunctionModel::list_of_arguments_t filterArgumentsByParticleTypes(
     116      const FunctionModel::arguments_t &args,
    119117      const HomologyGraph &_graph,
    120118      const ParticleTypes_t &_types,
     
    122120      );
    123121
    124   /** Filter arguments according to types, allowing multiples.
     122  /** Filter and reorder the arguments to bring adjacent ones together.
    125123   *
    126    * If particle types is (0,1,2) and three arguments, each with a pair of types,
    127    * are given, then the alignment will be: (0,1), (0,2), and (1,2).
     124   * We need to find all matching subgraphs (given by \a _bindingmodel) in the
     125   * given homology graph (given by \a _graph) of the fragment molecule.
     126   * This means filtering down to the desired particle types and then find
     127   * all possible matching subgraphs in each of argument lists, \a eachargs.
    128128   *
    129    * \param args arguments to reorder
     129   * \param listargs list of arguments to filter and order appropriately
    130130   * \param _graph contains binding model of graph
    131131   * \param _types particle type vector
    132    * \return filtered list of args
     132   * \return reordered args
    133133   */
    134   FunctionModel::list_of_arguments_t filterArgumentsByParticleTypes(
     134  FunctionModel::list_of_arguments_t filterArgumentsByBindingModel(
    135135      const FunctionModel::arguments_t &args,
    136136      const HomologyGraph &_graph,
Note: See TracChangeset for help on using the changeset viewer.