Ignore:
Timestamp:
May 18, 2016, 9:56:59 PM (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, 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:
b0bc13
Parents:
f0dea0
git-author:
Frederik Heber <heber@…> (03/04/16 14:32:54)
git-committer:
Frederik Heber <heber@…> (05/18/16 21:56:59)
Message:

VMGData additionally stores absolute residual.

  • we check for absolute residual to be less than 1e-5 in any case, otherwise issue a warning.
  • either relative or absolute residual must be less than precision. This is the check used by vmg. Otherwise we may get false failed convergence warnings because not relative but absolute residual reached precision threshold.
Location:
src/Fragmentation/Summation/Containers
Files:
2 edited

Legend:

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

    rf0dea0 r7debff  
    4747  hasForces(false),
    4848  relative_residual(0.),
     49  residual(0.),
    4950  precision(0.)
    5051{}
     
    5556    hasForces(false),
    5657    relative_residual(0.),
     58    residual(0.),
    5759    precision(0.)
    5860{}
     
    6365  ost << "Electron long-Range energy: " << data.electron_long << std::endl;
    6466  ost << "Nuclei long-Range forces: " << data.forces << std::endl;
     67  ost << "Residual: " << data.residual << std::endl;
    6568  ost << "Relative residual: " << data.relative_residual << std::endl;
    6669  ost << "Desired precision: " << data.precision << std::endl;
  • src/Fragmentation/Summation/Containers/VMGData.hpp

    rf0dea0 r7debff  
    5757  //!> relative residual
    5858  double relative_residual;
     59  //!> absolute residual
     60  double residual;
    5961  //!> desired precision
    6062  double precision;
     
    7981    if (version > 3) {
    8082      ar & relative_residual;
     83      ar & residual;
    8184      ar & precision;
    8285    }
Note: See TracChangeset for help on using the changeset viewer.