pub struct EntanglementModel {
pub density: f64,
pub molecular_weight: f64,
pub entanglement_mw: f64,
pub temperature: f64,
pub friction_coeff: f64,
pub segment_length: f64,
}Expand description
Entanglement and reptation dynamics model.
Describes chain diffusion, plateau modulus, and Rouse-reptation crossover.
Fields§
§density: f64Polymer density ρ [kg/m³]
molecular_weight: f64Number-average molecular weight M_n [kg/mol]
entanglement_mw: f64Entanglement molecular weight M_e [kg/mol]
temperature: f64Temperature [K]
friction_coeff: f64Monomeric friction coefficient ζ_0 [N·s/m]
segment_length: f64Segment length b [m]
Implementations§
Source§impl EntanglementModel
impl EntanglementModel
Sourcepub fn new(
density: f64,
molecular_weight: f64,
entanglement_mw: f64,
temperature: f64,
friction_coeff: f64,
segment_length: f64,
) -> Self
pub fn new( density: f64, molecular_weight: f64, entanglement_mw: f64, temperature: f64, friction_coeff: f64, segment_length: f64, ) -> Self
Create entanglement model.
§Arguments
density- Polymer density [kg/m³]molecular_weight- Polymer M_n [kg/mol]entanglement_mw- Entanglement M_e [kg/mol]temperature- Temperature [K]friction_coeff- Monomeric friction coefficient [N·s/m]segment_length- Statistical segment length [m]
Sourcepub fn plateau_modulus(&self) -> f64
pub fn plateau_modulus(&self) -> f64
Plateau modulus G_N = ρRT / M_e [Pa].
Sourcepub fn entanglement_number(&self) -> f64
pub fn entanglement_number(&self) -> f64
Number of entanglements per chain Z = M_n / M_e.
Sourcepub fn rouse_time(&self) -> f64
pub fn rouse_time(&self) -> f64
Rouse relaxation time: τ_R = ζ_0 * N² * b² / (6π² * kT).
Sourcepub fn reptation_time(&self) -> f64
pub fn reptation_time(&self) -> f64
Reptation (terminal) time: τ_d = 3 * Z³ * τ_e (simplified: τ_d ~ Z³ * τ_R).
Sourcepub fn diffusion_coefficient(&self) -> f64
pub fn diffusion_coefficient(&self) -> f64
Self-diffusion coefficient in reptation regime: D ~ kTM_e / (ζN²).
Sourcepub fn is_entangled(&self) -> bool
pub fn is_entangled(&self) -> bool
Is the chain entangled? (M_n > 2 * M_e is the common criterion)
Auto Trait Implementations§
impl Freeze for EntanglementModel
impl RefUnwindSafe for EntanglementModel
impl Send for EntanglementModel
impl Sync for EntanglementModel
impl Unpin for EntanglementModel
impl UnsafeUnpin for EntanglementModel
impl UnwindSafe for EntanglementModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more