Class ConstraintClass#
Defined in File constraintclass.hpp
Inheritance Relationships#
Derived Types#
public ConstraintArea
(Class ConstraintArea)public ConstraintVolume
(Class ConstraintVolume)
Class Documentation#
-
class ConstraintClass
Base class for a generic constraint
Note
This is a constraint such as fixed volume, or bond lengths.
Subclassed by ConstraintArea, ConstraintVolume
Public Functions
-
inline ConstraintClass(SystemClass &system)
-
inline virtual ~ConstraintClass()
-
inline virtual void enforce(void)
Enforce constraint.
-
inline virtual void compute_normal(void)
Computes normal to the surface.
-
inline virtual void compute_gradient(void)
Computer gradient at a point.
-
virtual void compute_ref_gradient(void) = 0
Compute reference gradient.
-
inline bool is_satisfied(void)
Return true if the constraint has been satisfied.
-
inline bool should_apply()
Return true if constraint needs to be applied.
-
inline std::map<std::string, std::string> info(void)
compute the value of the constraint, return the difference and the information
-
inline double get_LagrangeMultiplier(void)
Get the Lagrange multiplier for a given constraint.
-
inline void reset_LagrangeMultiplier(void)
-
inline void set_property_common(std::map<std::string, std::string> ®ion_map)
-
virtual void set_default_properties(void) = 0
-
inline virtual void set_property(std::map<std::string, std::map<std::pair<std::string, std::string>, std::string>> &value_map)
-
inline virtual void set_property(std::map<std::string, std::map<std::string, std::string>> &value_map)
-
inline virtual void set_property(std::map<std::string, std::string> &value_map)
-
inline void print_warning_calling_err(const std::string &message)
-
inline void print_warning_calling(const std::string &message)
-
inline void print_warning_property_name(const std::string &message)
Protected Attributes
-
SystemClass &_system
-
std::string name
-
double m_tol
Tolerance for the constraint to be satisfied.
-
double m_target
Targeted value for the constraint.
-
double m_value
Current value of the constrained quantity.
-
double m_lambda
Lagrange multiplier for a given constraint.
-
std::string m_type
Constraint type (i.e. equality or inequality)
-
inline ConstraintClass(SystemClass &system)