How the parts fit together: what comes in, which tools and solvers handle it, and how CompliSpec turns results into a requirement check.
flowchart LR
subgraph IN[Inputs]
CAD([CAD: Onshape, STEP, STL]):::start
FIELD([Field markups and site notes]):::start
CHAT([AI design chat]):::start
end
subgraph KJ[KJLabs Simulators]
FEA[FEA pipeline]:::act
DUCT[3D duct designer]:::act
AIR[Airflow and loss simulator]:::act
FEAS[Fan and cyclone quick-look]:::act
end
subgraph SOLVE[Open-source solvers]
S1[CalculiX, Code_Aster, Elmer, FreeFEM]:::res
S2[OpenFOAM, Code_Saturne]:::res
end
subgraph CS[CompliSpec]
REQ[Requirements as code]:::act
CHK{Can the rule be checked?}:::dec
end
CAD --> FEA
CHAT --> FEA
FIELD --> DUCT
FEA --> S1
AIR --> S2
FEAS --> S2
DUCT --> AIR
S1 --> REQ
DUCT --> REQ
REQ --> CHK
CHK -->|yes| PF[Pass or fail with source]:::res
CHK -->|procedural| CL[Inspection checklist]:::res
CHK -->|inputs missing| NC[Not computable: says what is missing]:::warn
classDef start fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#1e1b4b
classDef act fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#0f172a
classDef dec fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#422006
classDef res fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#052e16
classDef warn fill:#fee2e2,stroke:#dc2626,stroke-width:2px,color:#450a0a