pub trait ViscoelasticFiniteElement<C, const G: usize, const N: usize>where
C: Viscoelastic,
Self: FiniteElementMethods<C, G, N>,{
// Required methods
fn nodal_forces(
&self,
nodal_coordinates: &CurrentCoordinates<D>,
nodal_velocities: &CurrentCoordinates<D>,
) -> Result<Forces<D>, ConstitutiveError>;
fn nodal_stiffnesses(
&self,
nodal_coordinates: &CurrentCoordinates<D>,
nodal_velocities: &CurrentCoordinates<D>,
) -> Result<Stiffnesses<D>, ConstitutiveError>;
}