mpqc::MolecularFiniteDifferenceDerivative< Order, Value > Class Template Reference
Collaboration diagram for mpqc::MolecularFiniteDifferenceDerivative< Order, Value >:

Documentation

template<size_t Order, typename Value>
class mpqc::MolecularFiniteDifferenceDerivative< Order, Value >

Evaluates FiniteDifferenceDerivative with respect to molecular coordinates.

Public Member Functions

 MolecularFiniteDifferenceDerivative (const KeyVal &kv)
 The KeyVal constructor. More...
 
void write (KeyVal &kv) const override
 
- Public Member Functions inherited from mpqc::math::FiniteDifferenceDerivative< Order, Value, MolecularCoordinates >
 FiniteDifferenceDerivative (const KeyVal &kv)
 
- Public Member Functions inherited from mpqc::math::TaylorExpansionFunction< Value, MolecularCoordinates >
size_t order () const
 
double target_precision (size_t ord) const
 
- Public Member Functions inherited from mpqc::math::Function< TaylorExpansionCoefficients< Value >, MolecularCoordinates >
 Function ()=default
 
 Function (std::shared_ptr< MolecularCoordinates > params)
 
virtual ~Function ()
 
std::shared_ptr< const TaylorExpansionCoefficients< Value > > value ()
 
bool must_compute () const
 
std::shared_ptr< const MolecularCoordinatesparams () const
 
virtual void set_params (std::shared_ptr< MolecularCoordinates > params)
 
- Public Member Functions inherited from mpqc::DescribedClass
 DescribedClass ()=default
 
virtual ~DescribedClass ()
 
std::string class_key () const
 
- Public Member Functions inherited from mpqc::enable_shared_from_this< DescribedClass >
virtual ~enable_shared_from_this ()=default
 
std::shared_ptr< DescribedClassshared_from_this ()
 returns the pointer to this object More...
 
std::shared_ptr< std::add_const_t< DescribedClass > > shared_from_this () const
 returns the pointer to this object More...
 
- Public Member Functions inherited from mpqc::detail::virt_base_of_enable_shared_from_this
virtual ~virt_base_of_enable_shared_from_this ()=default
 
bool shared_from_this_possible () const
 
template<typename Target , typename = std::enable_if_t<!std::is_const_v<Target>>>
std::shared_ptr< Target > cast_shared_from_this_to ()
 returns the pointer to this cast to a particular type More...
 
template<typename Target >
std::shared_ptr< std::add_const_t< Target > > cast_shared_from_this_to () const
 returns the pointer to this cast to a particular type More...
 

Static Public Attributes

constexpr static double default_target_precision_ = 1e-6
 

Additional Inherited Members

- Public Types inherited from mpqc::math::TaylorExpansionFunction< Value, MolecularCoordinates >
typedef Function< TaylorExpansionCoefficients< Value >, MolecularCoordinatesfunction_base_type
 
- Public Types inherited from mpqc::math::Function< TaylorExpansionCoefficients< Value >, MolecularCoordinates >
typedef TaylorExpansionCoefficients< Value > value_type
 
typedef MolecularCoordinates parameters_type
 
using Timestampable = ::mpqc::utility::Timestampable< X >
 
- Public Types inherited from mpqc::DescribedClass
typedef std::shared_ptr< DescribedClass >(* keyval_ctor_wrapper_type) (const KeyVal &)
 
- Static Public Member Functions inherited from mpqc::DescribedClass
static keyval_ctor_wrapper_type type_to_keyval_ctor (const std::string &type_name)
 
template<typename T >
static void register_keyval_ctor ()
 
template<typename T >
static bool is_registered ()
 
template<typename T >
static std::string class_key ()
 
static const keyval_ctor_registry_type & keyval_ctor_registry ()
 returns const ref to the keyval ctor registry More...
 
- Protected Types inherited from mpqc::math::FiniteDifferenceDerivative< Order, Value, MolecularCoordinates >
using DerivIdx = std::array< size_t, Order >
 
using Displacement = std::array< double, Order >
 
using LinearCombinationOfDisplacements = std::vector< std::pair< Displacement, double > >
 
using function_type = TaylorExpansionFunction< Value, MolecularCoordinates >
 the function to differentiate More...
 
- Protected Member Functions inherited from mpqc::math::FiniteDifferenceDerivative< Order, Value, MolecularCoordinates >
 FiniteDifferenceDerivative (const KeyVal &kv, std::shared_ptr< MolecularCoordinates > params, double default_target_precision)
 The KeyVal constructor. More...
 
virtual LinearCombinationOfDisplacements generate_displacements (DerivIdx idx) const
 
std::shared_ptr< const function_typefunction () const
 
double delta () const
 
size_t error_order () const
 
- Protected Member Functions inherited from mpqc::math::TaylorExpansionFunction< Value, MolecularCoordinates >
 TaylorExpansionFunction (const KeyVal &kv, std::shared_ptr< MolecularCoordinates > params, double default_precision=default_precision_)
 auxiliary KeyVal constructor More...
 
- Protected Member Functions inherited from mpqc::math::Function< TaylorExpansionCoefficients< Value >, MolecularCoordinates >
const Timestampable< TaylorExpansionCoefficients< Value > > & get_value () const
 
void set_value (TaylorExpansionCoefficients< Value > v)
 
- Static Protected Attributes inherited from mpqc::math::TaylorExpansionFunction< Value, MolecularCoordinates >
static constexpr double default_precision_
 the default target precision to use if not provided to the constructor More...
 

Constructor & Destructor Documentation

◆ MolecularFiniteDifferenceDerivative()

template<size_t Order, typename Value >
mpqc::MolecularFiniteDifferenceDerivative< Order, Value >::MolecularFiniteDifferenceDerivative ( const KeyVal kv)
inline

The KeyVal constructor.

Parameters
kvthe KeyVal object to be queried

The KeyVal object will be queried for all keywords of the KeyVal ctor of the math::FiniteDifferenceDerivative class, as well as the following keywords:

Keyword Type Default Description
coords MolecularCoordinates CartMolecularCoordinates (must specify the atoms keyword) specifies which molecular coordinates will be used to compute the derivative. The only valid choice is CartMolecularCoordinates
atoms Molecule none if coords is not specified, must specify this keyword to be able to construct CartMolecularCoordinates

Member Function Documentation

◆ write()

template<size_t Order, typename Value >
void mpqc::MolecularFiniteDifferenceDerivative< Order, Value >::write ( KeyVal kv) const
inlineoverridevirtual

prints this object to kv

Parameters
kvthe output KeyVal object

Implements mpqc::Property.

Member Data Documentation

◆ default_target_precision_

template<size_t Order, typename Value >
constexpr static double mpqc::MolecularFiniteDifferenceDerivative< Order, Value >::default_target_precision_ = 1e-6
staticconstexpr

The documentation for this class was generated from the following file: