Class ConstraintVolume#

Inheritance Relationships#

Base Type#

Class Documentation#

class ConstraintVolume : public ConstraintClass#

Volume constraint class.

Public Functions

inline ConstraintVolume(SystemClass &system)#
inline ~ConstraintVolume()#
inline virtual void set_default_properties(void) override#
inline virtual void set_property(std::map<std::string, std::string> &region_map) override#
virtual void enforce(void) override#

Enforce constraint.

virtual void compute_ref_gradient(void) override#

Compute reference gradient.

virtual void compute_gradient(void) override#

Compute volume gradient on a vertex Volume gradient \( \nabla_i V = \frac 1 3 \sum_T A_T \vec n_T \), where \( A_T \) is area of triangle T, \( \vec n_T \) is the normal vector to that triangle, and the sum is carried over all triangles in the vertex star.