pub trait ViscoelasticFiniteElement<'a, C, const G: usize, const N: usize>where
C: Viscoelastic<'a>,
Self: FiniteElementMethods<'a, 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>;
}