pub trait Viscoplastic<Y>{
// Required methods
fn initial_state(&self) -> ViscoplasticStateVariables<Y>;
fn plastic_evolution(
&self,
mandel_stress: MandelStressElastic,
state_variables: &ViscoplasticStateVariables<Y>,
) -> Result<ViscoplasticEvolution<Y>, ConstitutiveError>;
fn rate_sensitivity(&self) -> Scalar;
fn reference_flow_rate(&self) -> Quantity<Rate>;
// Provided methods
fn plastic_stretching_rate(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<StretchingRatePlastic, ConstitutiveError> { ... }
fn dissipation_potential(
&self,
plastic_stretching_rate: StretchingRatePlastic,
yield_stress: Quantity<Stress>,
) -> Result<Quantity<Dissipation>, ConstitutiveError> { ... }
fn dual_dissipation_potential(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<Quantity<Dissipation>, 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<ViscoplasticEvolution<Y>, ConstitutiveError>
fn plastic_evolution( &self, mandel_stress: MandelStressElastic, state_variables: &ViscoplasticStateVariables<Y>, ) -> Result<ViscoplasticEvolution<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) -> Quantity<Rate>
fn reference_flow_rate(&self) -> Quantity<Rate>
Returns the reference flow rate.
Provided Methods§
Sourcefn plastic_stretching_rate(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<StretchingRatePlastic, ConstitutiveError>
fn plastic_stretching_rate( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<StretchingRatePlastic, ConstitutiveError>
Calculates and returns the rate of plastic stretching.
\mathbf{D}_\mathrm{p}(\mathbf{M}_\mathrm{e}') = d_0\left(\frac{|\mathbf{M}_\mathrm{e}'|}{Y(S)}\right)^{\footnotesize\tfrac{1}{m}}\frac{\mathbf{M}_\mathrm{e}'}{|\mathbf{M}_\mathrm{e}'|}Sourcefn dissipation_potential(
&self,
plastic_stretching_rate: StretchingRatePlastic,
yield_stress: Quantity<Stress>,
) -> Result<Quantity<Dissipation>, ConstitutiveError>
fn dissipation_potential( &self, plastic_stretching_rate: StretchingRatePlastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError>
Calculates and returns the dissipation potential.
\phi(\mathbf{D}_\mathrm{p}) = \frac{Yd_0}{1+m}\left(\frac{|\mathbf{D}_\mathrm{p}|}{d_0}\right)^{1+m}Sourcefn dual_dissipation_potential(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<Quantity<Dissipation>, ConstitutiveError>
fn dual_dissipation_potential( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError>
Calculates and returns the dual dissipation potential.
\phi^*(\mathbf{M}_\mathrm{e}') = \frac{Yd_0m}{1+m}\left(\frac{|\mathbf{M}_\mathrm{e}'|}{Y(S)}\right)^{\footnotesize\tfrac{1+m}{m}}Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".