Skip to content
OFFICIAL SS DOCUMENTATION

SS.Chemistry 1.2.0

Owned species/formula data, conserved multireaction networks, coupled ideal equilibrium, positivity-preserving adaptive mass-action integration, temperature-adjusted network thermochemistry, reaction balancing and chemistry fundamentals
API 1.2.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

No package dependencies declared.

Public API

Public signature
export function advanceMassAction(BalancedReaction reaction, double[] initialConcentrations, double forwardRate, double reverseRate, double timeStep, int steps)->KineticHistory

Parameters: reaction: BalancedReaction, initialConcentrations: double[], forwardRate: double, reverseRate: double, timeStep: double, steps: int


Public signature
export record BalancedReaction(public Species[] species, public int reactantCount, public int[] coefficients, public double conservationResidual, public string equation)

Parameters: species: Species[], reactantCount: int, coefficients: int[], conservationResidual: double, equation: string


Public signature
export function balanceReaction(Species[] values, int reactantCount)->BalancedReaction

Parameters: values: Species[], reactantCount: int


Public signature
export function chargeResidual(double[] concentrations, int[] charges)->double

Parameters: concentrations: double[], charges: int[]


Public signature
export function composition(double[] componentMasses)->CompositionResult

Parameters: componentMasses: double[]


Public signature
export record CompositionResult(public double totalMass, public double[] massFractions, public bool conserved)

Parameters: totalMass: double, massFractions: double[], conserved: bool


Public signature
export record CoupledEquilibriumResult(public double[] amounts, public double[] reactionExtents, public double[] logResiduals, public double conservationResidual, public int iterations, public bool converged, public string diagnostic)

Parameters: amounts: double[], reactionExtents: double[], logResiduals: double[], conservationResidual: double, iterations: int, converged: bool, diagnostic: string


Public signature
export function dilutionVolume(double initialConcentration, double initialVolume, double finalConcentration)->double

Parameters: initialConcentration: double, initialVolume: double, finalConcentration: double


Public signature
export function element(string symbol, int atomicNumber, double molarMass)->Element

Parameters: symbol: string, atomicNumber: int, molarMass: double


Public signature
export record Element(public string symbol, public int atomicNumber, public double molarMass)

Parameters: symbol: string, atomicNumber: int, molarMass: double


Public signature
export record EquilibriumResult(public double[] amounts, public double reactionExtent, public double reactionQuotient, public double logResidual, public double conservationResidual, public int iterations, public bool converged, public string diagnostic)

Parameters: amounts: double[], reactionExtent: double, reactionQuotient: double, logResidual: double, conservationResidual: double, iterations: int, converged: bool, diagnostic: string


Public signature
export record FormulaComposition(public string formula, public string[] elementSymbols, public int[] elementCounts, public double molarMass)

Parameters: formula: string, elementSymbols: string[], elementCounts: int[], molarMass: double


Public signature
export function idealGasAmount(double pressure, double volume, double temperature)->double

Parameters: pressure: double, volume: double, temperature: double


Public signature
export function integrateKineticNetwork(ReactionNetwork network, double[] initialConcentrations, double[] forwardRates, double[] reverseRates, double timeStep, int steps)->KineticHistory

Parameters: network: ReactionNetwork, initialConcentrations: double[], forwardRates: double[], reverseRates: double[], timeStep: double, steps: int


Public signature
export record KineticHistory(public double[] times, public double[] concentrations, public int speciesCount, public int steps, public double conservationResidual, public bool nonnegative, public string diagnostic)

Parameters: times: double[], concentrations: double[], speciesCount: int, steps: int, conservationResidual: double, nonnegative: bool, diagnostic: string


Public signature
export function limitingReactant(double[] availableMoles, double[] stoichiometricCoefficients)->LimitingResult

Parameters: availableMoles: double[], stoichiometricCoefficients: double[]


Public signature
export record LimitingResult(public int limitingIndex, public double reactionExtent, public double[] remaining)

Parameters: limitingIndex: int, reactionExtent: double, remaining: double[]


Public signature
export function massFromMoles(double amount, double molarMass)->double

Parameters: amount: double, molarMass: double


Public signature
export function molarity(double amount, double volume)->double

Parameters: amount: double, volume: double


Public signature
export function molesFromMass(double mass, double molarMass)->double

Parameters: mass: double, molarMass: double


Public signature
export function parseFormula(string formula, Element[] elements)->FormulaComposition

Parameters: formula: string, elements: Element[]


Public signature
export function reactionNetwork(Species[] species, double[] stoichiometry, int reactionCount, string provenance)->ReactionNetwork

Parameters: species: Species[], stoichiometry: double[], reactionCount: int, provenance: string


Public signature
export record ReactionNetwork(public Species[] species, public double[] stoichiometry, public int reactionCount, public double conservationResidual, public string provenance)

Parameters: species: Species[], stoichiometry: double[], reactionCount: int, conservationResidual: double, provenance: string


Public signature
export record ReactionNetworkThermochemistry(public double[] enthalpy, public double[] entropy, public double[] gibbsEnergy, public double[] equilibriumConstants, public double temperature, public double referenceTemperature)

Parameters: enthalpy: double[], entropy: double[], gibbsEnergy: double[], equilibriumConstants: double[], temperature: double, referenceTemperature: double


Public signature
export function reactionThermochemistry(BalancedReaction reaction, double temperature)->ReactionThermochemistry

Parameters: reaction: BalancedReaction, temperature: double


Public signature
export record ReactionThermochemistry(public double enthalpy, public double entropy, public double gibbsEnergy, public double equilibriumConstant, public double temperature)

Parameters: enthalpy: double, entropy: double, gibbsEnergy: double, equilibriumConstant: double, temperature: double


Public signature
export function reactionThermoFromProperties(ReactionNetwork network, double[] constantPressureHeatCapacities, double temperature, double referenceTemperature)->ReactionNetworkThermochemistry

Parameters: network: ReactionNetwork, constantPressureHeatCapacities: double[], temperature: double, referenceTemperature: double


Public signature
export function solveCoupledEquilibrium(ReactionNetwork network, double[] initialAmounts, double volume, double[] equilibriumConstants, double tolerance, int maximumIterations)->CoupledEquilibriumResult

Parameters: network: ReactionNetwork, initialAmounts: double[], volume: double, equilibriumConstants: double[], tolerance: double, maximumIterations: int


Public signature
export function solveIdealEquilibrium(BalancedReaction reaction, double[] initialAmounts, double volume, double equilibriumConstant, double tolerance, int maximumIterations)->EquilibriumResult

Parameters: reaction: BalancedReaction, initialAmounts: double[], volume: double, equilibriumConstant: double, tolerance: double, maximumIterations: int


Public signature
export function species(string name, string formula, int charge, double standardEnthalpy, double standardEntropy, string provenance, Element[] elements)->Species

Parameters: name: string, formula: string, charge: int, standardEnthalpy: double, standardEntropy: double, provenance: string, elements: Element[]


Public signature
export record Species(public string name, public string formula, public string[] elementSymbols, public int[] elementCounts, public int charge, public double molarMass, public double standardEnthalpy, public double standardEntropy, public string provenance)

Parameters: name: string, formula: string, elementSymbols: string[], elementCounts: int[], charge: int, molarMass: double, standardEnthalpy: double, standardEntropy: double, provenance: string


Public signature
export function strongAcidPh(double hydrogenConcentration)->double

Parameters: hydrogenConcentration: double


Documentation version

Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.