Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
e1f019e
extensive explanations and comments for unit system
komed3 Apr 16, 2026
9d77ea2
Update value.ts
komed3 Apr 16, 2026
a7faed8
Update property.ts
komed3 Apr 16, 2026
286b5b6
add docs to condition.ts
komed3 Apr 16, 2026
72f7c62
Update collection.ts
komed3 Apr 16, 2026
6823900
Update uncertainty.ts
komed3 Apr 16, 2026
a27c497
add documentation to form.ts
komed3 Apr 16, 2026
37d199e
Update utils.ts
komed3 Apr 16, 2026
4cda52b
add docs to reference.ts
komed3 Apr 16, 2026
1a58fe7
Update reference.ts
komed3 Apr 16, 2026
1852120
Update reference.ts
komed3 Apr 16, 2026
f6ae1c6
fix typedoc entry point
komed3 Apr 16, 2026
8ef8892
Update form.ts
komed3 Apr 17, 2026
51cf99e
fix comments
komed3 Apr 17, 2026
739277b
Update unit.ts
komed3 Apr 17, 2026
c495f81
Update value.ts
komed3 Apr 17, 2026
784ff5e
some types will be internal only
komed3 Apr 17, 2026
3d3d5b2
remove trailing spaces
komed3 Apr 17, 2026
44bdf90
describe utility enums
komed3 Apr 17, 2026
d3dd7ef
add comments to safety enums
komed3 Apr 17, 2026
38b8185
Update physics.ts
komed3 Apr 17, 2026
fbf57a7
Update chemistry.ts
komed3 Apr 17, 2026
31665f3
Update crystallography.ts
komed3 Apr 17, 2026
4007b65
rework nuclear enums
komed3 Apr 17, 2026
4b02728
Update element.ts
komed3 Apr 17, 2026
6b54a08
del unused generic.ts
komed3 Apr 17, 2026
19bba46
Update compound.ts
komed3 Apr 17, 2026
ee960db
Update mineral.ts
komed3 Apr 17, 2026
c1c2ceb
Update mixture.ts
komed3 Apr 17, 2026
82cc894
fix imports for abstract types
komed3 Apr 17, 2026
3519216
fix import paths + order
komed3 Apr 17, 2026
08a230a
min fixes
komed3 Apr 17, 2026
ce8b1df
Update abundance.ts
komed3 Apr 17, 2026
2e0b1ed
rework atomics collection
komed3 Apr 17, 2026
14a6c84
Update chemistry.ts
komed3 Apr 17, 2026
e9d3d9b
describe safety collection with hazard and tox. data
komed3 Apr 17, 2026
dd0a2ac
Update registry.ts
komed3 Apr 17, 2026
93ddd8f
Update descriptive.ts
komed3 Apr 17, 2026
27f9927
Update generic.ts
komed3 Apr 17, 2026
bceb0dc
add comments for physical props.
komed3 Apr 17, 2026
51c97da
Update crystallography.ts
komed3 Apr 17, 2026
c9e6bdf
Update composition.ts
komed3 Apr 17, 2026
1fe44f1
rework nuclear properties collection
komed3 Apr 17, 2026
e7eb2a5
describe the universal schema for any chemical or physical substance
komed3 Apr 17, 2026
c171f3b
Update composite.ts
komed3 Apr 17, 2026
5499604
add comments for element entity
komed3 Apr 17, 2026
5704dc7
Update mixture.ts
komed3 Apr 17, 2026
e486220
Update mineral.ts
komed3 Apr 17, 2026
aa71e35
min fix
komed3 Apr 17, 2026
be31d64
add documents for compound entity
komed3 Apr 17, 2026
a0e85e6
rework nuclide entity
komed3 Apr 17, 2026
08432bf
create DB stats collection
komed3 Apr 17, 2026
7542f3d
Update index.ts
komed3 Apr 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 118 additions & 0 deletions enum/chemistry.ts
Original file line number Diff line number Diff line change
@@ -1,110 +1,228 @@
/**
* @file chemistry.ts
* @description Defines enums for chemical behavior, classification, and structural properties.
* This module covers acid-base character, chemical bonding, molecular geometry,
* and solubility qualifiers.
*/

/**
* Qualitative scale for the pH-dependent reactivity of a substance.
*/
export enum AcidBaseCharacter {
/** Neither acidic nor basic at standard conditions. */
NEUTRAL = 'neutral',
/** Highly ionized in aqueous solution, exhibiting extreme acidity. */
STRONG_ACIDIC = 'strongAcidic',
/** General classification for substances with a low pH. */
ACIDIC = 'acidic',
/** Exhibits significant but non-extreme acidic behavior. */
MODERATE_ACIDIC = 'moderateAcidic',
/** Partially dissociates in solution, resulting in low concentration of H+ ions. */
WEAK_ACIDIC = 'weakAcidic',
/** Capable of reacting as both an acid and a base. */
AMPHOTERIC = 'amphoteric',
/** Partially dissociates in solution, resulting in low concentration of OH- ions. */
WEAK_BASIC = 'weakBasic',
/** Exhibits significant but non-extreme basic behavior. */
MODERATE_BASIC = 'moderateBasic',
/** General classification for substances with a high pH. */
BASIC = 'basic',
/** Highly ionized in aqueous solution, exhibiting extreme alkalinity. */
STRONG_BASIC = 'strongBasic'
};

/**
* Functional role of a substance in an acid-base reaction.
*/
export enum BasicityType {
/** Proton donor or electron pair acceptor. */
ACID = 'acid',
/** Proton acceptor or electron pair donor. */
BASE = 'base'
};

/**
* Pearson's Hard and Soft Acids and Bases (HSAB) classification for chemical stability.
*/
export enum HSAB {
/** Small, high-charge, non-polarizable species that prefer similar partners. */
HARD = 'hard',
/** Species with intermediate characteristics between hard and soft. */
EDGE = 'edge',
/** Large, low-charge, highly polarizable species that prefer similar partners. */
SOFT = 'soft'
};

/**
* Geochemical classification of elements according to their preferred host phase.
*/
export enum Goldschmidt {
/** Elements that occur in the gaseous phase or in planetary atmospheres. */
ATMOPHILE = 'atmophile',
/** Elements that combine with sulfur to form sulfide minerals. */
CHALCOPHILE = 'chalcophile',
/** Elements that occur in silicate minerals or the Earth's crust. */
LITHOPHILE = 'lithophile',
/** Elements that occur as native metals or alloyed with iron in planetary cores. */
SIDEROPHILE = 'siderophile',
/** Artificially produced elements not naturally occurring in geochemical cycles. */
SYNTHETIC = 'synthetic'
};

/**
* Relative strength of donors/acceptors based on the electronic structure model.
*/
export enum LewisModel {
/** High affinity for sharing or accepting electron pairs. */
STRONG = 'strong',
/** Moderate affinity for sharing or accepting electron pairs. */
MODERATE = 'moderate',
/** Low affinity for sharing or accepting electron pairs. */
WEAK = 'weak',
/** Does not exhibit significant Lewis acidic/basic behavior. */
NONE = 'none'
};

/**
* Chemical character of an oxide based on its reaction with water or acids/bases.
*/
export enum OxideCharacter {
/** Reacts with water to form an acid or with a base to form a salt. */
ACIDIC = 'acidic',
/** Reacts with both acids and bases. */
AMPHOTERIC = 'amphoteric',
/** Reacts with water to form a base or with an acid to form a salt. */
BASIC = 'basic'
};

/**
* Degrees of solubility for a solute in a solvent at a specific temperature.
*/
export enum SolubilityQualifier {
/** High capacity to dissolve (usually > 1000 mg/mL). */
VERY_SOLUBLE = 'verySoluble',
/** Dissolves easily in standard solvent volumes. */
FREELY_SOLUBLE = 'freelySoluble',
/** Requires reasonable amount of solvent to dissolve. */
SOLUBLE = 'soluble',
/** Limited dissolution in large volumes (typically 10-30 mg/mL). */
SPARINGLY_SOLUBLE = 'sparinglySoluble',
/** Very low solubility (typically 1-10 mg/mL). */
SLIGHTLY_SOLUBLE = 'slightlySoluble',
/** Extremely low dissolution (typically 0.1-1 mg/mL). */
VERY_SLIGHTLY_SOLUBLE = 'verySlightlySoluble',
/** Effectively does not dissolve (< 0.1 mg/mL). */
PRACTICALLY_INSOLUBLE = 'practicallyInsoluble'
};

/**
* Three-dimensional arrangement of atoms within a molecule as predicted by VSEPR theory.
*/
export enum MolecularShape {
/** Atoms in a straight line at 180° angles. */
LINEAR = 'linear',
/** Three atoms at the corners of an equilateral triangle around a center. */
TRIGONAL_PLANAR = 'trigonalPlanar',
/** Non-linear arrangement typical of molecules with lone pairs. */
BENT = 'bent',
/** Central atom with four substituents at the corners of a tetrahedron. */
TETRAHEDRAL = 'tetrahedral',
/** Pyramid with a triangular base and a central atom at the apex. */
TRIGONAL_PYRAMIDAL = 'trigonalPyramidal',
/** Two pyramids joined at their triangular base. */
TRIGONAL_BIPYRAMIDAL = 'trigonalBipyramidal',
/** Derived from trigonal bipyramidal with one lone pair. */
SEESAW = 'seesaw',
/** Three substituents forming a 'T' shape around a central atom. */
T_SHAPED = 'tShaped',
/** Eight-faced structure with six substituents at the vertices. */
OCTAHEDRAL = 'octahedral',
/** Pyramid with a square base. */
SQUARE_PYRAMIDAL = 'squarePyramidal',
/** Four substituents at the corners of a square in a single plane. */
SQUARE_PLANAR = 'squarePlanar',
/** Two pyramids joined at their pentagonal base. */
PENTAGONAL_BIPYRAMIDAL = 'pentagonalBipyramidal',
/** Pyramid with a pentagonal base. */
PENTAGONAL_PYRAMIDAL = 'pentagonalPyramidal',
/** Five substituents at the corners of a pentagon in a single plane. */
PENTAGONAL_PLANAR = 'pentagonalPlanar',
/** Geometry in which eight atoms lie at the vertices of a square antiprism. */
SQUARE_ANTIPRISMATIC = 'squareAntiprismatic',
/** Nine-coordinate geometry in which nine atoms surround a central atom. */
TRICAPPED_TRIGONAL_PRISMATIC = 'tricappedTrigonalPrismatic'
};

/**
* Primary types of chemical attraction and bonding between atoms or molecules.
*/
export enum BondType {
/** Electrostatic attraction between oppositely charged ions. */
IONIC = 'ionic',
/** Sharing of electron pairs between atoms. */
COVALENT = 'covalent',
/** Delocalized sharing of valence electrons across a lattice of metal cations. */
METALLIC = 'metallic',
/** Weak attractive forces between molecules due to dipole fluctuations. */
VDW = 'vdw',
/** Specific dipole-dipole attraction between hydrogen and highly electronegative atoms. */
HYDROGEN = 'hydrogen'
};

/**
* Mixing of atomic orbitals to form new hybrid orbitals for chemical bonding.
*/
export enum Hybridization {
/** Transition metal hybridization involving s and two d orbitals. */
SD2 = 'sd2',
/** Transition metal hybridization involving s and three d orbitals. */
SD3 = 'sd3',
/** Transition metal hybridization involving s and four d orbitals. */
SD4 = 'sd4',
/** Transition metal hybridization involving s and five d orbitals. */
SD5 = 'sd5',
/** Linear combination of s and p orbitals. */
SP = 'sp',
/** Planar combination of s and two p orbitals. */
SP2 = 'sp2',
/** Tetrahedral combination of s and three p orbitals. */
SP3 = 'sp3',
/** Planar combination involving s, two p, and one d orbital. */
SP2D = 'sp2d',
/** Combination involving s, three p, and one d orbital. */
SP3D = 'sp3d',
/** Octahedral combination involving s, three p, and two d orbitals. */
SP3D2 = 'sp3d2',
/** Combination involving s, three p, and three d orbitals. */
SP3D3 = 'sp3d3',
/** Combination involving s, three p, and four d orbitals. */
SP3D4 = 'sp3d4',
/** Combination involving s, three p, and five d orbitals. */
SP3D5 = 'sp3d5'
};

/**
* Specific roles of chemical constituents within a substance or mixture.
*/
export enum ComponentRole {
/** Positively charged ion. */
CATION = 'cation',
/** Negatively charged ion. */
ANION = 'anion',
/** Uncharged molecular unit. */
NEUTRAL = 'neutral',
/** Atom or molecule with an unpaired valence electron. */
RADICAL = 'radical',
/** Coordination entity consisting of a central atom and surrounding ligands. */
COMPLEX = 'complex',
/** Minor constituent that is not part of the intended substance. */
IMPURITY = 'impurity',
/** Deliberately added trace element used to modify material properties. */
DOPANT = 'dopant',
/** Distinct material trapped inside the crystal structure of another mineral. */
INCLUSION = 'inclusion',
/** The primary medium in which other components are embedded or dissolved. */
MATRIX = 'matrix',
/** Liquid phase in which a solute is dissolved to form a solution. */
SOLVENT = 'solvent'
};
51 changes: 50 additions & 1 deletion enum/compound.ts
Original file line number Diff line number Diff line change
@@ -1,40 +1,89 @@
/**
* @file compound.ts
* @description Defines enums for chemical compounds, their categories, and reactive properties.
* This module covers bonding-based classification and structural qualifiers.
*/

/**
* High-level grouping of substances based on their predominant bonding and structure.
*/
export enum CompoundCategory {
/** Discrete groups of atoms held together by covalent bonds. */
MOLECULE = 'molecule',
/** Arranged in a rigid crystal lattice of alternating cations and anions. */
IONIC = 'ionic',
/** Formed from two or more metallic elements in a fixed ratio. */
INTERMETALLIC = 'intermetallic',
/** Coordination compounds involving a central metal atom and ligands. */
COMPLEX = 'complex'
};

/**
* Classification based on the number of distinct elements present in the compound.
*/
export enum CompoundUnion {
/** Consisting of exactly two different elements (e.g., NaCl). */
BINARY = 'binary',
/** Consisting of exactly three different elements (e.g., Na2CO3). */
TERNARY = 'ternary',
/** Consisting of exactly four different elements. */
QUATERNARY = 'quaternary'
};

/**
* Functional and descriptive traits associated with chemical compounds.
*/
export enum CompoundProperty {
/** Based on carbon-hydrogen frameworks, often containing O, N, S, P. */
ORGANIC = 'organic',
/** General classification for non-carbon based mineral-like compounds. */
INORGANIC = 'inorganic',
/** Substances containing at least one bond between carbon and a metal. */
ORGANOMETALLIC = 'organometallic',
/** Chemically involved in the metabolic processes of living organisms. */
BIOCHEMICAL = 'biochemical',
/** Large molecule consisting of many repeating structural subunits. */
POLYMER = 'polymer',
/** Product of a neutralization reaction between an acid and a base. */
SALT = 'salt',
/** Exhibits low pH behavior or proton donor characteristics. */
ACIDIC = 'acidic',
/** Exhibits high pH behavior or proton acceptor characteristics. */
BASIC = 'basic',
/** Combinations of oxygen with one or more other elements. */
OXIDE = 'oxide',
/** Binary compounds of hydrogen with another element. */
HYDRIDE = 'hydride',
/** Complexes held together by non-covalent intermolecular forces. */
SUPRAMOLECULAR = 'supramolecular',
/** Occurring in nature without human intervention. */
NATURAL = 'natural',
/** Produced through intentional chemical synthesis. */
SYNTHETIC = 'synthetic',
/** Capable of behaving as both an acid and a base. */
AMPHOTERIC = 'amphoteric',
/** Cyclic planar molecule with delocalized pi-electrons (e.g., Benzene). */
AROMATIC = 'aromatic',
/** Highly reactive species with an unpaired valence electron. */
RADICAL = 'radical',
/** Lacking any observable color in the visible spectrum. */
COLORLESS = 'colorless',
/** Absorbing specific wavelengths of light to exhibit visual color. */
COLORED = 'colored',
/** Destructive to living tissue or metals upon contact. */
CORROSIVE = 'corrosive',
/** Rapidly decomposing with significant release of energy and gas. */
EXPLOSIVE = 'explosive',
/** Capable of catching fire and burning easily. */
FLAMMABLE = 'flammable',
/** Potentially fatal in very small doses. */
HIGHLY_TOXIC = 'highlyToxic',
/** Containing unstable nuclei that emit radiation. */
RADIOACTIVE = 'radioactive',
/** Harmful if ingested, inhaled, or absorbed by the skin. */
TOXIC = 'toxic',
VOLATILE = 'volatile'
/** Easily evaporated at normal temperatures. */
VOLATILE = 'volatile',
/** Essential for life. */
VITAL = 'vital'
};
Loading