Skip to content

Element order

ChemistryLab.ATOMIC_ORDER Constant
julia
ATOMIC_ORDER :: Vector{Symbol}

Canonical atomic ordering used across the package for serialization, stringification and deterministic ordering of formula fields.

This vector lists element symbols in the preferred display/serialization order and includes the special placeholder :Zz which represents a unit positive charge in compositions.

Examples

julia
julia> print(ATOMIC_ORDER)
[:Ca, :Na, :K, :Mg, :Sr, :Ba, :Al, :Fe, :Ti, :Mn, :Cr, :Si, :C, :H, :N, :S, :O, :P, :B, :F, :Cl, :Br, :I, :Zz]
ChemistryLab.CEMDATA_PRIMARIES Constant
julia
CEMDATA_PRIMARIES :: Vector{String}

List of primaries chosen in CEMDATA.

Examples

julia
julia> print(CEMDATA_PRIMARIES)
["AlO2-", "Ca+2", "Cl-", "CO3-2", "FeO2-", "H2O@", "H+", "K+", "Mg+2", "Na+", "NO3-", "SiO2@", "SO4-2", "Sr+2", "Zz"]
ChemistryLab.CEMENT_TO_MENDELEEV Constant
julia
CEMENT_TO_MENDELEEV :: Vector{Pair{Symbol,OrderedDict{Symbol,Int}}}

Mapping from cement shorthand symbols to their corresponding oxide or elemental compositions. Each Pair maps a cement shorthand Symbol (key) to an OrderedDict (value) describing composition in terms of element symbols and integer stoichiometric coefficients.

This mapping is used to translate cement shorthand notation into full elemental compositions for formula construction and serialization.

Examples

julia
julia> haskey(Dict(CEMENT_TO_MENDELEEV), :C)
true

julia> for (k,v) in CEMENT_TO_MENDELEEV println(k, " ≡ ", unicode(Species(v))) end
C  CaO
M  MgO
S  SiO₂
A  Al₂O₃
F  Fe₂O₃
K  K₂O
N  Na₂O
P  O₅P₂
T  TiO₂
 CO₂
 SO₃
 NO₃
H  H₂O
ChemistryLab.OXIDE_ORDER Constant
julia
OXIDE_ORDER :: Vector{Symbol}

Derived ordered list of cement oxide shorthand symbols, extracted from CEMENT_TO_MENDELEEV while preserving the original sequence. Useful for deterministic iteration over oxide types.

Examples

julia
julia> print(OXIDE_ORDER)
[:C, :M, :S, :A, :F, :K, :N, :P, :T, :C̄, :S̄, :N̄, :H]