Element order

ChemistryLab.ATOMIC_ORDERConstant
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> 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]
source
ChemistryLab.CEMENT_TO_MENDELEEVConstant
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> 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₂
C̄ ≡ CO₂
S̄ ≡ SO₃
N̄ ≡ NO₃
H ≡ H₂O
source
ChemistryLab.OXIDE_ORDERConstant
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> print(OXIDE_ORDER)
[:C, :M, :S, :A, :F, :K, :N, :P, :T, :C̄, :S̄, :N̄, :H]
source