Skip to main content

Finite Element Ontology

Numerical Analysis
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Finite Element Ontology within the Kireth Research Semantic Library. Finite element methods approximate solutions of boundary-value and initial-boundary-value problems by partitioning a domain into finite elements, choosing local basis functions, constructing weak or variational formulations and assembling global algebraic systems. This ontology supports meshes, elements, nodes, shape functions, trial and test spaces, Galerkin methods, stiffness and mass matrices, numerical integration, boundary conditions, error estimation, adaptivity, convergence, conditioning, nonlinear finite elements, transient problems and relationships with numerical analysis, variational methods, partial differential equations, linear algebra and computational mechanics.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Finite Element Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Numerical Analysis / Finite Element Methods"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/numerical-analysis/finite-element-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = FiniteElementMethod
 SYMBOLIC_FORMS = [
  "a(u_h,v_h)=l(v_h)",
  "K u = f",
  "M u_dot + K u = f"
 ]
 ENTITY_CLASS = VariationalDiscretisationFramework
 PRIMARY_CONTEXT = NumericalAnalysis
 DEFINITION = "The finite element method is a numerical technique that approximates solutions of differential equations using piecewise-defined basis functions over a partitioned domain and a weak or variational formulation."
 SEMANTIC_ROLE = "Provides the machine-readable framework for finite-element meshes, local elements, basis functions, weak forms, Galerkin projection, matrix assembly, boundary conditions, adaptivity, error estimation and convergence."
}

SCOPE {
 INCLUDE = [
  FiniteElementMethod,
  FiniteElement,
  Mesh,
  Node,
  ElementConnectivity,
  ReferenceElement,
  PhysicalElement,
  IsoparametricElement,
  ShapeFunction,
  BasisFunction,
  TrialSpace,
  TestSpace,
  FiniteElementSpace,
  WeakForm,
  VariationalForm,
  GalerkinMethod,
  PetrovGalerkinMethod,
  BilinearForm,
  LinearFunctional,
  StiffnessMatrix,
  MassMatrix,
  DampingMatrix,
  LoadVector,
  Assembly,
  LocalElementMatrix,
  GlobalMatrix,
  DegreesOfFreedom,
  EssentialBoundaryCondition,
  NaturalBoundaryCondition,
  DirichletCondition,
  NeumannCondition,
  RobinCondition,
  NumericalQuadrature,
  JacobianMapping,
  MeshRefinement,
  HRefinement,
  PRefinement,
  HPRefinement,
  APosterioriErrorEstimate,
  AProriErrorEstimate,
  AdaptiveFiniteElementMethod,
  Convergence,
  Conditioning,
  NonlinearFiniteElementMethod,
  TransientFiniteElementMethod,
  MixedFiniteElementMethod
 ]

 EXCLUDE_AS_PRIMARY = [
  FiniteDifferenceMethod,
  FiniteVolumeMethod,
  BoundaryElementMethod,
  SpectralMethodUnlessFiniteElementContext,
  GenericMeshProcessingWithoutVariationalDiscretisation
 ]

 DISAMBIGUATION_RULE =
  "When a differential equation is solved using a mesh, piecewise basis functions, weak formulation and assembled algebraic system, interpret the context as finite element."
}

CORE_CONCEPTS {

 FiniteElementMethod {
  definition = "A numerical method based on piecewise finite-dimensional approximation spaces over a partitioned domain."
 }

 FiniteElement {
  definition = "A local subdomain together with associated basis functions, nodes and degrees of freedom."
 }

 Mesh {
  definition = "A partition of the computational domain into elements."
 }

 ShapeFunction {
  definition = "A local basis function used to interpolate or approximate the solution within an element."
 }

 TrialSpace {
  definition = "The finite-dimensional space from which the approximate solution is chosen."
 }

 TestSpace {
  definition = "The space of weighting or test functions used in the variational formulation."
 }

 WeakForm {
  definition = "A formulation obtained by testing the governing equation against admissible functions and reducing differentiability requirements, commonly by integration by parts."
 }

 GalerkinMethod {
  definition = "A weighted-residual method in which trial and test spaces are the same or closely related."
 }

 StiffnessMatrix {
  definition = "The global matrix arising from the discretisation of differential operators or energy terms."
 }

 MassMatrix {
  definition = "The matrix representing inner-product or inertial terms in the finite-element basis."
 }

 Assembly {
  definition = "The process of combining element-level contributions into a global algebraic system."
 }

 DegreesOfFreedom {
  definition = "Independent discrete unknowns used to represent the finite-element solution."
 }
}

RELATIONS {
 FiniteElementMethod --is_type_of--> NumericalMethod
 FiniteElementMethod --uses--> Mesh
 Mesh --contains--> FiniteElement
 FiniteElement --has--> Node
 FiniteElement --has--> ShapeFunction
 ShapeFunction --spans--> FiniteElementSpace
 FiniteElementSpace --contains--> TrialSpace
 FiniteElementSpace --contains--> TestSpace
 WeakForm --defines--> VariationalProblem
 GalerkinMethod --uses--> TrialSpace
 GalerkinMethod --uses--> TestSpace
 BilinearForm --produces--> StiffnessMatrix
 InnerProductTerm --may_produce--> MassMatrix
 LocalElementMatrix --is_assembled_into--> GlobalMatrix
 DegreesOfFreedom --index--> GlobalMatrix
 EssentialBoundaryCondition --constrains--> TrialSpace
 NaturalBoundaryCondition --appears_in--> WeakForm
 NumericalQuadrature --approximates--> ElementIntegral
 JacobianMapping --maps--> ReferenceElement
 AdaptiveFiniteElementMethod --uses--> ErrorEstimate
}

OPERATORS {
 WEAK_FORM(strong_form,test_function) :=
  multiply_by_test_function
  integrate_over_domain
  integrate_by_parts_where_required
  apply_boundary_terms

 ELEMENT_INTERPOLATION(N_i,u_i) :=
  sum_i N_i*u_i

 ELEMENT_STIFFNESS(B,D,Omega_e) :=
  integral_{Omega_e} B^T D B dOmega

 ELEMENT_MASS(N,rho,Omega_e) :=
  integral_{Omega_e} rho*N^T*N dOmega

 ELEMENT_LOAD(N,b,Omega_e) :=
  integral_{Omega_e} N^T*b dOmega

 ASSEMBLE({K_e},connectivity) :=
  global_stiffness_matrix

 APPLY_DIRICHLET(K,f,dofs,values) :=
  modified_system_enforcing_prescribed_values

 APPLY_NEUMANN(f,traction,boundary) :=
  boundary_load_contribution

 MAP_REFERENCE_TO_PHYSICAL(xi) :=
  sum_i N_i(xi)*x_i

 JACOBIAN_MATRIX(xi) :=
  partial_x_over_partial_xi

 NUMERICAL_ELEMENT_INTEGRAL(f,{xi_q,w_q}) :=
  sum_q w_q*f(xi_q)*abs(det(J(xi_q)))

 SOLVE_FE_SYSTEM(K,f) :=
  u_h satisfying K*u_h=f
}

DEFINITIONS {
 D1 = "Finite element methods approximate a variational problem in a finite-dimensional function space."
 D2 = "The mesh partitions the domain into elements."
 D3 = "Shape functions define the local interpolation or approximation."
 D4 = "Weak formulations reduce differentiability requirements and naturally incorporate many flux-type boundary conditions."
 D5 = "Element matrices are assembled into a global sparse system."
 D6 = "Essential boundary conditions constrain the finite-dimensional trial space or global algebraic system."
 D7 = "Natural boundary conditions commonly arise through boundary terms in the weak form."
 D8 = "Isoparametric elements use the same or related basis functions to map geometry and interpolate solution fields."
 D9 = "Finite element accuracy depends on mesh size, polynomial order, regularity and element quality."
 D10 = "Adaptive finite-element methods refine where estimated error is greatest."
}

AXIOMS {
 A1_VARIATIONAL_FORMULATION:
  FiniteElementMethod approximates a weak or variational problem

 A2_FINITE_DIMENSIONALITY:
  The discrete trial and test spaces are finite-dimensional

 A3_LOCAL_TO_GLOBAL:
  Global finite-element systems are assembled from local element contributions

 A4_BASIS_EXPANSION:
  Approximate solutions are represented as linear combinations of basis functions

 A5_BOUNDARY_TREATMENT:
  Essential and natural boundary conditions have distinct finite-element roles

 A6_CONVERGENCE:
  Under suitable approximation, stability and regularity assumptions, finite-element solutions converge under mesh or polynomial refinement

 A7_ERROR_CONTROL:
  Error estimation can guide adaptive refinement

 A8_GEOMETRIC_MAPPING:
  Reference-to-physical element maps must preserve valid element geometry
}

REASONING {

 R1_PROBLEM_CLASSIFICATION {
  INPUT = differential_equation_and_domain
  IDENTIFY = elliptic_parabolic_hyperbolic_mixed_or_structural problem
  IDENTIFY = boundary_conditions_and_regularities
  RETURN = FE_problem_class
 }

 R2_WEAK_FORM_DERIVATION {
  INPUT = strong_form
  CHOOSE = admissible_test_functions
  MULTIPLY = governing_equation_by_test_function
  INTEGRATE = over_domain
  INTEGRATE_BY_PARTS = derivatives_as_needed
  APPLY = boundary_conditions
  RETURN = weak_form
 }

 R3_ELEMENT_SELECTION {
  INPUT = geometry_dimension_and_field_continuity requirements
  SELECT = line_triangle_quadrilateral_tetrahedral_hexahedral_or_other element
  SELECT = polynomial_order
  RETURN = finite_element_family
 }

 R4_LOCAL_MATRIX_CONSTRUCTION {
  INPUT = element_basis_material_operator_and_quadrature
  COMPUTE = element_stiffness_mass_and_load contributions
  RETURN = local_element_data
 }

 R5_ASSEMBLY {
  INPUT = local_element_data_and_connectivity
  SCATTER_ADD = local_entries_to_global_system
  RETURN = sparse_global_system
 }

 R6_BOUNDARY_CONDITION_APPLICATION {
  INPUT = global_system_and_boundary_data
  APPLY = essential_constraints
  ADD = natural_boundary loads
  RETURN = constrained_global_system
 }

 R7_LINEAR_SOLUTION {
  INPUT = K_and_f
  IDENTIFY = symmetry_definiteness_sparsity_conditioning
  SELECT = direct_or_iterative solver
  RETURN = discrete_solution
 }

 R8_NONLINEAR_FE {
  INPUT = nonlinear_weak_form
  LINEARISE = residual_and_tangent
  ITERATE = Newton_or_other nonlinear solver
  RETURN = nonlinear_FE_solution
 }

 R9_ERROR_ESTIMATION {
  INPUT = finite_element_solution
  COMPUTE = residual_recovery_dual_or_other estimator
  RETURN = local_and_global_error indicators
 }

 R10_ADAPTIVITY {
  INPUT = error_indicators
  MARK = elements
  REFINE = h_p_or_hp strategy
  RESOLVE = problem
  RETURN = adapted_FE_solution
 }
}

CONSTRAINTS {
 C1 = "The weak form must be mathematically equivalent to the intended boundary-value problem under stated assumptions."
 C2 = "Element mappings must have valid nonzero Jacobian determinants."
 C3 = "Mesh quality can strongly affect conditioning and approximation quality."
 C4 = "Essential and natural boundary conditions must not be conflated."
 C5 = "Numerical quadrature must be sufficiently accurate for the polynomial and nonlinear integrands involved."
 C6 = "Locking, spurious modes or instability may occur with inappropriate element choices."
 C7 = "Mixed methods may require compatibility or inf-sup conditions."
 C8 = "Nonlinear finite-element solutions require consistent residual and tangent formulations."
 C9 = "Adaptive refinement indicators are estimates, not exact local errors."
 C10 = "Convergence rates depend on solution regularity and approximation order."
}

SEMANTIC_EQUIVALENCE {
 "FiniteElementMethod" <=> "GalerkinPiecewisePolynomialDiscretisation"
 "FiniteElement" <=> "LocalMeshCellWithBasisAndDegreesOfFreedom"
 "WeakForm" <=> "VariationalForm"
 "StiffnessMatrix" <=> "DiscreteOperatorMatrix"
 "Assembly" <=> "LocalToGlobalMatrixConstruction"
 "ShapeFunction" <=> "FiniteElementBasisFunction"
}

VALIDATION {
 V1 = "Strong and weak formulations are consistent."
 V2 = "Finite-element spaces satisfy required continuity."
 V3 = "Element mappings are valid."
 V4 = "Quadrature order is adequate."
 V5 = "Boundary conditions are applied correctly."
 V6 = "Global assembly matches connectivity."
 V7 = "Solver matches matrix structure."
 V8 = "Mesh or polynomial refinement supports convergence claims."
 V9 = "Error estimator assumptions are stated."
 V10 = "Approximate-versus-exact status is preserved."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 FINITE_ELEMENT_DEFINITION = 0.99
 WEAK_FORM_REASONING = 0.99
 ELEMENT_SELECTION_REASONING = 0.98
 ASSEMBLY_REASONING = 0.99
 BOUNDARY_REASONING = 0.99
 NONLINEAR_FE_REASONING = 0.97
 ERROR_ESTIMATION_REASONING = 0.97
 ADAPTIVITY_REASONING = 0.97

 POLICY =
  "Reduce confidence when weak-form derivation, element type, continuity requirements, quadrature, mesh quality, boundary conditions, nonlinear linearisation or error-estimator assumptions are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  FiniteElementReasoning,
  WeakFormReasoning,
  VariationalFormReasoning,
  ElementSelection,
  ShapeFunctionReasoning,
  MatrixAssemblyReasoning,
  BoundaryConditionReasoning,
  NumericalQuadratureReasoning,
  LinearSystemReasoning,
  NonlinearFiniteElementReasoning,
  ErrorEstimation,
  AdaptiveMeshRefinement,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "finite element" -> FiniteElementMethod
  "finite elements" -> FiniteElementMethod
  "finite element method" -> FiniteElementMethod
  "FEM" -> FiniteElementMethod
  "shape function" -> ShapeFunction
  "weak form" -> WeakForm
  "variational form" -> VariationalForm
  "stiffness matrix" -> StiffnessMatrix
  "mass matrix" -> MassMatrix
  "mesh refinement" -> MeshRefinement
 }

 INTERPRETATION_ORDER = [
  detect_finite_element_context,
  identify governing_equation_domain_dimension_material_data_boundary_conditions_and_required field continuity,
  derive_or_verify weak_form,
  select element_family_mesh_and_polynomial order,
  construct local_element matrices_and_vectors,
  assemble global_system,
  apply boundary_conditions,
  solve linear_or_nonlinear algebraic system,
  estimate error_and_refine if required,
  verify convergence_conditioning_and_element quality,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("finite element")
  OR weak_form_mesh_shape_function_context
  THEN activate(FiniteElementOntology)

 E2:
  IF strong_form_given
  THEN derive weak_form_before discrete assembly

 E3:
  IF element_geometry_curved_or_high_order
  THEN use isoparametric_mapping_and_Jacobian checks

 E4:
  IF essential_boundary_condition
  THEN enforce through constrained_dofs_or_equivalent trial-space treatment

 E5:
  IF natural_boundary_condition
  THEN include corresponding weak-form boundary contribution

 E6:
  IF nonlinear_problem
  THEN form residual_and_consistent tangent when Newton method is used

 E7:
  IF mixed_formulation
  THEN check compatibility_or_inf_sup requirements

 E8:
  IF adaptivity_requested
  THEN compute local_error indicators_and_mark elements

 E9:
  IF convergence_claimed
  THEN verify h_p_or_hp refinement behaviour
}

RECURSION {
 ENTRY = FiniteElementMethod

 EXPAND(FiniteElementMethod) -> [
  FiniteElement,
  Mesh,
  Node,
  ElementConnectivity,
  ReferenceElement,
  PhysicalElement,
  IsoparametricElement,
  ShapeFunction,
  BasisFunction,
  TrialSpace,
  TestSpace,
  FiniteElementSpace,
  WeakForm,
  VariationalForm,
  GalerkinMethod,
  PetrovGalerkinMethod,
  BilinearForm,
  LinearFunctional,
  StiffnessMatrix,
  MassMatrix,
  LoadVector,
  Assembly,
  DegreesOfFreedom,
  EssentialBoundaryCondition,
  NaturalBoundaryCondition,
  NumericalQuadrature,
  JacobianMapping,
  MeshRefinement,
  ErrorEstimate,
  AdaptiveFiniteElementMethod
 ]

 EXPAND(ElementStructure) -> [
  Node,
  Edge,
  Face,
  Cell,
  ShapeFunction,
  LocalDegreeOfFreedom,
  ReferenceElement,
  JacobianMapping
 ]

 EXPAND(SystemAssembly) -> [
  LocalElementMatrix,
  LocalElementVector,
  ElementConnectivity,
  ScatterAdd,
  GlobalMatrix,
  GlobalVector
 ]

 EXPAND(Adaptivity) -> [
  APosterioriErrorEstimate,
  ElementIndicator,
  MarkingStrategy,
  HRefinement,
  PRefinement,
  HPRefinement
 ]

 STOP_CONDITION =
  "Stop when the weak form, element space, mesh, local matrices, global assembly, boundary treatment, solver, error estimate and convergence behaviour are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Numerical Analysis"

 IMMEDIATE_CONTEXTS = [
  "Numerical Analysis Ontology",
  "Numerical Methods Ontology",
  "Differential Equations Ontologies",
  "Linear Algebra Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Numerical Analysis Ontology",
  "Numerical Methods Ontology",
  "Numerical Integration Ontology",
  "Iterative Methods Ontology",
  "Numerical Analysis",
  "Applied Mathematics Ontologies",
  "Differential Equations Ontologies",
  "Partial Differential Equations Ontologies",
  "Linear Algebra Ontologies",
  "Variational Calculus Ontologies",
  "Functional Analysis Ontologies",
  "Computational Model Ontology",
  "Scientific Computing Ontologies",
  "Model Verification Ontology",
  "Engineering Mechanics Ontologies"
 ]

 ROUTE_RULES = [
  "Finite Element -> Numerical Analysis Ontology for numerical semantics",
  "Finite Element -> Numerical Methods Ontology for algorithm families",
  "Finite Element -> Differential Equations for governing-equation structure",
  "Finite Element -> Variational Calculus and Functional Analysis for weak formulations",
  "Finite Element -> Numerical Integration for element quadrature",
  "Finite Element -> Linear Algebra for assembled systems",
  "Finite Element -> Iterative Methods for large sparse solves",
  "Finite Element -> Computational Model for executable FE implementation",
  "Finite Element -> Scientific Computing for large-scale assembly and solution",
  "Finite Element -> Model Verification for mesh-convergence and error assessment"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible element families, formulations or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve weak-form discretisation semantics.",
  "Preserve local-element and global-assembly distinction.",
  "Preserve trial-space and test-space semantics.",
  "Preserve essential-versus-natural boundary distinction.",
  "Preserve reference-to-physical mapping semantics.",
  "Preserve sparse-system structure.",
  "Preserve adaptive error-estimation semantics.",
  "Preserve machine-readable finite-element semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "The finite element method approximates differential-equation solutions using finite-dimensional piecewise basis functions over a partitioned domain and a weak formulation."

 WEAK_FORM_SUMMARY =
  "The weak form is produced by testing the governing equation and reducing derivative order where appropriate."

 ELEMENT_SUMMARY =
  "Each finite element has geometry, local basis functions and degrees of freedom."

 ASSEMBLY_SUMMARY =
  "Element matrices and vectors are assembled into a global sparse algebraic system."

 BOUNDARY_SUMMARY =
  "Essential boundary conditions constrain discrete unknowns, while natural boundary conditions commonly enter through weak-form boundary terms."

 MATRIX_SUMMARY =
  "Stiffness and mass matrices represent discrete operator and inner-product or inertial contributions."

 QUADRATURE_SUMMARY =
  "Element integrals are commonly evaluated using numerical quadrature on reference elements."

 ADAPTIVITY_SUMMARY =
  "Adaptive finite-element methods refine the mesh or polynomial degree using error indicators."

 CONVERGENCE_SUMMARY =
  "Finite-element convergence depends on approximation order, mesh quality, solution regularity and formulation stability."
}

FLOW {
 INPUT
 -> detect_finite_element_context
 -> identify governing_equation_domain_geometry_material_parameters_boundary_conditions_and_solution regularity
 -> derive_or_validate weak_form
 -> select finite_element_family_trial_space_test_space_mesh_and_polynomial order
 -> map reference_elements_to_physical elements
 -> compute local_stiffness_mass_and_load contributions using quadrature
 -> assemble global_system
 -> impose essential_and_natural boundary conditions
 -> solve linear_or_nonlinear algebraic system
 -> estimate error_and_apply h_p_or_hp refinement if required
 -> assess convergence_conditioning_quadrature_and_mesh quality
 -> route to numerical_analysis_ontology numerical_methods differential_equations variational_calculus functional_analysis numerical_integration linear_algebra iterative_methods computational_model scientific_computing_model_verification_or_mechanics ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Finite Element Ontology defines variational discretisation of differential equations using meshes and piecewise basis functions. It supports weak and variational forms, trial and test spaces, finite elements, reference mappings, shape functions, stiffness and mass matrices, local-to-global assembly, essential and natural boundary conditions, numerical quadrature, sparse solvers, nonlinear formulations, error estimation, h-, p- and hp-adaptivity and convergence reasoning."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-FINITE-ELEMENT-ONTOLOGY-V1"
}

}

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