pub trait Viscoplastic<Y>{
// Required methods
fn initial_state(&self) -> ViscoplasticStateVariables<Y>;
fn plastic_evolution(
&self,
mandel_stress: MandelStressElastic,
state_variables: &ViscoplasticStateVariables<Y>,
) -> Result<ViscoplasticStateVariables<Y>, ConstitutiveError>;
fn rate_sensitivity(&self) -> Scalar;
fn reference_flow_rate(&self) -> Scalar;
// Provided method
fn plastic_stretching_rate(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Scalar,
) -> Result<StretchingRatePlastic, ConstitutiveError> { ... }
}Expand description
Required methods for viscoplastic fluid constitutive models.
Required Methods§
Sourcefn initial_state(&self) -> ViscoplasticStateVariables<Y>
fn initial_state(&self) -> ViscoplasticStateVariables<Y>
Returns the initial state of the variables.
Sourcefn plastic_evolution(
&self,
mandel_stress: MandelStressElastic,
state_variables: &ViscoplasticStateVariables<Y>,
) -> Result<ViscoplasticStateVariables<Y>, ConstitutiveError>
fn plastic_evolution( &self, mandel_stress: MandelStressElastic, state_variables: &ViscoplasticStateVariables<Y>, ) -> Result<ViscoplasticStateVariables<Y>, ConstitutiveError>
Calculates and returns the plastic evolution.
\dot{\mathbf{F}}_\mathrm{p} = \mathbf{D}_\mathrm{p}\cdot\mathbf{F}_\mathrm{p}\quad\text{and}\quad\dot{\varepsilon}_\mathrm{p} = |\mathbf{D}_\mathrm{p}|Sourcefn rate_sensitivity(&self) -> Scalar
fn rate_sensitivity(&self) -> Scalar
Returns the rate_sensitivity parameter.
Sourcefn reference_flow_rate(&self) -> Scalar
fn reference_flow_rate(&self) -> Scalar
Returns the reference flow rate.
Provided Methods§
Sourcefn plastic_stretching_rate(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Scalar,
) -> Result<StretchingRatePlastic, ConstitutiveError>
fn plastic_stretching_rate( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Scalar, ) -> Result<StretchingRatePlastic, ConstitutiveError>
Calculates and returns the rate of plastic stretching.
\mathbf{D}_\mathrm{p} = d_0\left(\frac{|\mathbf{M}_\mathrm{e}'|}{Y(S)}\right)^{\footnotesize\tfrac{1}{m}}\frac{\mathbf{M}_\mathrm{e}'}{|\mathbf{M}_\mathrm{e}'|}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.