pub trait HyperelasticFiniteElementBlock<C, F, const G: usize, const M: usize, const N: usize, const P: usize>where
C: Hyperelastic,
F: HyperelasticFiniteElement<C, G, M, N, P>,
Self: ElasticFiniteElementBlock<C, F, G, M, N, P>,{
// Required method
fn helmholtz_free_energy(
&self,
nodal_coordinates: &NodalCoordinates,
) -> Result<Scalar, FiniteElementBlockError>;
}