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
Download Code
Copy to Clipboard