pub struct HydrogelModel {
pub chi: f64,
pub n_chains: f64,
pub nu_0: f64,
pub molar_volume_solvent: f64,
pub shear_modulus: f64,
}Expand description
Flory-Rehner equilibrium swelling model for hydrogels.
Balances elastic (network) and mixing (polymer-solvent) free energies to find the equilibrium swelling ratio Q.
Fields§
§chi: f64Flory-Huggins interaction parameter χ (dimensionless).
n_chains: f64Number of chain segments between cross-links N (Kuhn monomers).
nu_0: f64Reference polymer volume fraction ν_0 (dry state, typically 1.0).
molar_volume_solvent: f64Molar volume of solvent [m³/mol].
shear_modulus: f64Shear modulus of dry network G_0 [Pa].
Implementations§
Source§impl HydrogelModel
impl HydrogelModel
Sourcepub fn new(chi: f64, n_chains: f64, shear_modulus: f64) -> Self
pub fn new(chi: f64, n_chains: f64, shear_modulus: f64) -> Self
Construct a HydrogelModel with standard parameters.
Sourcepub fn mixing_chemical_potential(&self, phi: f64) -> f64
pub fn mixing_chemical_potential(&self, phi: f64) -> f64
Mixing free energy (Flory-Huggins) chemical potential term [dimensionless].
Δμ_mix / (RT) = ln(1-φ) + φ + χ*φ² where φ = polymer volume fraction.
Sourcepub fn elastic_chemical_potential(&self, phi: f64) -> f64
pub fn elastic_chemical_potential(&self, phi: f64) -> f64
Elastic free energy chemical potential term [dimensionless].
Δμ_el / (RT) = (Vs/Vref) * N^(-1) * (φ/2 - φ^(1/3))
Sourcepub fn total_chemical_potential(&self, phi: f64) -> f64
pub fn total_chemical_potential(&self, phi: f64) -> f64
Total chemical potential (mixing + elastic) for equilibrium condition.
Sourcepub fn equilibrium_swelling_ratio(&self) -> f64
pub fn equilibrium_swelling_ratio(&self) -> f64
Find equilibrium swelling ratio Q = V_swollen / V_dry numerically.
Solves μ_total(φ) = 0 by bisection over φ ∈ [1e-4, 1-1e-4].
Returns volumetric swelling ratio Q = 1/φ_eq.
Trait Implementations§
Source§impl Clone for HydrogelModel
impl Clone for HydrogelModel
Source§fn clone(&self) -> HydrogelModel
fn clone(&self) -> HydrogelModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more