The Chemical library can describe the following phenomena.

Chemical Components


Chemical solution

The solution is the base component of each model, because it defines the conditions of the electro-chemical processes. It integrates the total amount of substance (called amount of solution), heat, charge, entropy, volume and others from each substances to present the base properties such as temperature, pressure, electric potential and others. The usage is very simple - just connect each chemical substance with its chemical solution using their SolutionPort.

Chemical substance

The chemical substance integrates the amount of the chemical substance and from the properties of the connected solution it presents the electro-chemical potential of the substance using the SubstancePort.

There are two basic states of matter: ideal gas and incompressible substance. However, the user can easily (re)define their own state of matter by inserting the correct expressions for the pure substance activity coefficient, molar volume, molar entropy and molar enthalpy, based on the current solution state (temperature, pressure, electric potential and ionic strength) and the substance data. The object-oriented design allows users to define the substance data record as part of the state of matter package. Users can select substance parameters according to the state of matter, redefining the getter functions of substance properties.

The examples work with ideal gases in case of all gaseous substance and incompressible state of matter in case of liquid or solid. The definition data are the molar mass of the substance, the number of charges of the substance, the molar heat capacity of the substance at a constant pressure, free formation enthalpy, free formation Gibbs energy and density (if incompressible) — all at a temperature of 25°C and pressure 1 bar. Since these parameters are usually recorded in chemical tables at this standard conditions. In this manner, more than 35 real chemical substances in the example package of this chemical library have already been defined. The usage of these predefined substances’ data is very simple. In the parameter dialog of the chemical substance, the correct record with this data can be selected, as shown in Figure 1.

This setting is typically the most important setting of each chemical model. All equilibrium coefficients, standard voltages, dissolution coefficients, saturated vapor pressures and so on, are automatically solved using these substance data. As a result, for example, the chemical reaction component only needs to define the stoichiometry coefficients, and the connected substances reach equilibrium at the correct equilibrium coefficient.

Chemical reaction

The chemical reaction component is very general. The dissociation constant of the equilibrium is calculated from substance properties at usual in thermodynamics, for example as definition of UIPAC. For example if we want to define simple reaction A<->B with dissociation constant [B]/[A]=2 then it must be the difference between Gibbs energies of formation equal to B.DfG - A.DfG = - R * T * ln(2). Without lost of generality it is possible to select some substances as reference and give them the zero Gibbs energy of formation. The next substances created by some chemical process can be expressed from them such as example of alosteric hemoglobin calculation. The kinetics of the chemical reaction is different as usual. However the most of processes can be recalculated with sufficient precision, for example the Michaelic-Menton can be recalculated with precision of 1.5% of maximal rate.


Diffusion is a dynamic chemical process, wich is also equilibrating of electro-chemical potential of the substance. Analogically as in chemical reaction the speed of diffucion can be calculated as coefficient C multiplied by electro-chemical gratient. C can be a parammeter or input expressed from distance, substance and solution properties.

Henry's law, Raoult's law or Sieverts' law

Surprisingly, all these laws has the same basis = equilibrium of electro-chemical potential. The most of problems in data is caused by wrong selection of standard state as 1 mol/kg or 1 mol/L. Please avoid these assumptions of these totally confused states and use only mole fractions instead of each molality or molarity - the world will be much better (I promise).

Semipermeable membrane

The same as before - just equilibrating the electro-chemical potentials. A result is the Donnan's equilibrium, Nernst potentials of the ions and the membrane electric potential. Transporting water through membrane is reaching the osmotic equilibrium (The real one, not the simplified one defined by osmotic pressure lineary dependent on impermeable substance concentration).

Chemical speciation

The chemical speciation is for macromolecule composed with independent subunits is specific conformations. For example the hemoglobin is tetramer, which can be in two conformation: relaxed and tensed. In each of this conformation it has different afinities (different dissociation constant) for binding oxygen in each of four independent subunits. This alosteric effect can be modeled using speciation such as in Allosteric_Hemoglobin2_MWC. However the result should be the same as using the detailed reaction model Allosteric_Hemoglobin_MWC.

Generated at 2023-03-20T01:31:51Z by OpenModelicaOpenModelica 1.21.0~dev-362-g4101671 using GenerateDoc.mos