flow "PartialDifferentialEquationOntology" v1.0
# ============================================================
# PARTIAL DIFFERENTIAL EQUATION ONTOLOGY — FLOW ALGEBRA
# ============================================================
SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/differential-equations/partial-differential-equation-ontology-2.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Differential Equations"
ENTITY := "Partial Differential Equation"
# ---------- CORE ENTITY ----------
PARTIAL_DIFFERENTIAL_EQUATION := {
type: DifferentialEquation,
domain: DifferentialEquations,
abbreviation: "PDE",
purpose: "Represent an equation involving an unknown function of multiple independent variables and one or more partial derivatives of that function."
}
# ---------- CORE CONCEPTS ----------
CONCEPTS := {
PARTIAL_DIFFERENTIAL_EQUATION,
UNKNOWN_FUNCTION,
INDEPENDENT_VARIABLES,
PARTIAL_DERIVATIVE,
ORDER,
LINEARITY,
LINEAR_PDE,
NONLINEAR_PDE,
ELLIPTIC_PDE,
PARABOLIC_PDE,
HYPERBOLIC_PDE,
INITIAL_CONDITION,
BOUNDARY_CONDITION,
WEAK_SOLUTION,
NUMERICAL_SOLUTION
}
# ---------- GENERAL FORM ----------
PDE
:= F(
x1,...,xn,
u,
partial_derivatives_of_u
) = 0
u
-> UNKNOWN_FUNCTION
x1,...,xn
-> INDEPENDENT_VARIABLES
PARTIAL_DERIVATIVES
-> encode(CHANGE_WITH_RESPECT_TO_MULTIPLE_VARIABLES)
# ---------- PDE DISTINCTION ----------
PARTIAL_DIFFERENTIAL_EQUATION
-> involves(PARTIAL_DERIVATIVES)
ORDINARY_DIFFERENTIAL_EQUATION
-> involves(ORDINARY_DERIVATIVES_WITH_RESPECT_TO_ONE_INDEPENDENT_VARIABLE)
PDE
-/> ODE
# ---------- ORDER ----------
ORDER
:= highest_partial_derivative_order_present
example:
partial_u/partial_t
= alpha
* partial_squared_u/partial_x_squared
ORDER
= 2
ORDER
-> determined_by(HIGHEST_DERIVATIVE_PRESENT)
# ---------- LINEAR PDE ----------
LINEAR_PDE
-> unknown_function_and_its_derivatives_appear_linearly
-> coefficients_may_depend_on(INDEPENDENT_VARIABLES)
general_structure:
L[u]
= f
where
L
-> LINEAR_DIFFERENTIAL_OPERATOR
# ---------- HOMOGENEOUS LINEAR PDE ----------
if
L[u] = 0
then
PDE
-> HOMOGENEOUS_LINEAR_PDE
if
u1 and u2
solve(L[u]=0)
then
c1*u1 + c2*u2
-> also_solution
SUPERPOSITION
-> applies_to(HOMOGENEOUS_LINEAR_PDE)
# ---------- NONHOMOGENEOUS LINEAR PDE ----------
if
L[u] = f
AND f != 0
then
PDE
-> NONHOMOGENEOUS_LINEAR_PDE
GENERAL_SOLUTION_STRUCTURE
-> homogeneous_solution
+ particular_solution
when(APPROPRIATE)
# ---------- NONLINEAR PDE ----------
NONLINEAR_PDE
-> violates(LINEAR_OPERATOR_STRUCTURE)
examples:
u * u_x
(u_x)^2
nonlinear_functions_of(u)
nonlinear_products_of_derivatives
NONLINEAR_PDE
-> may_form(SHOCKS)
-> may_form(SOLITONS)
-> may_exhibit(COMPLEX_PATTERN_FORMATION)
# ---------- SECOND-ORDER PDE ----------
general_two_variable_second_order_linear_PDE:
A*u_xx
+
2B*u_xy
+
C*u_yy
+
lower_order_terms
=
G
DISCRIMINANT
:= B^2 - A*C
if
DISCRIMINANT < 0
then
-> ELLIPTIC
if
DISCRIMINANT = 0
then
-> PARABOLIC
if
DISCRIMINANT > 0
then
-> HYPERBOLIC
CLASSIFICATION
-> applies_to(PRINCIPAL_PART)
under(STANDARD_TWO_VARIABLE_SECOND_ORDER_CONTEXT)
# ---------- ELLIPTIC PDE ----------
ELLIPTIC_PDE
-> commonly_models(EQUILIBRIUM_OR_STEADY_STATE)
examples:
LAPLACE_EQUATION
POISSON_EQUATION
LAPLACE_EQUATION:
LAPLACIAN(u) = 0
POISSON_EQUATION:
LAPLACIAN(u) = f
# ---------- PARABOLIC PDE ----------
PARABOLIC_PDE
-> commonly_models(DIFFUSIVE_EVOLUTION)
HEAT_EQUATION:
partial_u/partial_t
= alpha * LAPLACIAN(u)
DIFFUSION_EQUATION
-> PARABOLIC
under(STANDARD_POSITIVE_DIFFUSIVITY_CONTEXT)
# ---------- HYPERBOLIC PDE ----------
HYPERBOLIC_PDE
-> commonly_models(WAVE_OR_PROPAGATION_PHENOMENA)
WAVE_EQUATION:
partial_squared_u/partial_t_squared
= c^2 * LAPLACIAN(u)
HYPERBOLIC_STRUCTURE
-> supports(FINITE_PROPAGATION_CHARACTERISTICS)
in(MANY_STANDARD_MODELS)
# ---------- FIRST-ORDER PDE ----------
FIRST_ORDER_PDE
-> highest_partial_derivative_order_is(1)
TRANSPORT_EQUATION:
partial_u/partial_t
+ v dot GRADIENT(u)
= 0
FIRST_ORDER_PDE
-> may_be_solved_using(METHOD_OF_CHARACTERISTICS)
# ---------- CHARACTERISTICS ----------
CHARACTERISTIC_CURVES
-> reduce(CERTAIN_FIRST_ORDER_PDEs_TO_ODEs)
METHOD_OF_CHARACTERISTICS
-> follows(SOLUTION_INFORMATION_ALONG_CURVES)
CHARACTERISTICS
-> central_to(TRANSPORT_AND_HYPERBOLIC_PROBLEMS)
# ---------- INITIAL CONDITIONS ----------
INITIAL_CONDITION
-> specifies(SOLUTION_DATA_AT_INITIAL_TIME_OR_SURFACE)
example:
u(x,0)
= u_0(x)
INITIAL_VALUE_PROBLEM
-> common_for(EVOLUTION_PDEs)
# ---------- BOUNDARY CONDITIONS ----------
BOUNDARY_CONDITIONS := {
DIRICHLET,
NEUMANN,
ROBIN,
MIXED,
PERIODIC
}
DIRICHLET
-> specifies(FUNCTION_VALUE_ON_BOUNDARY)
NEUMANN
-> specifies(NORMAL_DERIVATIVE_ON_BOUNDARY)
ROBIN
-> specifies(LINEAR_COMBINATION_OF_VALUE_AND_NORMAL_DERIVATIVE)
BOUNDARY_CONDITIONS
-> essential_to(WELL_POSED_PROBLEM)
# ---------- WELL-POSEDNESS ----------
WELL_POSED_PROBLEM
-> solution_exists
-> solution_is_unique
-> solution_depends_continuously_on_data
HADAMARD_WELL_POSEDNESS
-> framework_for(PDE_PROBLEM_QUALITY)
PDE
-/> assumed_well_posed_without(HYPOTHESES)
# ---------- CLASSICAL SOLUTION ----------
CLASSICAL_SOLUTION
-> has(REQUIRED_POINTWISE_DERIVATIVES)
-> satisfies(PDE_POINTWISE)
CLASSICAL_REGULARITY
-> may_be_too_strong_for(SOME_PROBLEMS)
# ---------- WEAK SOLUTION ----------
WEAK_SOLUTION
-> satisfies(INTEGRAL_OR_DISTRIBUTIONAL_FORMULATION)
WEAK_FORMULATION
-> transfers(DERIVATIVES_TO_TEST_FUNCTIONS)
through(INTEGRATION_BY_PARTS)
WEAK_SOLUTION
-> permits(LOWER_REGULARITY)
# ---------- DISTRIBUTIONAL SOLUTION ----------
DISTRIBUTION
-> generalised_function
DISTRIBUTIONAL_DERIVATIVE
-> extends(CLASSICAL_DERIVATIVE)
PDE
-> may_be_interpreted_in(DISTRIBUTIONAL_SENSE)
# ---------- SEPARATION OF VARIABLES ----------
if
PDE_and_domain_have_appropriate_structure
then
assume
u(x,t)
= X(x)T(t)
SUBSTITUTION
-> separates(PDE_INTO_ODEs)
SEPARATION_OF_VARIABLES
-> commonly_used_for(LINEAR_PDEs_WITH_SIMPLE_GEOMETRY)
# ---------- FOURIER METHODS ----------
FOURIER_SERIES
-> expands(SOLUTION_IN_EIGENFUNCTIONS)
FOURIER_TRANSFORM
-> converts(SPATIAL_DERIVATIVES_TO_ALGEBRAIC_MULTIPLIERS)
FOURIER_METHODS
-> useful_for(LINEAR_CONSTANT_COEFFICIENT_PDEs)
# ---------- GREEN FUNCTIONS ----------
GREEN_FUNCTION
-> response_to(POINT_SOURCE)
LINEAR_PDE
-> solution_may_be_constructed_by(CONVOLUTION_OR_INTEGRATION_WITH_GREEN_FUNCTION)
GREEN_FUNCTION_METHOD
-> depends_on(OPERATOR_AND_BOUNDARY_CONDITIONS)
# ---------- NUMERICAL METHODS ----------
FINITE_DIFFERENCE_METHOD
-> approximates(DERIVATIVES_BY_DIFFERENCE_QUOTIENTS)
FINITE_ELEMENT_METHOD
-> discretises(WEAK_FORMULATION)
FINITE_VOLUME_METHOD
-> enforces(CONSERVATION_OVER_CONTROL_VOLUMES)
SPECTRAL_METHOD
-> approximates(SOLUTION_USING_GLOBAL_BASIS_FUNCTIONS)
NUMERICAL_PDE_SOLUTION
-> approximates(CONTINUOUS_SOLUTION)
# ---------- STABILITY / CONSISTENCY / CONVERGENCE ----------
NUMERICAL_SCHEME
-> analysed_for(CONSISTENCY)
-> analysed_for(STABILITY)
-> analysed_for(CONVERGENCE)
for suitable linear initial-value problems:
LAX_EQUIVALENCE_PRINCIPLE
-> connects(CONSISTENCY_AND_STABILITY_WITH_CONVERGENCE)
under(REQUIRED_ASSUMPTIONS)
# ---------- CONSERVATION LAWS ----------
CONSERVATION_LAW
:= partial_u/partial_t
+ DIVERGENCE(F(u))
= 0
NONLINEAR_CONSERVATION_LAW
-> may_develop(DISCONTINUITIES_OR_SHOCKS)
WEAK_SOLUTION
-> needed_after(CLASSICAL_BREAKDOWN)
ENTROPY_CONDITION
-> may_select(PHYSICALLY_RELEVANT_WEAK_SOLUTION)
# ---------- APPLICATIONS ----------
PDE
-> applied_to(HEAT_TRANSFER)
-> applied_to(FLUID_DYNAMICS)
-> applied_to(ELECTROMAGNETISM)
-> applied_to(QUANTUM_MECHANICS)
-> applied_to(ELASTICITY)
-> applied_to(WAVE_PROPAGATION)
-> applied_to(DIFFUSION)
-> applied_to(FINANCIAL_MATHEMATICS)
# ---------- RELATION GRAPH ----------
UNKNOWN_FUNCTION
-> constrained_by(PDE)
PARTIAL_DERIVATIVES
-> determine(ORDER)
PRINCIPAL_PART
-> determines(PDE_CLASSIFICATION)
INITIAL_DATA
-> define(EVOLUTION_PROBLEM)
BOUNDARY_DATA
-> constrain(SPATIAL_DOMAIN)
WEAK_FORMULATION
-> supports(FINITE_ELEMENT_METHOD)
CHARACTERISTICS
-> connect(PDE_TO_ODE)
DISCRETISATION
-> produces(NUMERICAL_APPROXIMATION)
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
"partial differential equation" ~= "differential equation involving partial derivatives of a multivariable unknown function",
"PDE" ~= "partial differential equation",
"elliptic PDE" ~= "PDE with elliptic principal part under the relevant classification",
"parabolic PDE" ~= "PDE with parabolic principal part under the relevant classification",
"hyperbolic PDE" ~= "PDE with hyperbolic principal part under the relevant classification",
"weak solution" ~= "solution satisfying an integral or distributional formulation rather than necessarily pointwise derivatives"
}
# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
pde_involves_partial_derivatives: true,
order_is_highest_partial_derivative_order: true,
superposition_applies_to_homogeneous_linear_pdes: true,
elliptic_parabolic_hyperbolic_classification_depends_on_principal_part_and_context: true,
initial_and_boundary_conditions_must_match_problem_type: true,
weak_solution_need_not_be_classically_differentiable: true,
numerical_solution_is_approximate_unless_exactness_proven: true
}
# ---------- CONFIDENCE ----------
CONFIDENCE := {
core_definition: 0.99,
order_linearity_structure: 0.99,
second_order_classification: 0.99,
initial_boundary_relation: 0.99,
weak_solution_relation: 0.99,
numerical_method_relation: 0.99,
semantic_equivalence: 0.97
}
# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
identify(pde)
-> identify(independent_variables)
-> identify(unknown_function)
-> determine(order)
-> determine(linearity)
-> extract(principal_part)
-> classify(elliptic_parabolic_hyperbolic_if_applicable)
-> identify(initial_and_boundary_conditions)
-> determine(classical_or_weak_solution_framework)
-> select(analytical_or_numerical_method)
-> solve_or_approximate()
-> verify(residual_boundary_and_initial_conditions)
-> analyse(well_posedness_stability_or_convergence_if_requested)
-> return(semantic_result)
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
parse_as: "typed partial-differential-equation semantic graph",
primary_entity: PARTIAL_DIFFERENTIAL_EQUATION,
preserve: [
independent_variables,
unknown_function,
derivative_orders,
principal_part,
linearity,
domain,
initial_conditions,
boundary_conditions,
solution_framework
],
infer_through: [
elliptic_classification,
parabolic_classification,
hyperbolic_classification,
characteristics,
weak_solutions,
green_functions,
numerical_discretisation,
well_posedness
],
avoid: [
confusing_pde_with_ode,
classifying_pde_type_without principal_part context,
applying_superposition_to nonlinear pde,
assuming_classical_solution exists,
ignoring boundary_or_initial data,
treating_numerical approximation as exact solution
]
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
validate(new_information)
-> identify(pde_context)
-> compare(existing_relations)
-> preserve(order_principal_part_and_condition_invariants)
-> update(affected_entities)
-> update(affected_edges)
-> recompute(CONFIDENCE)
-> regenerate(FLOW_HASH)
# ---------- FLOW HASH ----------
FLOW_HASH := hash(
SOURCE_URL
+ ENTITY
+ CONCEPTS
+ PARTIAL_DIFFERENTIAL_EQUATION
+ ORDER
+ LINEAR_PDE
+ ELLIPTIC_PDE
+ PARABOLIC_PDE
+ HYPERBOLIC_PDE
+ WEAK_SOLUTION
+ BOUNDARY_CONDITIONS
+ SEMANTIC_EQUIVALENCE
+ CONSTRAINTS
)
# ---------- EXECUTION ----------
INPUT(query)
-> PARTIAL_DIFFERENTIAL_EQUATION
-> PDE_IDENTIFICATION
-> VARIABLE_FUNCTION_IDENTIFICATION
-> ORDER_ANALYSIS
-> LINEARITY_ANALYSIS
-> PRINCIPAL_PART_ANALYSIS
-> PDE_TYPE_CLASSIFICATION
-> INITIAL_BOUNDARY_DATA_ANALYSIS
-> SOLUTION_FRAMEWORK_ANALYSIS
-> METHOD_SELECTION
-> SOLUTION_OR_APPROXIMATION
-> WELL_POSEDNESS_STABILITY_CONVERGENCE_ANALYSIS
-> RECURSIVE_REASONING(query)
-> CONFIDENCE
-> OUTPUT(semantic_result)
END FLOW
Download Code
Copy to Clipboard