zhaoyuanjuns/moonbit_extractor/design does not have a README file
pub(all) struct SolventDesign {
pattern : ContactPattern
solvent_flow : Double
solvent_to_feed_ratio : Double
achieved_raffinate : Double
achieved_recovery : Double
iterations : Int
target_raffinate : Double
target_residual : Double
} derive(Eq, ToJson, Debug)fn SolventOption::new(name~ : String, distribution_coefficient~ : Double, selectivity~ : Double, density_difference~ : Double, viscosity~ : Double, volatility~ : Double, cost_index~ : Double, safety_index~ : Double) -> SolventOptionpub(all) struct SolventScore {
option : SolventOption
extraction_score : Double
handling_score : Double
sustainability_score : Double
total_score : Double
rank : Int
recommendation : String
} derive(Eq, ToJson, Debug)fn compare_contact_patterns(carrier_flow~ : Double, feed_concentration~ : Double, distribution~ : Double, target_raffinate~ : Double, maximum_stages? : Int) -> Array[SolventDesign] raise ExtractionErrorfn score_solvent(option : SolventOption, weights : ScreeningWeights) -> SolventScore raise ExtractionErrorfn score_solvents(options : ArrayView[SolventOption], weights : ScreeningWeights) -> Array[SolventScore] raise ExtractionErrorfn sensitivity_to_weight(options : ArrayView[SolventOption], extraction_weight : Double, handling_weight : Double, sustainability_weight : Double) -> Array[Double] raise ExtractionErrorfn single_stage_sensitivity(carrier_flow~ : Double, feed_concentration~ : Double, solvent_flow~ : Double, distribution~ : Double, relative_step? : Double) -> Array[SensitivityPoint] raise ExtractionErrorfn solvent_for_countercurrent(carrier_flow~ : Double, feed_concentration~ : Double, distribution~ : Double, target_raffinate~ : Double, stage_count~ : Int, solvent_inlet_concentration? : Double, tolerance? : Double) -> SolventDesign raise ExtractionErrorfn solvent_for_crosscurrent(carrier_flow~ : Double, feed_concentration~ : Double, distribution~ : Double, target_raffinate~ : Double, stage_count~ : Int, tolerance? : Double) -> SolventDesign raise ExtractionErrorfn solvent_for_single_stage(carrier_flow~ : Double, feed_concentration~ : Double, distribution~ : Double, target_raffinate~ : Double) -> SolventDesign raise ExtractionErrorfn solvent_is_usable(option : SolventOption, minimum_safety : Double, minimum_density_difference : Double) -> Boolfn usable_solvents(options : ArrayView[SolventOption], minimum_safety : Double, minimum_density_difference : Double) -> Array[SolventOption]Install
Download zipExtraction process calculation toolkit for liquid-liquid extraction and solid-liquid leaching