pub trait ViscoelasticElements<const D: usize>where
Self: Elements,{
// Required methods
fn nodal_forces_into(
&self,
nodal_coordinates: &NodalCoordinates<D>,
nodal_velocities: &NodalVelocities<D>,
nodal_forces: &mut NodalForcesSolid<D>,
) -> Result<(), ElementModelError>;
fn nodal_stiffnesses_into(
&self,
nodal_coordinates: &NodalCoordinates<D>,
nodal_velocities: &NodalVelocities<D>,
nodal_stiffnesses: &mut NodalDampingsSolid<D>,
) -> Result<(), ElementModelError>;
// Provided methods
fn nodal_forces(
&self,
nodal_coordinates: &NodalCoordinates<D>,
nodal_velocities: &NodalVelocities<D>,
) -> Result<NodalForcesSolid<D>, ElementModelError> { ... }
fn nodal_stiffnesses(
&self,
nodal_coordinates: &NodalCoordinates<D>,
nodal_velocities: &NodalVelocities<D>,
) -> Result<NodalDampingsSolid<D>, ElementModelError> { ... }
}Required Methods§
fn nodal_forces_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, nodal_forces: &mut NodalForcesSolid<D>, ) -> Result<(), ElementModelError>
fn nodal_stiffnesses_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, nodal_stiffnesses: &mut NodalDampingsSolid<D>, ) -> Result<(), ElementModelError>
Provided Methods§
fn nodal_forces( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, ) -> Result<NodalForcesSolid<D>, ElementModelError>
fn nodal_stiffnesses( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, ) -> Result<NodalDampingsSolid<D>, ElementModelError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".