pub trait HyperviscoelasticFiniteElement<C, const G: usize, const N: usize>where
    C: Hyperviscoelastic,
    Self: ElasticHyperviscousFiniteElement<C, G, N>,{
    // Required method
    fn helmholtz_free_energy(
        &self,
        nodal_coordinates: &CurrentCoordinates<D>,
    ) -> Result<Scalar, FiniteElementError>;
}