pub trait HyperelasticElements<const D: usize>where
Self: ElasticElements<D>,{
// Required methods
fn helmholtz_free_energy(
&self,
nodal_coordinates: &NodalCoordinates<D>,
) -> Result<Quantity<Energy>, ElementModelError>;
fn nodal_stiffnesses_symmetric_into(
&self,
nodal_coordinates: &NodalCoordinates<D>,
nodal_stiffnesses: &mut NodalStiffnessesSolidSymmetric<D>,
) -> Result<(), ElementModelError>;
// Provided method
fn nodal_stiffnesses_symmetric(
&self,
nodal_coordinates: &NodalCoordinates<D>,
) -> Result<NodalStiffnessesSolidSymmetric<D>, ElementModelError> { ... }
}Required Methods§
fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<Quantity<Energy>, ElementModelError>
fn nodal_stiffnesses_symmetric_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_stiffnesses: &mut NodalStiffnessesSolidSymmetric<D>, ) -> Result<(), ElementModelError>
Provided Methods§
fn nodal_stiffnesses_symmetric( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<NodalStiffnessesSolidSymmetric<D>, ElementModelError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".