pub trait HyperelasticFiniteElementBlock<'a, C, F, const G: usize, const N: usize>where
C: Hyperelastic<'a>,
F: HyperelasticFiniteElement<'a, C, G, N>,
Self: ElasticFiniteElementBlock<'a, C, F, G, N>,{
// Required method
fn helmholtz_free_energy(
&self,
nodal_coordinates: &TensorRank1Vec<3, 1>,
) -> Result<Scalar, ConstitutiveError>;
}