zhaoyuanjuns/moonbit_extractor/stages does not have a README file
pub(all) struct AllocationPlan {
stages : Array[StageAllocation]
average_efficiency : Double
minimum_efficiency : Double
maximum_efficiency : Double
total_transfer : Double
balanced : Bool
} derive(Eq, ToJson, Debug)pub(all) struct EfficiencyStageResult {
steps : Array[EfficiencyStep]
actual_stages : Double
complete_stages : Int
target_raffinate : Double
feed_concentration_reached : Double
average_efficiency : Double
} derive(Eq, ToJson, Debug)pub(all) struct StageCountResult {
steps : Array[ExtractionStep]
theoretical_stages : Double
complete_stages : Int
feed_concentration_reached : Double
target_raffinate : Double
balance_residual : Double
} derive(Eq, ToJson, Debug)pub(all) struct StageProfile {
points : Array[StageProfilePoint]
total_transfer : Double
average_driving_force : Double
minimum_driving_force : Double
limiting_stage : Int
minimum_efficiency : Double
maximum_efficiency : Double
} derive(Eq, ToJson, Debug)fn allocate_by_load(ideal_efficiencies : ArrayView[Double], stage_loads : ArrayView[Double], total_efficiency : Double) -> AllocationPlan raise ExtractionErrorfn allocate_efficiency_budget(stage_count~ : Int, average_efficiency~ : Double, limiting_stage~ : Int, limiting_efficiency~ : Double) -> Array[Double] raise ExtractionErrorfn limiting_efficiency_scenario(scenarios : ArrayView[EfficiencyScenario]) -> EfficiencyScenario raise ExtractionErrorfn mccabe_thiele_stages(equilibrium~ : EquilibriumTable, carrier_flow~ : Double, solvent_flow~ : Double, feed_concentration~ : Double, target_raffinate~ : Double, solvent_inlet_concentration? : Double, maximum_stages? : Int, tolerance? : Double) -> StageCountResult raise ExtractionErrorfn operating_line(carrier_flow~ : Double, solvent_flow~ : Double, raffinate_product~ : Double, solvent_inlet~ : Double, xs : ArrayView[Double]) -> Array[EquilibriumPoint] raise ExtractionErrorfn plan_rebalance(plan : AllocationPlan, target_efficiency : Double) -> AllocationPlan raise ExtractionErrorfn required_efficiency_for_target(theoretical_stages~ : Double, actual_stage_limit~ : Double) -> Double raise ExtractionErrorfn required_stages_for_efficiency(target_recovery : Double, stage_efficiency : Double) -> Int raise ExtractionErrorfn review_profile(profile : StageProfile, minimum_efficiency~ : Double, minimum_driving_force~ : Double) -> Array[ProfileAlert] raise ExtractionErrorfn scenario_requirements(names : ArrayView[String], multipliers : ArrayView[Double], target_recovery : Double, base_efficiency : Double) -> Array[EfficiencyScenario] raise ExtractionErrorfn shortcut_actual_stages(theoretical_stages : Double, overall_efficiency : Double) -> Double raise ExtractionErrorfn smooth_efficiency_profile(efficiencies : ArrayView[Double], window~ : Int) -> Array[Double] raise ExtractionErrorfn stages_with_efficiency_profile(equilibrium~ : EquilibriumTable, carrier_flow~ : Double, solvent_flow~ : Double, feed_concentration~ : Double, target_raffinate~ : Double, efficiencies : ArrayView[Double], solvent_inlet_concentration? : Double, tolerance? : Double) -> EfficiencyStageResult raise ExtractionErrorfn stages_with_uniform_efficiency(equilibrium~ : EquilibriumTable, carrier_flow~ : Double, solvent_flow~ : Double, feed_concentration~ : Double, target_raffinate~ : Double, efficiency~ : Double, solvent_inlet_concentration? : Double, maximum_stages? : Int, tolerance? : Double) -> EfficiencyStageResult raise ExtractionErrorInstall
Download zipExtraction process calculation toolkit for liquid-liquid extraction and solid-liquid leaching