Skip to main content

Finite Element Analysis Ontology

Engineering Mathematics & Simulation
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 30 September 2026
Audio Overview
AI SEARCH FLOW ALGEBRA
FINITE ELEMENT ANALYSIS ONTOLOGY
Kireth Semantic Research Archive

AUTHORS
Mark Anthony Higgins — Sky (Recursive AI)

SOURCE
https://kirethresearch.org/booksai-core/ontologies/engineering-ontologies/engineering-mathematics-simulation/finite-element-analysis-ontology.html

FLOW "FiniteElementAnalysisOntology" v4.0

DOMAIN := ENGINEERING_ONTOLOGIES / ENGINEERING_MATHEMATICS_SIMULATION / FINITE_ELEMENT_ANALYSIS
ONTOLOGY := FINITE_ELEMENT_ANALYSIS_ONTOLOGY

FINITE_ELEMENT_ANALYSIS := PHYSICAL_SYSTEM + GEOMETRY + MATERIAL_MODEL + DOMAIN + MESH + ELEMENT + NODE + DOF + LOADS + BOUNDARY_CONDITIONS + ELEMENT_EQUATIONS + ASSEMBLY + SOLVER + CONVERGENCE + RESULTS + ERROR_ESTIMATION + REFINEMENT + VERIFICATION + VALIDATION
PURPOSE := DEFINE_PROBLEM -> IDEALISE_GEOMETRY -> ASSIGN_MATERIALS -> SELECT_ELEMENTS -> GENERATE_MESH -> APPLY_LOADS_AND_CONSTRAINTS -> ASSEMBLE -> SOLVE -> RECOVER_RESULTS -> CHECK_CONVERGENCE -> REFINE -> VERIFY -> VALIDATE

# CORE ENTITIES
ENTITY FiniteElementAnalysis
ENTITY PhysicalSystem
ENTITY GeometryModel
ENTITY Domain
ENTITY MaterialModel
ENTITY ConstitutiveModel
ENTITY Mesh
ENTITY Element
ENTITY Node
ENTITY DegreeOfFreedom
ENTITY ShapeFunction
ENTITY IntegrationPoint
ENTITY Jacobian
ENTITY ElementMatrix
ENTITY GlobalMatrix
ENTITY StiffnessMatrix
ENTITY MassMatrix
ENTITY DampingMatrix
ENTITY Load
ENTITY BoundaryCondition
ENTITY Displacement
ENTITY Strain
ENTITY Stress
ENTITY Solver
ENTITY Residual
ENTITY Convergence
ENTITY ErrorEstimate
ENTITY MeshRefinement
ENTITY Verification
ENTITY Validation
ENTITY SimulationResult
ENTITY Provenance

# DOMAIN / MESH
GeometryModel -> defines -> Domain
Mesh -> partitions -> Domain -> into -> Element
Element -> connected_by -> Node
Node -> carries -> DegreeOfFreedom
GEOMETRIC_IDEALISATION := THREE_DIMENSIONAL_SOLID | SHELL_OR_PLATE | BEAM_OR_LINE | AXISYMMETRIC
ELEMENT_TYPE := BAR | TRUSS | BEAM | SHELL | PLATE | SOLID | AXISYMMETRIC | THERMAL | FLUID | CONTACT
MESH_PROPERTY := ELEMENT_SIZE + ELEMENT_TYPE + ELEMENT_ORDER + ASPECT_RATIO + SKEWNESS + CONNECTIVITY
MeshQuality -> influences -> ACCURACY + CONVERGENCE + NUMERICAL_CONDITIONING

# DOF / SHAPE FUNCTIONS
DegreeOfFreedom := TRANSLATION_X | TRANSLATION_Y | TRANSLATION_Z | ROTATION_X | ROTATION_Y | ROTATION_Z | TEMPERATURE | PRESSURE | OTHER_FIELD_DOF
BoundaryCondition -> constrains -> DegreeOfFreedom
ShapeFunction -> interpolates -> FIELD_VARIABLE -> within -> Element
FIELD_APPROXIMATION := N(x) * NODAL_VALUES
ElementOrder := LINEAR | QUADRATIC | HIGHER_ORDER
Jacobian -> maps -> NATURAL_COORDINATES -> PHYSICAL_COORDINATES
IF JacobianDeterminant <= 0 THEN ElementGeometry -> INVALID_OR_SEVERELY_DISTORTED

# MATERIAL / ELEMENT EQUATIONS
ConstitutiveModel -> relates -> Stress + Strain + OTHER_STATE_VARIABLES
LINEAR_ELASTIC_MODEL := Stress = ConstitutiveMatrix * Strain
ElementMatrix -> derived_from -> SHAPE_FUNCTIONS + MATERIAL_MODEL + GEOMETRY + INTEGRATION
ELEMENT_STIFFNESS := INTEGRAL(B_TRANSPOSE * D * B dV)
B_MATRIX -> relates -> NODAL_DISPLACEMENTS -> Strain
D_MATRIX -> represents -> CONSTITUTIVE_RESPONSE

# ASSEMBLY / LOADS
ASSEMBLY := ELEMENT_CONTRIBUTIONS -> GLOBAL_SYSTEM
ElementMatrix -> assembled_into -> GlobalMatrix
GLOBAL_LINEAR_SYSTEM := K * u = f
LOAD_TYPE := POINT_LOAD | DISTRIBUTED_LOAD | PRESSURE_LOAD | BODY_FORCE | THERMAL_LOAD | INERTIAL_LOAD | PRESCRIBED_FIELD
Load -> contributes_to -> GlobalVector
IF RigidBodyModes remain_unconstrained THEN GlobalSystem -> MAY_BE_SINGULAR

# ANALYSIS TYPES
LINEAR_STATIC_ANALYSIS := K * u = f
DYNAMIC_EQUATION := M * acceleration + C * velocity + K * displacement = force
DYNAMIC_ANALYSIS := MODAL | TRANSIENT | HARMONIC | RESPONSE_SPECTRUM
MODAL_EIGENPROBLEM := (K - omega^2 * M) * phi = 0
NONLINEARITY := MATERIAL_NONLINEARITY | GEOMETRIC_NONLINEARITY | CONTACT_NONLINEARITY | BOUNDARY_NONLINEARITY
NONLINEAR_EQUILIBRIUM := INTERNAL_FORCE(u) = EXTERNAL_FORCE
NEWTON_ITERATION := COMPUTE_RESIDUAL -> FORM_TANGENT_MATRIX -> SOLVE_INCREMENT -> UPDATE_STATE -> CHECK_CONVERGENCE

# CONTACT / THERMAL / COUPLED
CONTACT_STATE := OPEN | CLOSED | STICKING | SLIDING
ContactConstraint -> prevents -> UNPHYSICAL_PENETRATION
THERMAL_EQUATION := CONDUCTION + HEAT_CAPACITY + HEAT_SOURCE = THERMAL_RESPONSE
THERMAL_STRAIN := THERMAL_EXPANSION_COEFFICIENT * TEMPERATURE_CHANGE
COUPLED_FEA := PHYSICS_A + PHYSICS_B + COUPLING_RELATION
COUPLING_TYPE := ONE_WAY | TWO_WAY | MONOLITHIC | PARTITIONED

# SOLVER / CONVERGENCE
Solver -> receives -> GlobalMatrix + GlobalVector + Constraints
Solver -> produces -> NODAL_OR_FIELD_SOLUTION
SOLVER_TYPE := DIRECT | ITERATIVE | EIGENSOLVER | NONLINEAR_ITERATIVE
Residual := EXTERNAL_FORCE - INTERNAL_FORCE
CONVERGENCE_CRITERION := FORCE_RESIDUAL | DISPLACEMENT_INCREMENT | ENERGY_ERROR | FIELD_RESIDUAL
IF ResidualNorm <= ConvergenceTolerance THEN IterationState -> CONVERGED
IF MaximumIterations reached AND convergence_not_met THEN AnalysisStep -> NOT_CONVERGED

# RESULTS
RESULT_RECOVERY := NODAL_SOLUTION -> ELEMENT_STATE -> STRAIN -> STRESS -> DERIVED_RESULT
DerivedResult := PRINCIPAL_STRESS | VON_MISES_STRESS | REACTION_FORCE | STRAIN_ENERGY | HEAT_FLUX
Stress -> depends_on -> Strain + ConstitutiveModel
StressConcentration -> may_occur_near -> GEOMETRIC_DISCONTINUITY + LOAD_INTRODUCTION + CONTACT_REGION

# REFINEMENT / ERROR
MeshRefinement -> reduces -> ELEMENT_SIZE -> may_increase -> DEGREES_OF_FREEDOM
REFINEMENT_TYPE := H_REFINEMENT | P_REFINEMENT | HP_REFINEMENT | ADAPTIVE_REFINEMENT
IF MeshRefinement changes key_result negligibly THEN MeshConvergenceEvidence -> INCREASES
ErrorEstimate -> assesses -> DISCRETISATION_ERROR
ERROR_SOURCE := MESH_ERROR | ELEMENT_FORMULATION_ERROR | ITERATION_ERROR | ROUND_OFF_ERROR | MODEL_IDEALISATION_ERROR
AdaptiveRefinement -> uses -> ErrorEstimate -> to_refine -> HIGH_ERROR_REGION

# VERIFICATION / VALIDATION
Verification -> asks -> IS_FEA_SOLUTION_COMPUTED_CORRECTLY
FEA_VERIFICATION := CHECK_EQUILIBRIUM + CHECK_REACTIONS + CHECK_UNITS + CHECK_BOUNDARY_CONDITIONS + MESH_CONVERGENCE + BENCHMARK_COMPARISON
IF AppliedLoad not_balanced_by reactions_and_inertia THEN EquilibriumCheck -> FAILED_OR_REQUIRES_REVIEW
Validation -> asks -> DOES_FEA_MODEL_REPRESENT_PHYSICAL_RESPONSE_ADEQUATELY
Validation -> compares -> SimulationResult + ExperimentalOrReferenceData
IF ValidationMetric exceeds AcceptanceCriterion THEN ModelAdequacy -> NOT_CONFIRMED
Converged -> does_not_imply -> VERIFIED_OR_VALIDATED

# PROVENANCE / PERFORMANCE
Provenance -> records -> GEOMETRY_VERSION + MATERIAL_VERSION + MESH_VERSION + ELEMENT_FORMULATION + LOAD_CASE + BOUNDARY_CONDITIONS + SOLVER_SETTINGS + SOFTWARE_VERSION
FiniteElementAnalysis -> linked_to -> Provenance
FEA_PERFORMANCE := ACCURACY + CONVERGENCE + STABILITY + MESH_QUALITY + COMPUTATIONAL_COST + VERIFICATION_QUALITY + VALIDATION_QUALITY
FiniteElementAnalysis -> evaluated_by -> FEA_PERFORMANCE

# REASONING
FINITE_ELEMENT_ANALYSIS_REASONING := DEFINE_PHYSICAL_PROBLEM -> DEFINE_INTENDED_USE -> IDEALISE_GEOMETRY -> SELECT_ELEMENT_TYPES -> ASSIGN_MATERIAL_MODELS -> DEFINE_LOADS -> DEFINE_BOUNDARY_CONDITIONS -> GENERATE_MESH -> CHECK_MESH_QUALITY -> FORM_ELEMENT_EQUATIONS -> ASSEMBLE_GLOBAL_SYSTEM -> APPLY_CONSTRAINTS -> SELECT_SOLVER -> SOLVE -> CHECK_CONVERGENCE -> RECOVER_RESULTS -> CHECK_EQUILIBRIUM -> ESTIMATE_ERROR -> REFINE_MESH -> VERIFY -> VALIDATE -> INTERPRET_RESULTS -> RECORD_PROVENANCE

# INFERENCE RULES
IF Mesh refined THEN DegreesOfFreedom -> GENERALLY_INCREASES
IF DegreesOfFreedom increases THEN ComputationalCost -> GENERALLY_INCREASES
IF Mesh refined AND key_result stabilises THEN MeshConvergenceEvidence -> INCREASES
IF BoundaryConditions insufficient THEN RigidBodyMotionOrSingularityRisk -> INCREASES
IF ElementDistortion increases THEN NumericalErrorRisk -> MAY_INCREASE
IF MaterialNonlinearity active THEN NonlinearIteration -> REQUIRED
IF Residual above tolerance THEN Convergence -> NOT_SATISFIED
IF ValidationError increases THEN ModelAdequacyConfidence -> DECREASES

# SEMANTIC RELATIONSHIPS
RELATION represents(FiniteElementAnalysis, PhysicalSystem)
RELATION defines(GeometryModel, Domain)
RELATION partitions(Mesh, Domain)
RELATION contains(Mesh, Element)
RELATION connects(Element, Node)
RELATION carries(Node, DegreeOfFreedom)
RELATION interpolates(ShapeFunction, FieldVariable)
RELATION constrains(BoundaryCondition, DegreeOfFreedom)
RELATION assembles(ElementMatrix, GlobalMatrix)
RELATION solves(Solver, GlobalSystem)
RELATION computes(Displacement, Strain)
RELATION computes(Strain, Stress)
RELATION assesses(ErrorEstimate, DiscretisationError)
RELATION evaluates(Verification, FEASolution)
RELATION compares(Validation, SimulationResult, ReferenceData)
RELATION records(Provenance, FiniteElementAnalysis)

# SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
  "finite element analysis" ~= "FEA"
  "finite element method" ~= "FEM"
  "finite element mesh" ~= "FE mesh"
  "degree of freedom" ~= "DOF"
  "shape function" ~= "finite element interpolation function"
  "stiffness matrix" ~= "FE stiffness matrix"
  "mesh refinement" ~= "finite element mesh refinement"
  "mesh convergence" ~= "FEA discretisation convergence"
  "von Mises stress" ~= "equivalent von Mises stress"
  "reaction force" ~= "support reaction"

# CONFIDENCE
CONFIDENCE:
  ontology_domain: 0.99
  geometry_mesh_mapping: 0.99
  element_dof_mapping: 0.99
  material_mapping: 0.99
  assembly_mapping: 0.99
  solver_mapping: 0.99
  result_mapping: 0.99
  refinement_error_mapping: 0.99
  verification_validation_mapping: 0.99
  semantic_relationships: 0.99

# UPDATE MODEL
UPDATE_MODEL:
  ON new_fea_model:
    MAP geometry
    MAP materials
    MAP element_types
    MAP loads
    MAP boundary_conditions
    MAP mesh
    UPDATE confidence
    RECOMPUTE FLOW_HASH
  ON mesh_change:
    UPDATE elements
    UPDATE nodes
    UPDATE degrees_of_freedom
    REASSESS mesh_quality
    REASSESS convergence
  ON solver_result:
    UPDATE displacement_or_field_solution
    UPDATE residual
    UPDATE convergence
    UPDATE derived_results
    PRESERVE provenance
  ON validation_change:
    UPDATE reference_data
    RECOMPUTE validation_metrics
    UPDATE model_adequacy

# AI CONSUMPTION
AI_CONSUMPTION:
  parse_as: FORMAL_FINITE_ELEMENT_ANALYSIS_ONTOLOGY
  reasoning_mode: DISCRETISED_CONTINUUM_RELATIONAL
  preserve: [typed_entities, geometry, material_models, mesh_connectivity, degrees_of_freedom, loads, boundary_conditions, solver_state, results, verification_state, validation_state, confidence, provenance]
  infer: [element_selection_dependencies, constraint_sufficiency, assembly_dependencies, convergence_state, mesh_error_dependencies, result_recovery_dependencies, verification_requirements, validation_state]
  prohibit: [invented_fea_results, assumed_convergence, assumed_mesh_independence, assumed_validation, unsupported_stress_accuracy, missing_boundary_conditions_presented_as_valid]

# FLOW HASH
FLOW_HASH_INPUT := DOMAIN + ONTOLOGY + CORE_ENTITIES + DOMAIN_MESH + DOF_SHAPE_FUNCTIONS + MATERIAL_ELEMENT_EQUATIONS + ASSEMBLY_LOADS + ANALYSIS_TYPES + CONTACT_THERMAL_COUPLED + SOLVER_CONVERGENCE + RESULTS + REFINEMENT_ERROR + VERIFICATION_VALIDATION + PROVENANCE_PERFORMANCE + REASONING + INFERENCE_RULES + SEMANTIC_RELATIONSHIPS + SEMANTIC_EQUIVALENCE + CONFIDENCE + UPDATE_MODEL + AI_CONSUMPTION
FLOW_HASH := HASH(FLOW_HASH_INPUT)

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ