pub trait HyperelasticFiniteElement<C, const G: usize, const N: usize>where
C: Hyperelastic,
Self: ElasticFiniteElement<C, G, N>,{
// Required method
fn helmholtz_free_energy(
&self,
constitutive_model: &C,
nodal_coordinates: &ElementNodalCoordinates<N>,
) -> Result<Scalar, FiniteElementError>;
}