Ignore:
Timestamp:
Dec 19, 2012, 3:25:31 PM (12 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:
1dca9a
Parents:
dac89b1
git-author:
Frederik Heber <heber@…> (10/03/12 19:08:38)
git-committer:
Frederik Heber <heber@…> (12/19/12 15:25:31)
Message:

EmpiricalPotential and FunctionModel are now inherited virtually, have overlapping function definitions.

  • EmpiricalPotential and FunctionModel differ only in the way of the derivative. The simple function evaluation is the same. EmpiricalPotential however desires the derivative with respect to the arguments, while FunctionModel requires the derivative with respect to the parameters.
  • therefore, we shifted some of the function definitions in between the two and had to some typedefs in PairPotential_Harmonic and ManyBodyPotential_Tersoff to clarify ambiguities.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Potentials/Specifics/PairPotential_Harmonic.hpp

    rdac89b1 r3ccea3  
    2424 *
    2525 */
    26 class PairPotential_Harmonic : public EmpiricalPotential, public FunctionModel
     26class PairPotential_Harmonic : virtual public EmpiricalPotential, virtual public FunctionModel
    2727{
     28  // some repeated typedefs to avoid ambiguities
     29  typedef FunctionModel::arguments_t arguments_t;
     30  typedef FunctionModel::result_t result_t;
     31  typedef FunctionModel::results_t results_t;
     32  typedef EmpiricalPotential::derivative_components_t derivative_components_t;
    2833public:
    2934  PairPotential_Harmonic();
     
    7378  derivative_components_t derivative(const arguments_t &arguments) const;
    7479
     80  /** Evaluates the derivative of the function with the given \a arguments
     81   * with respect to a specific parameter indicated by \a index.
     82   *
     83   * \param arguments set of arguments as input variables to the function
     84   * \param index derivative of which parameter
     85   * \return result vector containing the derivative with respect to the given
     86   *         input
     87   */
     88//  results_t parameter_derivative(const arguments_t &arguments, const size_t index) const;
     89
    7590private:
    7691  //!> the spring constant for the harmonic potential
Note: See TracChangeset for help on using the changeset viewer.