///|
/// Core domain types and validated constructors.
pub using @domain {
type EquilibriumPoint,
type ExtractionError,
type PhaseSplit,
type TernaryComposition,
type TieLine,
approximately_equal,
is_finite,
}
///|
/// Table interpolation and equilibrium relations.
pub using @interpolation {
type EquilibriumTable,
type Extrapolation,
type LinearTable,
}
///|
/// Liquid-liquid extraction balances.
pub using @liquid {
type CountercurrentResult,
type CountercurrentStage,
type CrosscurrentResult,
type CrosscurrentStage,
type SingleStageResult,
countercurrent_constant_k,
crosscurrent_constant_k,
crosscurrent_equal_solvent,
distribution_coefficient,
extraction_factor,
minimum_countercurrent_stages,
recovery_fraction,
selectivity,
single_stage_constant_k,
single_stage_table,
}
///|
/// Solid-liquid leaching and washing balances.
pub using @leaching {
type CrosscurrentLeachingResult,
type LeachingStage,
type LeachingStageResult,
crosscurrent_equal_wash,
crosscurrent_leach,
single_stage_leach,
wash_for_target,
}
///|
/// Ternary diagram geometry and phase splitting.
pub using @ternary {
type BinodalCurve,
type BoundaryIntersection,
type BoundaryProjection,
type CartesianPoint,
type LeverResult,
type TieLineTable,
from_cartesian,
lever_rule,
mix_point,
split_on_tie_line,
to_cartesian,
}
///|
/// Graphical stage calculation.
pub using @stages {
type EfficiencyStageResult,
type EfficiencyStep,
type ExtractionStep,
type StageCountResult,
mccabe_thiele_stages,
operating_line,
shortcut_actual_stages,
stages_with_efficiency_profile,
stages_with_uniform_efficiency,
}
///|
/// Text data ingestion.
pub using @data {type CsvOptions, parse_equilibrium_csv, parse_tie_lines_csv}
///|
/// Process sizing and sensitivity calculations.
pub using @design {
type ContactPattern,
type SensitivityPoint,
type SolventDesign,
compare_contact_patterns,
single_stage_sensitivity,
solvent_for_countercurrent,
solvent_for_crosscurrent,
solvent_for_single_stage,
}
///|
/// Batch scenarios, statistics, balance audits and uncertainty envelopes.
pub using @analysis {
type BalanceAudit,
type NumericSummary,
type RecoveryEnvelope,
type ScenarioResult,
type ScenarioSummary,
type SingleStageScenario,
audit_balances,
run_single_stage_scenario,
run_single_stage_scenarios,
single_stage_recovery_envelope,
summarize,
summarize_scenarios,
sweep_distribution,
sweep_solvent_flow,
}
///|
/// Measurement calibration and engineering unit helpers.
pub using @calibration {
type CrossValidation,
type EfficiencyCalibration,
type Observation,
type RegressionModel,
calibrate_efficiency,
fit_linear,
fit_polynomial,
leave_one_out,
}
///|
pub using @units {
type Concentration,
type Duration,
type Mass,
type MassFlow,
type MassUnit,
type TimeUnit,
concentration_from_fraction,
}
///|
pub using @reporting {
type AuditReport,
type Finding,
type Severity,
analysis_balance_report,
balance_report,
}
///|
/// Screening models, deterministic experiment design and geometric reports.
pub using @optimization {
type DesignPoint,
type SearchResult,
bounded_minimize,
grid_minimize,
pareto_front,
}
///|
pub using @sampling {
type Range,
type Statistics,
cartesian_grid,
latin_hypercube,
linspace,
quantile,
}
///|
pub using @thermo {
type ActivityModel,
type EquilibriumCurve,
activity_factor,
sample_curve,
validate_curve,
}
///|
pub using @geometry {type Point, centroid, contains, polygon_area}
///|
pub using @process {
type LedgerEntry,
type OperatingWindow,
type SafetyFactor,
type Violation,
apply_safety_factor,
ledger_entry,
ledger_passes,
maximum_residual,
recommended_safety_factor,
}
///|
pub using @export {type SvgCanvas, map_unit_triangle, ternary_triangle}
///|
pub using @benchmarks {
type BenchmarkCase,
type BenchmarkResult,
average_recovery,
casebook,
run_casebook,
}