Ignore:
Timestamp:
May 7, 2016, 7:05:19 AM (9 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, 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_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:
666e9e
Parents:
276e2f
git-author:
Frederik Heber <heber@…> (02/29/16 12:10:11)
git-committer:
Frederik Heber <heber@…> (05/07/16 07:05:19)
Message:

FragmentationLongRangeResults now takes additional implicit charge indices.

  • this is required as we obtain more force vectors from the long-range calculations as we have indices for. This is because implicit charges are not associated to any fragment, hence their indices are unknown. However, we nonetheless submit them as extra particles/nuclei to the long-range solver and hence obtain long-range forces for each of them.
Location:
src/Fragmentation/Summation/Containers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Summation/Containers/FragmentationLongRangeResults.cpp

    r276e2f r0ba27c9  
    103103    std::map<JobId_t,VMGData> &longrangeData,
    104104    const std::vector<VMGData> &fullsolutionData,
    105     const std::vector<SamplingGrid> &full_sample)
     105    const std::vector<SamplingGrid> &full_sample,
     106    const IndexedVectors::indices_t &_implicit_charges_indices)
    106107{
    107108  MaxLevel = subsetmap->getMaximumSetLevel();
     
    148149        sorted_indices.insert(arrayiter->begin(), arrayiter->end());
    149150      }
     151      // add additionally those from implicit charges which are not associated to
     152      // any fragment and hence are unknown so far.
     153      sorted_indices.insert(_implicit_charges_indices.begin(), _implicit_charges_indices.end());
    150154      sorted_indices.erase(-1);
    151155      fullindices.insert(fullindices.begin(), sorted_indices.begin(), sorted_indices.end());
  • src/Fragmentation/Summation/Containers/FragmentationLongRangeResults.hpp

    r276e2f r0ba27c9  
    3434#include "Fragmentation/Summation/Containers/VMGDataMap.hpp"
    3535#include "Fragmentation/Summation/SetValues/SamplingGrid.hpp"
     36#include "Fragmentation/Summation/SetValues/IndexedVectors.hpp"
    3637
    3738/** FragmentationLongRangeResults contains the summed up results per level resulting
     
    6465   * @param fullsolutionData long-range solution
    6566   * @param full_sample sampled density
     67   * @param _implicit_charges_indices indices of implicit charges that do not
     68   *        belong to other fragments (we obtain forces for those from the
     69   *        long-range calculation but we lack the indices)
    6670   */
    6771  void operator()(
     
    6973      std::map<JobId_t,VMGData> &longrangeData,
    7074      const std::vector<VMGData> &fullsolutionData,
    71       const std::vector<SamplingGrid> &full_sample);
     75      const std::vector<SamplingGrid> &full_sample,
     76      const IndexedVectors::indices_t &_implicit_charges_indices = IndexedVectors::indices_t());
    7277
    7378  size_t getMaxLevel() const {
Note: See TracChangeset for help on using the changeset viewer.