zhaoyuanjuns/moonbit_extractor/analysis does not have a README file
pub(all) struct DecisionTrace {
study : String
events : Array[TraceEvent]
passed : Bool
failure_count : Int
warning_count : Int
} derive(Eq, ToJson, Debug)fn DecisionTrace::record(self : DecisionTrace, category : String, name : String, input : String, output : String, passed : Bool, note : String) -> DecisionTracepub(all) struct RecoveryEnvelope {
nominal : SingleStageResult
minimum_recovery : Double
maximum_recovery : Double
minimum_case : SingleStageScenario
maximum_case : SingleStageScenario
evaluated_cases : Int
} derive(Eq, ToJson, Debug)pub(all) struct ScenarioResult {
name : String
input : SingleStageScenario
result : SingleStageResult
extraction_factor : Double
} derive(Eq, ToJson, Debug)pub(all) struct ScenarioSummary {
recovery : NumericSummary
raffinate_concentration : NumericSummary
extract_concentration : NumericSummary
extraction_factor : NumericSummary
maximum_absolute_balance_residual : Double
} derive(Eq, ToJson, Debug)fn SingleStageScenario::new(name~ : String, feed_flow~ : Double, feed_concentration~ : Double, solvent_flow~ : Double, solvent_concentration? : Double, distribution~ : Double) -> SingleStageScenario raise ExtractionErrorfn StudyCase::new(name~ : String, feed_flow~ : Double, feed_concentration~ : Double, solvent_flow~ : Double, distribution~ : Double, target_recovery? : Double) -> StudyCase raise ExtractionErrorpub(all) struct StudyCaseResult {
case_name : String
result : SingleStageResult
passed : Bool
recovery_margin : Double
solvent_to_feed : Double
} derive(Eq, ToJson, Debug)pub(all) struct StudyMatrix {
cases : Array[StudyCase]
results : Array[StudyCaseResult]
passed_count : Int
failed_count : Int
best_recovery : StudyCaseResult
worst_recovery : StudyCaseResult
} derive(Eq, ToJson, Debug)fn audit_balances(results : ArrayView[ScenarioResult], tolerance? : Double) -> BalanceAudit raise ExtractionErrorfn decide(target : String, values : ArrayView[Double], target_value : Double, minimum_probability : Double, confidence : Double) -> DecisionSummary raise ExtractionErrorfn decision_is_robust(summary : DecisionSummary, minimum_probability : Double, minimum_confidence : Double) -> Boolfn metric(name : String, value : Double, lower : Double, upper : Double, unit : String) -> TraceMetricfn recovery_elasticity(base : StudyCase, relative_step? : Double) -> (Double, Double) raise ExtractionErrorfn risk_band(name : String, values : ArrayView[Double], lower_probability : Double, upper_probability : Double, target : Double) -> RiskBand raise ExtractionErrorfn run_single_stage_scenario(scenario : SingleStageScenario) -> ScenarioResult raise ExtractionErrorfn run_single_stage_scenarios(scenarios : ArrayView[SingleStageScenario]) -> Array[ScenarioResult] raise ExtractionErrorfn sensitivity_contributions(parameters : ArrayView[String], elasticities : ArrayView[Double], baseline : Double) -> Array[SensitivityContribution]fn sensitivity_matrix(base : StudyCase, feed_multipliers : ArrayView[Double], solvent_multipliers : ArrayView[Double]) -> Array[StudyCaseResult] raise ExtractionErrorfn single_stage_recovery_envelope(feed_flow~ : Double, feed_concentration~ : Double, nominal_solvent_flow~ : Double, solvent_flow_lower~ : Double, solvent_flow_upper~ : Double, nominal_distribution~ : Double, distribution_lower~ : Double, distribution_upper~ : Double) -> RecoveryEnvelope raise ExtractionErrorfn summarize_scenarios(results : ArrayView[ScenarioResult]) -> ScenarioSummary raise ExtractionErrorfn sweep_distribution(feed_flow~ : Double, feed_concentration~ : Double, solvent_flow~ : Double, distributions : ArrayView[Double]) -> Array[ScenarioResult] raise ExtractionErrorfn sweep_solvent_flow(feed_flow~ : Double, feed_concentration~ : Double, solvent_flows : ArrayView[Double], distribution~ : Double) -> Array[ScenarioResult] raise ExtractionErrorInstall
Download zipExtraction process calculation toolkit for liquid-liquid extraction and solid-liquid leaching