Skip to main content

Scientific Computing Ontology

Foundations of Computational Mathematics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 14 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Scientific Computing Ontology 2 within the Kireth Research Semantic Library. Scientific computing applies computational mathematics to the numerical solution, simulation and analysis of scientific models. This ontology supports model formulation, discretisation, numerical linear algebra, differential equations, simulation, floating-point computation, error analysis, adaptive methods, parallel computing, high-performance computing, verification, validation, reproducibility and relationships with computational mathematics, numerical analysis and domain sciences.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Scientific Computing Ontology 2"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Computational Mathematics"
 SPECIALISATION = "Foundations of Computational Mathematics / Scientific Computing"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/computational-mathematics-ontologies/foundations-of-computational-mathematics/scientific-computing-ontology-2.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = ScientificComputing
 ENTITY_CLASS = ComputationalScientificModelFramework
 PRIMARY_CONTEXT = FoundationsOfComputationalMathematics
 DEFINITION = "Scientific computing is the use of computational mathematics, numerical algorithms and simulation to solve and analyse scientific models."
 SYMBOLIC_FORMS = [
  "F(u,p)=0",
  "u_h approximates u",
  "A_h x_h=b_h",
  "error=modelling+discretisation+iteration+roundoff"
 ]
 SEMANTIC_ROLE = "Provides machine-readable semantics for scientific model computation, discretisation, numerical solution, simulation, error control, performance, verification, validation and reproducibility."
}

SCOPE {
 INCLUDE = [
  ScientificComputing,
  ComputationalScience,
  ScientificModel,
  MathematicalModel,
  PhysicalModel,
  ComputationalModel,
  GoverningEquation,
  Parameter,
  StateVariable,
  InitialCondition,
  BoundaryCondition,
  SourceTerm,
  ConstitutiveLaw,
  Discretisation,
  SpatialDiscretisation,
  TemporalDiscretisation,
  Mesh,
  Grid,
  StructuredGrid,
  UnstructuredGrid,
  AdaptiveMesh,
  AdaptiveRefinement,
  TimeStep,
  AdaptiveTimeStep,
  BasisFunction,
  FiniteDifferenceMethod,
  FiniteElementMethod,
  FiniteVolumeMethod,
  SpectralMethod,
  BoundaryElementMethod,
  MethodOfLines,
  NumericalODE,
  NumericalPDE,
  DifferentialAlgebraicEquation,
  LinearSystem,
  NonlinearSystem,
  SparseMatrix,
  SparseLinearAlgebra,
  NumericalLinearAlgebra,
  DirectSolver,
  IterativeSolver,
  KrylovMethod,
  ConjugateGradientMethod,
  GMRES,
  Preconditioner,
  Multigrid,
  DomainDecomposition,
  NewtonMethod,
  QuasiNewtonMethod,
  FixedPointIteration,
  NumericalIntegration,
  Quadrature,
  Interpolation,
  Approximation,
  Simulation,
  DeterministicSimulation,
  StochasticSimulation,
  MonteCarloSimulation,
  ParameterSweep,
  EnsembleSimulation,
  SensitivityAnalysis,
  UncertaintyQuantification,
  Calibration,
  InverseProblem,
  DataAssimilation,
  FloatingPointArithmetic,
  MachinePrecision,
  RoundoffError,
  TruncationError,
  DiscretisationError,
  IterationError,
  ModellingError,
  Residual,
  Conditioning,
  Stability,
  Consistency,
  Convergence,
  ErrorEstimate,
  APosterioriErrorEstimate,
  Verification,
  CodeVerification,
  SolutionVerification,
  Validation,
  ModelValidation,
  Benchmark,
  ReferenceSolution,
  ManufacturedSolution,
  MethodOfManufacturedSolutions,
  Reproducibility,
  Determinism,
  RandomSeed,
  ParallelComputing,
  SharedMemoryComputing,
  DistributedMemoryComputing,
  MessagePassing,
  MPI,
  Threading,
  OpenMP,
  GPUComputing,
  AcceleratorComputing,
  Vectorisation,
  HighPerformanceComputing,
  HPC,
  Scalability,
  StrongScaling,
  WeakScaling,
  LoadBalancing,
  CommunicationCost,
  MemoryBandwidth,
  PerformanceProfiling,
  ComputationalCost,
  TimeComplexity,
  SpaceComplexity,
  Workflow,
  Provenance,
  Checkpointing,
  Restart,
  PostProcessing,
  Visualisation,
  ScientificData,
  ReproducibleWorkflow
 ]
 EXCLUDE_AS_PRIMARY = [
  PureNumericalTheoryWithoutScientificModelContext,
  SoftwareEngineeringWithoutScientificMathematicalModel,
  ExperimentalScienceWithoutComputationalModel,
  DataAnalysisWithoutScientificSimulationOrNumericalModel
 ]
 DISAMBIGUATION_RULE = "When a scientific mathematical model is solved, simulated or analysed primarily through numerical algorithms and computational resources, interpret the context as scientific computing."
}

CORE_CONCEPTS {
 ScientificComputing = "Computational solution and analysis of scientific mathematical models."
 ScientificModel = "Mathematical representation of a scientific system."
 ComputationalModel = "Numerically representable form of a scientific model."
 Discretisation = "Finite-dimensional representation of a continuous scientific problem."
 NumericalSolver = "Algorithm used to solve the discretised scientific model."
 Simulation = "Computational execution of a model under specified conditions."
 Verification = "Assessment of whether equations and algorithms are solved correctly."
 Validation = "Assessment of whether the model adequately represents the intended real system."
 HighPerformanceComputing = "Use of advanced parallel computational resources for large scientific computations."
 Reproducibility = "Ability to reproduce computational results under documented conditions."
}

RELATIONS {
 ScientificComputing --is_child_of--> FoundationsOfComputationalMathematics
 ScientificComputing --uses--> ComputationalMathematics
 ScientificModel --contains--> GoverningEquation
 ScientificModel --contains--> Parameter
 ScientificModel --contains--> InitialCondition
 ScientificModel --contains--> BoundaryCondition
 ComputationalModel --represents--> ScientificModel
 Discretisation --transforms--> ContinuousModel
 Discretisation --produces--> DiscreteSystem
 FiniteDifferenceMethod --is_type_of--> Discretisation
 FiniteElementMethod --is_type_of--> Discretisation
 FiniteVolumeMethod --is_type_of--> Discretisation
 NumericalLinearAlgebra --solves--> LinearSystem
 IterativeSolver --may_use--> Preconditioner
 Multigrid --accelerates--> IterativeSolution
 NewtonMethod --solves--> NonlinearSystem
 MonteCarloSimulation --supports--> StochasticScientificModel
 SensitivityAnalysis --measures--> ParameterInfluence
 UncertaintyQuantification --propagates--> InputUncertainty
 CodeVerification --checks--> ImplementationCorrectness
 SolutionVerification --checks--> NumericalError
 ModelValidation --checks--> ScientificAdequacy
 HighPerformanceComputing --accelerates--> LargeScaleSimulation
 Scalability --characterises--> ParallelPerformance
 Provenance --supports--> Reproducibility
}

OPERATORS {
 DISCRETE_MODEL(F,u_h,p,h) := F_h(u_h,p)=0
 LINEAR_SYSTEM(A,x,b) := A*x=b
 RESIDUAL(A,x,b) := r=b-A*x
 NEWTON_STEP(x,J,F) := x_next=x-J(x)^(-1)*F(x)
 FIXED_POINT_STEP(x,G) := x_next=G(x)
 CONJUGATE_GRADIENT(A,b,x_k) := iterative_SPD_linear_solve
 GMRES_OPERATOR(A,b,x_k) := Krylov_minimum_residual_iteration
 ERROR_DECOMPOSITION(total) := total_error=modelling_error+discretisation_error+iteration_error+roundoff_error
 STRONG_SCALING(T1,Tp,p) := speedup=T1/Tp
 PARALLEL_EFFICIENCY(T1,Tp,p) := efficiency=T1/(p*Tp)
}

AXIOMS {
 A1 = "Scientific computing requires an explicit scientific mathematical model."
 A2 = "Numerical simulation requires a declared computational representation and discretisation."
 A3 = "Verification and validation are distinct activities."
 A4 = "Numerical accuracy depends on modelling, discretisation, solver and floating-point effects."
 A5 = "Computational scalability depends on both arithmetic and communication costs."
 A6 = "Adaptive refinement should be driven by explicit error or resolution criteria."
 A7 = "Parallel execution must preserve intended numerical semantics within accepted tolerances."
 A8 = "Scientific computational results require reproducible documentation of model, numerics and execution."
}

REASONING {
 R1_CONTEXT = identify(scientific_domain,model,equations,parameters,initial_and_boundary_conditions)
 R2_FORMULATION = define(continuous_model,constitutive_laws,source_terms)
 R3_DISCRETISATION = choose(mesh,grid,basis,time_step,FDM,FEM,FVM,spectral_or_other_method)
 R4_SOLVER = choose(direct,iterative,Krylov,multigrid,Newton_or_specialised_solver)
 R5_ERROR = estimate(modelling,discretisation,iteration,roundoff_error)
 R6_STABILITY = analyse(numerical_stability_and_conditioning)
 R7_ADAPTIVITY = refine(mesh,time_step_or_solver_tolerance_if_required)
 R8_PERFORMANCE = analyse(computational_cost,memory,parallelism,scaling)
 R9_VERIFICATION = perform(code_and_solution_verification)
 R10_VALIDATION = compare_model_with_reference_experiment_observation_or_accepted_benchmark)
}

CONSTRAINTS {
 C1 = "A converged numerical solution can still correspond to an invalid scientific model."
 C2 = "Increasing resolution does not correct incorrect governing equations."
 C3 = "A small solver residual does not always imply small physical error."
 C4 = "Parallel nondeterminism can change floating-point reduction order and low-order bits."
 C5 = "Strong scaling eventually becomes limited by communication and serial work."
 C6 = "Weak scaling does not guarantee constant wall-clock time under all memory and communication regimes."
 C7 = "Adaptive refinement can fail if the error indicator targets the wrong quantity."
 C8 = "Benchmark agreement does not prove validity for untested regimes."
 C9 = "Stochastic simulations require documented random streams and sampling uncertainty."
 C10 = "Post-processing must not obscure unresolved numerical error."
}

SEMANTIC_EQUIVALENCE {
 "ScientificComputing" <=> "ComputationalScience"
 "HighPerformanceComputing" <=> "HPC"
 "FiniteDifferenceMethod" <=> "FDM"
 "FiniteElementMethod" <=> "FEM"
 "FiniteVolumeMethod" <=> "FVM"
 "MethodOfManufacturedSolutions" <=> "MMS"
}

VALIDATION {
 V1 = "Scientific equations, parameters and conditions are explicit."
 V2 = "Discretisation and numerical solver are documented."
 V3 = "Mesh or timestep convergence is assessed."
 V4 = "Solver tolerances and residuals are reported."
 V5 = "Conditioning and stability are considered."
 V6 = "Verification is distinguished from validation."
 V7 = "Reference, benchmark or manufactured solutions are used where feasible."
 V8 = "Parallel scaling is measured rather than assumed."
 V9 = "Random seeds and ensembles are documented for stochastic simulations."
 V10 = "Workflow, provenance and software settings support reproducibility."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 SCIENTIFIC_COMPUTING_DEFINITION = 0.99
 MODEL_FORMULATION_REASONING = 0.99
 DISCRETISATION_REASONING = 0.99
 SOLVER_REASONING = 0.99
 ERROR_REASONING = 0.99
 VERIFICATION_REASONING = 0.99
 VALIDATION_REASONING = 0.98
 HPC_REASONING = 0.98
 POLICY = "Reduce confidence when governing equations, discretisation, solver, convergence, error estimates, validation data, parallel configuration or reproducibility information are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  ScientificComputingReasoning,
  ComputationalScienceReasoning,
  ModelFormulationReasoning,
  DiscretisationReasoning,
  NumericalSolverReasoning,
  NumericalLinearAlgebraReasoning,
  NumericalODEReasoning,
  NumericalPDEReasoning,
  SimulationReasoning,
  SensitivityReasoning,
  UncertaintyQuantificationReasoning,
  VerificationReasoning,
  ValidationReasoning,
  ParallelComputingReasoning,
  HPCReasoning,
  ScalabilityReasoning,
  ReproducibilityReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]
 NORMALISE {
  "scientific computing" -> ScientificComputing
  "computational science" -> ScientificComputing
  "HPC" -> HighPerformanceComputing
  "FDM" -> FiniteDifferenceMethod
  "FEM" -> FiniteElementMethod
  "FVM" -> FiniteVolumeMethod
  "MMS" -> MethodOfManufacturedSolutions
 }
}

EXECUTION_RULES {
 E1 = "If a scientific mathematical model is solved or simulated computationally, activate ScientificComputingOntology."
 E2 = "If continuous equations are present, define an appropriate discretisation."
 E3 = "If large sparse systems arise, route to numerical linear algebra and iterative solvers."
 E4 = "If nonlinear equations arise, route to Newton, quasi-Newton or fixed-point reasoning."
 E5 = "If stochastic uncertainty is central, route to Monte Carlo or uncertainty-quantification methods."
 E6 = "If numerical accuracy is questioned, separate modelling, discretisation, iteration and roundoff errors."
 E7 = "If computational scale is large, analyse parallelism, memory and communication."
 E8 = "If scientific credibility is required, perform both verification and validation."
 E9 = "Any scientific computation should be reproducible under documented model and numerical settings."
}

RECURSION {
 ENTRY = ScientificComputing
 EXPAND(ScientificComputing) -> [
  ComputationalScience, ScientificModel, MathematicalModel, PhysicalModel,
  ComputationalModel, GoverningEquation, Parameter, StateVariable,
  InitialCondition, BoundaryCondition, SourceTerm, ConstitutiveLaw,
  Discretisation, SpatialDiscretisation, TemporalDiscretisation, Mesh,
  Grid, StructuredGrid, UnstructuredGrid, AdaptiveMesh,
  AdaptiveRefinement, TimeStep, AdaptiveTimeStep, BasisFunction,
  FiniteDifferenceMethod, FiniteElementMethod, FiniteVolumeMethod,
  SpectralMethod, BoundaryElementMethod, MethodOfLines, NumericalODE,
  NumericalPDE, DifferentialAlgebraicEquation, LinearSystem,
  NonlinearSystem, SparseMatrix, SparseLinearAlgebra,
  NumericalLinearAlgebra, DirectSolver, IterativeSolver, KrylovMethod,
  ConjugateGradientMethod, GMRES, Preconditioner, Multigrid,
  DomainDecomposition, NewtonMethod, QuasiNewtonMethod,
  FixedPointIteration, NumericalIntegration, Quadrature, Interpolation,
  Approximation, Simulation, DeterministicSimulation,
  StochasticSimulation, MonteCarloSimulation, ParameterSweep,
  EnsembleSimulation, SensitivityAnalysis, UncertaintyQuantification,
  Calibration, InverseProblem, DataAssimilation, FloatingPointArithmetic,
  MachinePrecision, RoundoffError, TruncationError, DiscretisationError,
  IterationError, ModellingError, Residual, Conditioning, Stability,
  Consistency, Convergence, ErrorEstimate, APosterioriErrorEstimate,
  Verification, CodeVerification, SolutionVerification, Validation,
  ModelValidation, Benchmark, ReferenceSolution, ManufacturedSolution,
  MethodOfManufacturedSolutions, Reproducibility, Determinism,
  RandomSeed, ParallelComputing, SharedMemoryComputing,
  DistributedMemoryComputing, MessagePassing, MPI, Threading, OpenMP,
  GPUComputing, AcceleratorComputing, Vectorisation,
  HighPerformanceComputing, Scalability, StrongScaling, WeakScaling,
  LoadBalancing, CommunicationCost, MemoryBandwidth,
  PerformanceProfiling, ComputationalCost, TimeComplexity,
  SpaceComplexity, Workflow, Provenance, Checkpointing, Restart,
  PostProcessing, Visualisation, ScientificData, ReproducibleWorkflow
 ]
 EXPAND(ScientificComputingFamilies) -> [
  ModelAndDiscretisation,
  NumericalSolvers,
  SimulationAndUncertainty,
  VerificationAndValidation,
  ParallelAndHighPerformanceComputing,
  ReproducibleScientificWorkflows
 ]
 STOP_CONDITION = "Stop when scientific model, discretisation, solver, error, performance, verification, validation and reproducibility are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Foundations of Computational Mathematics"
 RELATED_ONTOLOGIES = [
  "Foundations of Computational Mathematics",
  "Computational Mathematics Ontology 2",
  "Numerical Analysis Ontologies",
  "Numerical Linear Algebra Ontologies",
  "Differential Equation Ontologies",
  "Optimisation Ontologies",
  "Monte Carlo Ontologies",
  "High Performance Computing Ontologies",
  "Uncertainty Quantification Ontologies",
  "Applied Mathematics Ontologies"
 ]
 ROUTE_RULES = [
  "Scientific Computing -> Foundations of Computational Mathematics for parent semantics",
  "Scientific Computing -> Computational Mathematics Ontology 2 for core computational semantics",
  "Scientific Computing -> Numerical Analysis for stability, error and convergence",
  "Scientific Computing -> Numerical Linear Algebra for sparse systems and solvers",
  "Scientific Computing -> Differential Equations for ODE and PDE models",
  "Scientific Computing -> Optimisation for inverse and calibration problems",
  "Scientific Computing -> Monte Carlo for stochastic simulation",
  "Scientific Computing -> HPC for large-scale parallel computation",
  "Scientific Computing -> Uncertainty Quantification for uncertain-input propagation",
  "Scientific Computing -> Applied Mathematics for domain model semantics"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"
 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible scientific computing methods, solver families or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"
 RULES = [
  "Preserve scientific-model-versus-computational-model distinction.",
  "Preserve verification-versus-validation distinction.",
  "Preserve modelling-versus-numerical error distinction.",
  "Preserve serial-versus-parallel semantics.",
  "Preserve strong-versus-weak scaling distinction.",
  "Preserve deterministic-versus-stochastic simulation distinction.",
  "Preserve reproducibility semantics.",
  "Preserve machine-readable scientific-computing semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION = "Scientific computing uses computational mathematics and numerical algorithms to solve, simulate and analyse scientific models."
 MODEL_SUMMARY = "Scientific models define governing equations, parameters, initial conditions, boundary conditions and constitutive relationships."
 DISCRETISATION_SUMMARY = "Finite-difference, finite-element, finite-volume, spectral and related methods convert continuous models into computational systems."
 SOLVER_SUMMARY = "Direct, iterative, Krylov, multigrid and nonlinear solvers compute discrete scientific solutions."
 ERROR_SUMMARY = "Scientific computation separates modelling, discretisation, iteration and floating-point errors."
 HPC_SUMMARY = "Parallel and high-performance computing enable large-scale simulations subject to communication, memory and scaling constraints."
 VERIFICATION_SUMMARY = "Verification checks equations, implementations and numerical solution accuracy."
 VALIDATION_SUMMARY = "Validation checks whether the mathematical model adequately represents the intended scientific system."
}

FLOW {
 INPUT
 -> detect_scientific_computing_context
 -> identify_scientific_model_governing_equations_parameters_initial_and_boundary_conditions
 -> choose_computational_representation_and_discretisation
 -> assemble_linear_nonlinear_or_time_dependent_discrete_system
 -> choose_direct_iterative_Krylov_multigrid_Newton_or_specialised_solver
 -> estimate_modelling_discretisation_iteration_and_roundoff_error
 -> assess_conditioning_stability_consistency_and_convergence
 -> refine_mesh_time_step_model_order_or_solver_tolerance_if_required
 -> analyse_parallelism_memory_communication_scalability_and_performance_if_large_scale
 -> perform_code_verification_solution_verification_and_model_validation
 -> document_workflow_provenance_random_streams_and_reproducibility
 -> route_to_foundations_computational_mathematics_core_computational_mathematics_numerical_analysis_linear_algebra_differential_equations_optimisation_Monte_Carlo_HPC_uncertainty_quantification_or_applied_mathematics_ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Scientific Computing Ontology 2 defines computational solution of scientific mathematical models. It supports governing equations, parameters, initial and boundary conditions, constitutive laws, spatial and temporal discretisation, structured and unstructured meshes, finite-difference, finite-element, finite-volume, spectral and boundary-element methods, numerical ODEs, PDEs and DAEs, sparse linear algebra, direct and iterative solvers, Krylov methods, conjugate gradients, GMRES, preconditioning, multigrid and domain decomposition, nonlinear Newton and fixed-point methods, deterministic and stochastic simulation, Monte Carlo ensembles, sensitivity analysis, uncertainty quantification, inverse problems and calibration, floating-point, truncation, discretisation, iteration and modelling errors, conditioning, stability and convergence, code and solution verification, model validation, benchmarks and manufactured solutions, MPI, OpenMP, GPU and accelerator computing, strong and weak scaling, load balancing, profiling, provenance, checkpointing and reproducible scientific workflows."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-COMPUTATIONAL-MATHEMATICS-SCIENTIFIC-COMPUTING-ONTOLOGY-2-V1"
}

}

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