pub trait ElasticViscoplasticFiniteElement<C, const G: usize, const M: usize, const N: usize, const P: usize>where
C: ElasticViscoplastic,
Self: SolidFiniteElement<G, M, N, P>,{
// Required methods
fn nodal_forces(
&self,
constitutive_model: &C,
nodal_coordinates: &ElementNodalCoordinates<N>,
state_variables: &ViscoplasticStateVariables<G>,
) -> Result<ElementNodalForcesSolid<N>, FiniteElementError>;
fn nodal_stiffnesses(
&self,
constitutive_model: &C,
nodal_coordinates: &ElementNodalCoordinates<N>,
state_variables: &ViscoplasticStateVariables<G>,
) -> Result<ElementNodalStiffnessesSolid<N>, FiniteElementError>;
fn state_variables_evolution(
&self,
constitutive_model: &C,
nodal_coordinates: &ElementNodalCoordinates<N>,
state_variables: &ViscoplasticStateVariables<G>,
) -> Result<ViscoplasticStateVariables<G>, FiniteElementError>;
}Required Methods§
fn nodal_forces( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, state_variables: &ViscoplasticStateVariables<G>, ) -> Result<ElementNodalForcesSolid<N>, FiniteElementError>
fn nodal_stiffnesses( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, state_variables: &ViscoplasticStateVariables<G>, ) -> Result<ElementNodalStiffnessesSolid<N>, FiniteElementError>
fn state_variables_evolution( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates<N>, state_variables: &ViscoplasticStateVariables<G>, ) -> Result<ViscoplasticStateVariables<G>, FiniteElementError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.