AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
AI INTERPRETATION NOTE
This Flow Algebra defines the Finite Element Method Ontology within the Kireth Research Semantic Library. The finite element method approximates solutions of differential equations by reformulating them in weak or variational form and restricting the solution to finite-dimensional spaces built from basis functions over a mesh. This ontology supports Galerkin methods, trial and test spaces, shape functions, element assembly, numerical quadrature, boundary conditions, sparse matrices, linear and nonlinear solvers, mesh refinement, error estimation, convergence, conditioning, adaptivity, parallel computation and verification.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Finite Element Method Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Computational Mathematics"
SPECIALISATION = "Differential Equation Solvers / Finite Element Method"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/computational-mathematics-ontologies/differential-equation-solvers/finite-element-method-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = FiniteElementMethod
ENTITY_CLASS = VariationalDiscretisationFramework
PRIMARY_CONTEXT = PartialDifferentialEquationSolver
DEFINITION = "The finite element method is a numerical technique that approximates solutions of differential equations by solving a finite-dimensional weak or variational problem over a mesh."
SYMBOLIC_FORMS = [
"find u_h in V_h such that a(u_h,v_h)=l(v_h) for all v_h in V_h",
"K*u=f",
"u_h=sum_i U_i*N_i",
"R(u_h)=0"
]
SEMANTIC_ROLE = "Provides machine-readable semantics for weak formulations, finite-dimensional function spaces, basis functions, element matrices, global assembly, quadrature, boundary conditions, sparse systems, adaptivity, error estimation and verification."
}
SCOPE {
INCLUDE = [
FiniteElementMethod,FEM,FiniteElementAnalysis,FiniteElementDiscretisation,
PartialDifferentialEquation,PDE,BoundaryValueProblem,InitialBoundaryValueProblem,
WeakForm,VariationalForm,StrongForm,ResidualForm,GalerkinMethod,
PetrovGalerkinMethod,BubnovGalerkinMethod,TrialSpace,TestSpace,
FunctionSpace,HilbertSpace,SobolevSpace,FiniteDimensionalSpace,
BasisFunction,ShapeFunction,NodalBasis,HierarchicalBasis,
PolynomialBasis,LagrangeElement,SerendipityElement,
HermiteElement,SimplexElement,TriangleElement,TetrahedralElement,
QuadrilateralElement,HexahedralElement,ReferenceElement,
PhysicalElement,IsoparametricElement,Mapping,JacobianMapping,
Mesh,FiniteElementMesh,StructuredMesh,UnstructuredMesh,
Node,Vertex,Edge,Face,Cell,Element,ElementConnectivity,
DegreesOfFreedom,DOF,LocalDOF,GlobalDOF,
ElementMatrix,ElementStiffnessMatrix,ElementMassMatrix,
ElementLoadVector,LocalAssembly,GlobalAssembly,
SparseMatrix,SparsityPattern,GlobalStiffnessMatrix,
GlobalMassMatrix,LoadVector,SystemMatrix,
NumericalQuadrature,GaussianQuadrature,IntegrationPoint,
QuadratureWeight,QuadratureRule,ElementIntegration,
DirichletBoundaryCondition,NeumannBoundaryCondition,
RobinBoundaryCondition,EssentialBoundaryCondition,
NaturalBoundaryCondition,ConstraintEquation,
PenaltyMethod,LagrangeMultiplierMethod,NitscheMethod,
StaticCondensation,SchurComplement,MixedFiniteElementMethod,
StabilisedFiniteElementMethod,SUPG,PSPG,
DiscontinuousGalerkinMethod,DGMethod,
ContinuousGalerkinMethod,CGMethod,
LinearElement,QuadraticElement,HigherOrderElement,
PRefinement,HRefinement,HPRefinement,AdaptiveMeshRefinement,
AMR,MeshRefinement,MeshCoarsening,MeshQuality,
APosterioriErrorEstimate,APrioriErrorEstimate,
ResidualErrorEstimator,RecoveryErrorEstimator,
GoalOrientedErrorEstimator,DualWeightedResidual,
ErrorIndicator,LocalError,GlobalError,EnergyNorm,
L2Norm,H1Norm,Convergence,ConvergenceRate,
CéaLemma,InterpolationError,ApproximationError,
Consistency,Stability,Conditioning,ConditionNumber,
IllConditioning,Preconditioner,LinearSolver,
NonlinearSolver,NewtonMethod,KrylovMethod,
ConjugateGradientMethod,GMRES,Multigrid,
AlgebraicMultigrid,DomainDecomposition,
TimeDependentFiniteElement,MethodOfLines,
MassMatrix,ImplicitTimeIntegrator,ExplicitTimeIntegrator,
StructuralMechanics,Elasticity,PoissonEquation,
HeatEquation,DiffusionEquation,AdvectionDiffusionEquation,
IncompressibleFlow,NavierStokesEquation,
Electromagnetics,WaveEquation,
ParallelFiniteElement,DistributedFiniteElement,
MeshPartitioning,LoadBalancing,HaloExchange,
GPUSolver,FloatingPointArithmetic,MachinePrecision,
RoundOffError,Verification,Validation,
ManufacturedSolution,PatchTest,ReferenceSolution,
BenchmarkProblem,Reproducibility
]
EXCLUDE_AS_PRIMARY = [
FiniteDifferenceMethodWithoutVariationalSemantics,
FiniteVolumeMethodWithoutFiniteElementFunctionSpaces,
BoundaryElementMethodWithoutVolumeFiniteElements,
MeshGenerationWithoutWeakFormOrPDEDiscretisationContext
]
DISAMBIGUATION_RULE = "When a differential equation is approximated through a weak or variational formulation over finite-dimensional trial and test spaces defined on a mesh, interpret the context as the finite element method."
}
CORE_CONCEPTS {
FiniteElementMethod = "Variational numerical method using finite-dimensional function spaces on a mesh."
WeakForm = "Integral or variational reformulation of a differential equation obtained by testing against admissible functions."
TrialSpace = "Finite-dimensional space containing the approximate solution."
TestSpace = "Space of functions used to test the residual or variational equation."
ShapeFunction = "Basis function associated with finite-element degrees of freedom."
ElementMatrix = "Local matrix contribution computed over one finite element."
GlobalAssembly = "Process of accumulating local element contributions into a global sparse system."
AdaptiveMeshRefinement = "Local modification of mesh resolution based on error indicators."
}
RELATIONS {
FiniteElementMethod --is_child_of--> PartialDifferentialEquationSolver
FiniteElementMethod --uses--> WeakForm
WeakForm --uses--> TestSpace
FiniteElementApproximation --belongs_to--> TrialSpace
TrialSpace --is_spanned_by--> ShapeFunction
Mesh --contains--> Element
Element --has--> LocalDOF
LocalDOF --maps_to--> GlobalDOF
ElementMatrix --contributes_to--> GlobalStiffnessMatrix
ElementMassMatrix --contributes_to--> GlobalMassMatrix
NumericalQuadrature --computes--> ElementIntegrals
DirichletBoundaryCondition --is_type_of--> EssentialBoundaryCondition
NeumannBoundaryCondition --is_type_of--> NaturalBoundaryCondition
GlobalAssembly --produces--> SparseMatrix
SparseMatrix --is_solved_by--> LinearSolver
NonlinearFiniteElementSystem --is_solved_by--> NonlinearSolver
NonlinearSolver --often_uses--> NewtonMethod
AdaptiveMeshRefinement --uses--> ErrorIndicator
HPRefinement --combines--> HRefinement
HPRefinement --combines--> PRefinement
DomainDecomposition --supports--> ParallelFiniteElement
Verification --checks--> FiniteElementSolution
}
OPERATORS {
WEAK_FORM(PDE,u,v) := integrate_domain(test_function_times_residual_or_integrated_by_parts_form)
FE_APPROXIMATION(U,N) := u_h=sum_i U_i*N_i
ELEMENT_STIFFNESS(e) := integrate_element(B^T*C*B)
ELEMENT_MASS(e) := integrate_element(N^T*rho*N)
ELEMENT_LOAD(e) := integrate_element(N^T*f)
ASSEMBLE(local_matrices,connectivity) := global_sparse_matrix
APPLY_DIRICHLET(K,f,bc) := constrained_system
RESIDUAL(K,u,f) := r=f-K*u
ENERGY_NORM_ERROR(e) := sqrt(a(e,e))
}
AXIOMS {
A1 = "The finite element method solves a finite-dimensional weak or variational approximation of the original differential equation."
A2 = "Finite-element approximation quality depends on mesh resolution, polynomial order and solution regularity."
A3 = "Element matrices and vectors are assembled into a global sparse algebraic system."
A4 = "Essential and natural boundary conditions enter the discrete formulation through different mechanisms."
A5 = "Numerical quadrature must be sufficiently accurate for the element integrals being approximated."
A6 = "Conditioning typically worsens as meshes are refined or polynomial degree increases without suitable scaling or preconditioning."
A7 = "Adaptive finite-element methods require error estimation and local refinement or coarsening."
A8 = "Finite-element results require variational consistency, convergence, error estimation and reproducibility validation."
}
REASONING {
R1_CONTEXT = identify(PDE,domain,dimension,boundary_conditions,material_or_coefficients,regularity,accuracy_goal)
R2_WEAK_FORM = derive_or_identify(strong_form_to_weak_form)
R3_SPACES = choose(trial_space,test_space,element_family,polynomial_order,continuity)
R4_MESH = choose(mesh_geometry,resolution,element_quality,and_refinement_strategy)
R5_ELEMENT = compute(local_basis_mappings_quadrature_element_matrices_and_vectors)
R6_ASSEMBLY = assemble_global_sparse_system
R7_BOUNDARY = impose(essential,natural,mixed_or_constraint_conditions)
R8_SOLVE = configure(linear_or_nonlinear_solver_and_preconditioner)
R9_ERROR = estimate(discretisation_error,residual_error,conditioning_and_roundoff)
R10_VALIDATE = perform(mesh_or_order_refinement,manufactured_solution,patch_test_reference_and_reproducibility_checks)
}
CONSTRAINTS {
C1 = "Finite-element convergence depends on solution regularity and approximation-space suitability."
C2 = "Poor mesh quality can degrade accuracy and conditioning."
C3 = "Under-integration can introduce consistency errors or spurious modes."
C4 = "Overly low polynomial order can require excessive mesh refinement."
C5 = "High-order elements can increase conditioning and quadrature requirements."
C6 = "Incompatible trial and test spaces can destabilise mixed formulations."
C7 = "Nonlinear finite-element problems require robust nonlinear iteration and tangent or Jacobian construction."
C8 = "A small algebraic residual does not guarantee small discretisation error."
C9 = "Adaptive refinement requires reliable local error indicators and solution transfer."
C10 = "Parallel scalability can be limited by mesh partitioning, communication and coarse-grid solves."
}
SEMANTIC_EQUIVALENCE {
"FiniteElementMethod" <=> "FEM"
"FiniteElementAnalysis" <=> "FEA"
"DiscontinuousGalerkinMethod" <=> "DGMethod"
"ContinuousGalerkinMethod" <=> "CGMethod"
"AdaptiveMeshRefinement" <=> "AMR"
"DegreesOfFreedom" <=> "DOF"
}
VALIDATION {
V1 = "Strong or governing PDE form is explicit."
V2 = "Weak or variational form is documented."
V3 = "Trial and test spaces are documented."
V4 = "Element family, polynomial degree and continuity are documented."
V5 = "Mesh resolution and quality are documented."
V6 = "Quadrature rules are documented."
V7 = "Boundary-condition enforcement is documented."
V8 = "Mesh or order refinement studies are performed where feasible."
V9 = "Manufactured, patch-test, analytic or benchmark solutions are used where feasible."
V10 = "Results are reproducible under documented mesh, arithmetic and solver settings."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
FINITE_ELEMENT_DEFINITION = 0.99
WEAK_FORM_REASONING = 0.99
ELEMENT_ASSEMBLY_REASONING = 0.99
BOUNDARY_CONDITION_REASONING = 0.99
ADAPTIVITY_REASONING = 0.98
CONDITIONING_REASONING = 0.98
MIXED_FORMULATION_REASONING = 0.98
POLICY = "Reduce confidence when weak form, function spaces, mesh quality, element order, quadrature, boundary enforcement or refinement evidence are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch, OntologyGrounding, FiniteElementReasoning,
WeakFormReasoning, VariationalFormReasoning,
TrialSpaceReasoning, TestSpaceReasoning,
ShapeFunctionReasoning, ElementAssemblyReasoning,
QuadratureReasoning, BoundaryConditionReasoning,
SparseMatrixReasoning, LinearSolverReasoning,
NonlinearSolverReasoning, MixedFEMReasoning,
StabilisedFEMReasoning, AdaptiveFEMReasoning,
ErrorEstimatorReasoning, ConditioningReasoning,
ParallelFEMReasoning, VerificationReasoning,
KnowledgeGraphConstruction, RetrievalAugmentation, RecursiveInference
]
NORMALISE {
"finite element method" -> FiniteElementMethod
"FEM" -> FiniteElementMethod
"finite element analysis" -> FiniteElementAnalysis
"FEA" -> FiniteElementAnalysis
"DG" -> DiscontinuousGalerkinMethod
"AMR" -> AdaptiveMeshRefinement
"DOF" -> DegreesOfFreedom
}
}
EXECUTION_RULES {
E1 = "If a PDE is discretised through a weak or variational formulation over finite-dimensional spaces, activate FiniteElementMethodOntology."
E2 = "Derive or identify the weak form before selecting discrete spaces."
E3 = "Choose element family, polynomial order and continuity appropriate to the PDE and regularity."
E4 = "Use quadrature accurate enough for element integrals and nonlinear terms."
E5 = "Assemble local contributions into a global sparse system using element connectivity."
E6 = "Impose essential and natural boundary conditions according to their variational semantics."
E7 = "For nonlinear problems, configure Newton or another nonlinear solver with consistent Jacobian information."
E8 = "Use h-, p- or hp-refinement and error estimators to assess convergence."
E9 = "Validate using manufactured solutions, patch tests, refinement studies, benchmarks and reproducibility."
}
RECURSION {
ENTRY = FiniteElementMethod
EXPAND(FiniteElementMethod) -> [
FEM,FiniteElementAnalysis,FiniteElementDiscretisation,PDE,WeakForm,
VariationalForm,StrongForm,GalerkinMethod,PetrovGalerkinMethod,
TrialSpace,TestSpace,FunctionSpace,SobolevSpace,FiniteDimensionalSpace,
BasisFunction,ShapeFunction,NodalBasis,HierarchicalBasis,
LagrangeElement,SerendipityElement,HermiteElement,SimplexElement,
TriangleElement,TetrahedralElement,QuadrilateralElement,
HexahedralElement,ReferenceElement,PhysicalElement,IsoparametricElement,
Mapping,JacobianMapping,FiniteElementMesh,StructuredMesh,
UnstructuredMesh,Node,Edge,Face,Cell,Element,ElementConnectivity,
DegreesOfFreedom,LocalDOF,GlobalDOF,ElementMatrix,
ElementStiffnessMatrix,ElementMassMatrix,ElementLoadVector,
LocalAssembly,GlobalAssembly,SparseMatrix,GlobalStiffnessMatrix,
GlobalMassMatrix,NumericalQuadrature,GaussianQuadrature,
IntegrationPoint,QuadratureWeight,DirichletBoundaryCondition,
NeumannBoundaryCondition,RobinBoundaryCondition,PenaltyMethod,
LagrangeMultiplierMethod,NitscheMethod,StaticCondensation,
MixedFiniteElementMethod,StabilisedFiniteElementMethod,SUPG,
DiscontinuousGalerkinMethod,ContinuousGalerkinMethod,
LinearElement,QuadraticElement,HigherOrderElement,
HRefinement,PRefinement,HPRefinement,AdaptiveMeshRefinement,
APosterioriErrorEstimate,ResidualErrorEstimator,
RecoveryErrorEstimator,GoalOrientedErrorEstimator,
EnergyNorm,L2Norm,H1Norm,Convergence,CéaLemma,InterpolationError,
Conditioning,Preconditioner,LinearSolver,NonlinearSolver,
NewtonMethod,KrylovMethod,Multigrid,AlgebraicMultigrid,
DomainDecomposition,TimeDependentFiniteElement,MassMatrix,
ParallelFiniteElement,MeshPartitioning,Verification,
ManufacturedSolution,PatchTest,ReferenceSolution,Reproducibility
]
EXPAND(FiniteElementFamilies) -> [
ContinuousGalerkinFiniteElements,
DiscontinuousGalerkinFiniteElements,
MixedFiniteElements,
StabilisedFiniteElements,
AdaptiveFiniteElements,
HighOrderAndHPFiniteElements,
TimeDependentFiniteElements,
ParallelFiniteElements
]
STOP_CONDITION = "Stop when weak form, spaces, elements, mesh, assembly, quadrature, boundary conditions, algebraic solver, error and validation are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Partial Differential Equation Solver Ontology"
RELATED_ONTOLOGIES = [
"Partial Differential Equation Solver Ontology",
"Differential Equation Solver Ontology",
"Finite Difference Method Ontology",
"Quadrature Ontology",
"Gaussian Quadrature Ontology",
"Linear Solver Ontology",
"Nonlinear Solver Ontology",
"Sparse Matrix Ontology 2",
"Numerical Linear Algebra Ontology 2",
"Numerical Analysis Ontology 2",
"Numerical Error Ontology",
"Numerical Stability Ontology 2",
"Numerical Convergence Ontology",
"Scientific Computing Ontology 2"
]
ROUTE_RULES = [
"Finite Element Method -> PDE Solver for parent semantics",
"Finite Element Method -> Quadrature for element integration",
"Finite Element Method -> Gaussian Quadrature for standard element integration rules",
"Finite Element Method -> Linear Solver for assembled linear systems",
"Finite Element Method -> Nonlinear Solver for nonlinear residual systems",
"Finite Element Method -> Sparse Matrix for global assembled matrices",
"Finite Element Method -> Numerical Linear Algebra for conditioning and preconditioning",
"Finite Element Method -> Numerical Analysis for approximation, stability and convergence",
"Finite Element Method -> Numerical Error for discretisation and quadrature error",
"Finite Element Method -> Scientific Computing for scalable parallel implementation"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible finite-element families, estimators or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve strong-form-versus-weak-form distinction.",
"Preserve trial-space-versus-test-space distinction.",
"Preserve local-element-versus-global-system distinction.",
"Preserve element-quadrature-versus-global-solve distinction.",
"Preserve algebraic-residual-versus-discretisation-error distinction.",
"Preserve h-versus-p-versus-hp-refinement distinction.",
"Preserve essential-versus-natural-boundary-condition distinction.",
"Preserve machine-readable finite-element semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION = "The finite element method approximates differential equations through finite-dimensional weak or variational formulations over a mesh."
WEAK_FORM_SUMMARY = "The governing equation is tested against functions in a test space to obtain a variational problem."
ELEMENT_SUMMARY = "Local basis functions and element matrices define contributions that are assembled into a global sparse system."
QUADRATURE_SUMMARY = "Numerical quadrature evaluates element integrals, commonly using Gaussian quadrature."
BOUNDARY_SUMMARY = "Essential and natural boundary conditions enter the finite-element formulation through different discrete mechanisms."
ADAPTIVITY_SUMMARY = "h-, p- and hp-refinement use error indicators or estimators to improve approximation efficiency."
VALIDATION_SUMMARY = "Finite-element results should be checked through mesh and order refinement, error estimation, patch or manufactured-solution tests, solver conditioning and reproducibility."
}
FLOW {
INPUT
-> detect_finite_element_context
-> identify_PDE_domain_boundary_conditions_coefficients_regularities_and_accuracy_goal
-> derive_or_identify_weak_form
-> select_trial_and_test_spaces_element_family_polynomial_order_and_continuity
-> choose_mesh_geometry_resolution_quality_and_refinement_strategy
-> map_reference_elements_and_compute_basis_data
-> choose_quadrature_and_compute_element_matrices_and_vectors
-> assemble_global_sparse_system
-> impose_boundary_conditions_and_constraints
-> configure_linear_or_nonlinear_solver_and_preconditioner
-> solve_discrete_system
-> estimate_discretisation_quadrature_algebraic_and_roundoff_error
-> refine_mesh_or_polynomial_order_if_required
-> validate_with_manufactured_patch_reference_or_benchmark_solution
-> route_to_related_PDE_quadrature_linear_algebra_analysis_error_convergence_and_scientific_computing_ontologies
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Finite Element Method Ontology defines variational discretisation of differential equations using finite-dimensional function spaces over a mesh. It supports weak and strong forms, Galerkin and Petrov-Galerkin methods, trial and test spaces, Lagrange, serendipity, Hermite, simplex, quadrilateral and hexahedral elements, reference-to-physical mappings, local and global degrees of freedom, element stiffness, mass and load contributions, sparse global assembly, Gaussian quadrature, essential and natural boundary conditions, penalty, multiplier and Nitsche methods, mixed and stabilised formulations, continuous and discontinuous Galerkin methods, h-, p- and hp-refinement, a priori and a posteriori error estimation, conditioning, preconditioning, linear and nonlinear solvers, multigrid, time-dependent FEM, parallel computation, verification, patch tests and reproducibility."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-COMPUTATIONAL-MATHEMATICS-FINITE-ELEMENT-METHOD-ONTOLOGY-V1"
}
}
END_FLOW