pub struct ConcreteMixDesign {
pub wc_ratio: f64,
pub cement: f64,
pub water: f64,
pub fine_agg: f64,
pub coarse_agg: f64,
pub superplasticiser: f64,
pub air_content: f64,
pub slump: f64,
}Expand description
Concrete mix design with water-cement ratio, admixtures, and aggregate grading.
Fields§
§wc_ratio: f64Water-cement ratio (w/c) by mass.
cement: f64Cement content (kg/m³).
water: f64Water content (kg/m³).
fine_agg: f64Fine aggregate content (kg/m³).
coarse_agg: f64Coarse aggregate content (kg/m³).
superplasticiser: f64Superplasticiser dosage (% bwc).
air_content: f64Air entrainment (%).
slump: f64Slump (mm).
Implementations§
Source§impl ConcreteMixDesign
impl ConcreteMixDesign
Sourcepub fn new(
wc_ratio: f64,
cement: f64,
fine_agg: f64,
coarse_agg: f64,
air_content: f64,
) -> Self
pub fn new( wc_ratio: f64, cement: f64, fine_agg: f64, coarse_agg: f64, air_content: f64, ) -> Self
Create a standard Normal Portland Cement mix.
Sourcepub fn c30_normal_weight() -> Self
pub fn c30_normal_weight() -> Self
Create a typical C30 normal-weight mix (approximate ACI 211 proportioning).
Sourcepub fn high_performance() -> Self
pub fn high_performance() -> Self
Create a high-performance mix with superplasticiser.
Sourcepub fn fresh_unit_weight(&self) -> f64
pub fn fresh_unit_weight(&self) -> f64
Fresh concrete unit weight (kg/m³), ignoring air.
Sourcepub fn abrams_strength(&self) -> f64
pub fn abrams_strength(&self) -> f64
Estimated 28-day compressive strength (MPa) via Abrams’ law. fc = A / B^(w/c), with A=96 MPa, B=8.6 for OPC.
Sourcepub fn paste_volume(&self) -> f64
pub fn paste_volume(&self) -> f64
Volume of paste (m³/m³ concrete).
Sourcepub fn aggregate_cement_ratio(&self) -> f64
pub fn aggregate_cement_ratio(&self) -> f64
Aggregate-cement ratio by mass.
Sourcepub fn meets_durability_wc_limit(&self, max_wc: f64) -> bool
pub fn meets_durability_wc_limit(&self, max_wc: f64) -> bool
Check Duff Abrams water-cement ratio limit for durability (≤ 0.50 for exposure class C2).
Sourcepub fn combined_fineness_modulus(&self, fm_fine: f64, fm_coarse: f64) -> f64
pub fn combined_fineness_modulus(&self, fm_fine: f64, fm_coarse: f64) -> f64
Fineness modulus of combined aggregate (simplified weighted average).
fm_fine = fineness modulus of fine agg, fm_coarse = coarse.
Trait Implementations§
Source§impl Clone for ConcreteMixDesign
impl Clone for ConcreteMixDesign
Source§fn clone(&self) -> ConcreteMixDesign
fn clone(&self) -> ConcreteMixDesign
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more