A rigorous, first-principles mathematical engine built in pure, dependency-free Python. This kernel serves as an absolute mechanical auditor, verifying the topological safety and global static equilibrium of planar structural assemblies.
- Absolute Determinism: 100% reproducible execution. Zero stochastic variables, machine-dependent optimization routines, or random state initializations.
- Strict Immutable Domain State: All spatial primitives (Nodes, Members, Forces) are evaluated as frozen data structures to prevent downstream coordinate mutation.
-
Double-Epsilon Boundary Guarding: Clear operational separation between coordinate tolerances and force convergence limits.
-
$\epsilon_{\text{spatial}} = 10^{-4} \text{ m}$ (Handles CAD floating-point micro-variations) -
$\epsilon_{\text{physics}} = 10^{-3} \text{ N}$ or$\text{N}\cdot\text{m}$ (Enforces equilibrium convergence)
-
[Raw Structural JSON]
│
▼
[preflight.py] ──(Rejects if R < 3 or Orphan Nodes Exist)──► [Exception]
│
▼
[equilibrium.py]
├── 1. Alpha-Priority Pivot Selection (Deterministic support search)
├── 2. Global Translation Vector Summation (ΣFx = 0, ΣFy = 0)
├── 3. Global Cross-Product Moment Summation (ΣMz = 0)
▼
[Equilibrium Gate Evaluation] ──► Returns: Safe (True) OR Imbalanced (False)
- Python 3.10+ (No external libraries required)
from equilibriumgate.primitives import Node, Force, Constraint
from equilibriumgate.equilibrium import evaluate_assembly
# Define structural joints
nodes = [
Node(node_id="Node_A", x=0.0, y=0.0, constraint=Constraint.PINNED),
Node(node_id="Node_B", x=4.0, y=0.0, constraint=Constraint.ROLLER),
Node(node_id="Node_C", x=2.0, y=2.0, constraint=Constraint.FREE)
]
# Apply external load and balance forces
forces = [
Force(node_id="Node_C", fx=0.0, fy=-1000.0), # External Load
Force(node_id="Node_A", fx=0.0, fy=500.0), # Reaction A
Force(node_id="Node_B", fx=0.0, fy=500.0) # Reaction B
]
# Run the auditor
result = evaluate_assembly(nodes, forces)
print(f"Assembly Static Equilibrium State: {result.is_equilibrium}")