Rodin/Solid/Integrators/InternalVirtualWorkResidual.h file

Residual integrator for the internal virtual work in hyperelastic formulations.

Assembles the nonlinear residual contribution:

\[ \delta W^{\text{int}}(\mathbf{v}) = \int_{\Omega_0} \mathbf{P}(\mathbf{u}) : \nabla_0 \mathbf{v} \, dX \]

where $ \mathbf{P} $ is the first Piola-Kirchhoff stress and $ \mathbf{v} $ is the test function (virtual displacement).

The integrator is generic: it obtains the finite element basis from the FE space (not hardcoded to P1), supports arbitrary quadrature rules, and builds a ConstitutivePoint (composed over Geometry::Point) at each quadrature point for constitutive evaluation.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::Solid
Hyperelastic solid mechanics module for large-deformation problems.

Classes

template<class LawDerived, class TestFunctionType, class DisplacementType>
class Rodin::Solid::InternalVirtualWorkResidual
Linear form integrator for the internal virtual work residual in hyperelastic problems.