zhaoyuanjuns/moonbit_extractor/thermo does not have a README file
fn AntoineCorrelation::vapor_pressure(self : AntoineCorrelation, temperature : Double) -> Double raise ExtractionErrorpub(all) struct EnvelopeCurve {
component : String
points : Array[EnvelopePoint]
bubble_pressure : Double
dew_pressure : Double
minimum_temperature : Double
maximum_temperature : Double
} derive(Eq, ToJson, Debug)pub(all) struct VaporPressureCorrelation {
reference_temperature_kelvin : Double
coefficient_zero : Double
coefficient_one : Double
coefficient_two : Double
coefficient_three : Double
minimum_temperature_kelvin : Double
maximum_temperature_kelvin : Double
pressure_unit : PressureUnit
} derive(Eq, ToJson, Debug)fn VaporPressureCorrelation::new(reference_temperature~ : Temperature, coefficient_zero~ : Double, coefficient_one~ : Double, coefficient_two~ : Double, coefficient_three~ : Double, minimum_temperature~ : Temperature, maximum_temperature~ : Temperature, pressure_unit~ : PressureUnit) -> VaporPressureCorrelation raise ExtractionErrorfn VaporPressureCorrelation::pressure(self : VaporPressureCorrelation, temperature : Temperature) -> Pressure raise ExtractionErrorfn VaporPressureCorrelation::relative_pressure_change(self : VaporPressureCorrelation, first : Temperature, second : Temperature) -> Double raise ExtractionErrorfn VaporPressureCorrelation::slope(self : VaporPressureCorrelation, temperature : Temperature) -> Double raise ExtractionErrorfn activity_coefficient(model : NonIdealActivityModel, component_fraction~ : Double, component_index~ : Int) -> Double raise ExtractionErrorfn activity_pair(model : NonIdealActivityModel, first_fraction~ : Double) -> ActivityPair raise ExtractionErrorfn all_components_recovered_above(result : FlashResult, threshold~ : Double) -> Bool raise ExtractionErrorfn binary_equilibrium_point(model : NonIdealActivityModel, first_fraction~ : Double, temperature~ : Temperature, pressure~ : Pressure, first_vapor_pressure~ : VaporPressureCorrelation, second_vapor_pressure~ : VaporPressureCorrelation) -> BinaryEquilibriumPoint raise ExtractionErrorfn bubble_pressure(liquid_composition : Double, saturation_pressure_one : Double, saturation_pressure_two : Double) -> Double raise ExtractionErrorfn bubble_temperature_estimate(pressure : Double, normal_boiling_one : Double, normal_boiling_two : Double, liquid_composition : Double) -> Double raise ExtractionErrorfn build_envelope(component~ : String, temperatures : ArrayView[Double], pressures : ArrayView[Double], relative_volatility : Double) -> EnvelopeCurve raise ExtractionErrorfn capillary_number(viscosity : Double, velocity : Double, surface_tension : Double) -> Double raise ExtractionErrorfn classify_relative_volatility(relative_volatility : Double) -> Stringfn component_contribution(property : ComponentProperty, composition : Double) -> (Double, Double, Double, Double)fn density_at(correlation : DensityCorrelation, temperature : Double, pressure_factor : Double) -> Double raise ExtractionErrorfn dew_pressure(vapor_composition : Double, saturation_pressure_one : Double, saturation_pressure_two : Double) -> Double raise ExtractionErrorfn dew_temperature_estimate(pressure : Double, normal_boiling_one : Double, normal_boiling_two : Double, vapor_composition : Double) -> Double raise ExtractionErrorfn envelope_points_at_pressure(curve : EnvelopeCurve, pressure : Double, tolerance : Double) -> Array[EnvelopePoint]fn envelope_points_at_temperature(curve : EnvelopeCurve, temperature : Double, tolerance : Double) -> Array[EnvelopePoint]fn equilibrium_k_value(relative_volatility : Double, composition : Double) -> Double raise ExtractionErrorfn excess_gibbs_energy(model : NonIdealActivityModel, first_fraction~ : Double, temperature~ : Temperature) -> Double raise ExtractionErrorfn flash_diagnostics(result : FlashResult, composition_tolerance? : Double) -> Array[FlashDiagnostic] raise ExtractionErrorfn flash_envelope(feed : ArrayView[Double], k_values : ArrayView[Double], vapor_fractions : ArrayView[Double]) -> Array[PhaseEnvelopePoint] raise ExtractionErrorfn flash_sensitivity(feed : ArrayView[Double], k_values : ArrayView[Double], component : Int, relative_step? : Double) -> FlashSensitivity raise ExtractionErrorfn interpolate_envelope_point(first : EnvelopePoint, second : EnvelopePoint, temperature : Double) -> EnvelopePoint raise ExtractionErrorfn isothermal_flash(feed_composition~ : ArrayView[Double], k_values~ : ArrayView[Double], tolerance? : Double, maximum_iterations? : Int) -> FlashResult raise ExtractionErrorfn k_value(activity_coefficient~ : Double, vapor_pressure~ : Pressure, system_pressure~ : Pressure) -> Double raise ExtractionErrorfn liquid_composition_from_k(vapor_composition : Double, k_value : Double) -> Double raise ExtractionErrorfn make_envelope_point(temperature : Double, pressure : Double, liquid_composition : Double, relative_volatility : Double) -> EnvelopePoint raise ExtractionErrorfn mixture_boiling_temperature(components : ArrayView[ComponentProperty], composition : ArrayView[Double]) -> Double raise ExtractionErrorfn mixture_density(components : ArrayView[ComponentProperty], composition : ArrayView[Double]) -> Double raise ExtractionErrorfn mixture_heat_capacity(components : ArrayView[ComponentProperty], composition : ArrayView[Double]) -> Double raise ExtractionErrorfn mixture_molecular_weight(components : ArrayView[ComponentProperty], composition : ArrayView[Double]) -> Double raise ExtractionErrorfn mixture_normalize_composition(composition : ArrayView[Double]) -> Array[Double] raise ExtractionErrorfn mixture_pressure_shift(mixture : MixtureProperty, target_pressure : Double, compressibility : Double) -> MixturePropertyfn mixture_property(temperature : Double, pressure : Double, components : ArrayView[ComponentProperty], composition : ArrayView[Double]) -> MixtureProperty raise ExtractionErrorfn mixture_temperature_shift(mixture : MixtureProperty, target_temperature : Double, thermal_expansion : Double) -> MixturePropertyfn mixture_viscosity(components : ArrayView[ComponentProperty], composition : ArrayView[Double]) -> Double raise ExtractionErrorfn pressure_correction(pressure : Pressure, second_virial_coefficient~ : Double, temperature : Temperature) -> Double raise ExtractionErrorfn property_grid(temperatures : ArrayView[Double], pressures : ArrayView[Double], vapor_pressure_model : AntoineCorrelation, density_model : DensityCorrelation, viscosity_model : ViscosityCorrelation, reference_surface_tension : Double, critical_temperature : Double) -> Array[PropertyPoint] raise ExtractionErrorfn property_point(temperature : Double, pressure : Double, vapor_pressure_model : AntoineCorrelation, density_model : DensityCorrelation, viscosity_model : ViscosityCorrelation, reference_surface_tension : Double, critical_temperature : Double) -> PropertyPoint raise ExtractionErrorfn property_sensitivity(baseline : MixtureProperty, perturbed : MixtureProperty, component : String, composition_change : Double) -> PropertySensitivityfn relative_volatility(k_values : ArrayView[Double], reference_index : Int) -> Array[Double] raise ExtractionErrorfn reynolds_number(density : Double, velocity : Double, diameter : Double, viscosity : Double) -> Double raise ExtractionErrorfn surface_tension_at(reference_surface_tension : Double, reference_temperature : Double, temperature : Double, critical_temperature : Double) -> Double raise ExtractionErrorfn tie_line(liquid_composition : Double, vapor_composition : Double, overall_composition : Double, temperature : Double) -> TieLine raise ExtractionErrorfn validate_curve(curve : EquilibriumCurve, tolerance~ : Double) -> Array[String] raise ExtractionErrorfn vapor_composition_from_k(liquid_composition : Double, k_value : Double) -> Double raise ExtractionErrorfn viscosity_at(correlation : ViscosityCorrelation, temperature : Double) -> Double raise ExtractionErrorInstall
Download zipExtraction process calculation toolkit for liquid-liquid extraction and solid-liquid leaching