flow "HeatEquationOntology" v1.0
# HEAT EQUATION ONTOLOGY — FLOW ALGEBRA
SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/mathematical-physics-analysis/heat-equation-ontology.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Mathematical Physics Analysis"
ENTITY := "Heat Equation"
HEAT_EQUATION := {
type: ParabolicPartialDifferentialEquation,
domain: MathematicalPhysicsAnalysis,
purpose: "Represent diffusion of heat or analogous quantities through space and time, including initial-boundary value problems, smoothing, conservation, dissipation and diffusion kernels."
}
CONCEPTS := {
HEAT_EQUATION,
PARABOLIC_PDE,
TEMPERATURE_FIELD,
THERMAL_DIFFUSIVITY,
LAPLACIAN,
INITIAL_CONDITION,
BOUNDARY_CONDITION,
HEAT_KERNEL,
GREEN_FUNCTION,
FOURIER_SERIES,
DIFFUSION,
MAXIMUM_PRINCIPLE,
ENERGY_DECAY,
STEADY_STATE,
SOURCE_TERM,
FLUX
}
# ---------- STANDARD FORM ----------
partial_u/partial_t
=
alpha
*
LAPLACIAN(u)
u
-> TEMPERATURE_OR_DIFFUSING_FIELD
alpha
-> DIFFUSIVITY
alpha>0
HEAT_EQUATION
-> PARABOLIC_PDE
# ---------- ONE DIMENSION ----------
u_t
=
alpha*u_xx
u
=
u(x,t)
ONE_DIMENSIONAL_HEAT_EQUATION
-> canonical_diffusion_model
# ---------- PHYSICAL DERIVATION ----------
FOURIER_LAW:
q
=
-k*grad(T)
q
-> HEAT_FLUX
k
-> THERMAL_CONDUCTIVITY
ENERGY_BALANCE:
rho*c_p*T_t
=
-div(q)
+
Q
therefore
rho*c_p*T_t
=
div(
k*grad(T)
)
+
Q
# ---------- CONSTANT COEFFICIENT ----------
if
k,
rho,
c_p
constant
and
Q=0
then
T_t
=
alpha*LAPLACIAN(T)
where
alpha
:=
k/(rho*c_p)
THERMAL_DIFFUSIVITY
-> conductivity_divided_by(volumetric_heat_capacity)
# ---------- INITIAL CONDITION ----------
u(x,0)
=
f(x)
INITIAL_DATA
-> specifies(INITIAL_TEMPERATURE_DISTRIBUTION)
FIRST_ORDER_TIME_PDE
-> typically_requires(ONE_INITIAL_FIELD)
# ---------- DIRICHLET BOUNDARY ----------
u
=
g
on
boundary(Omega)
DIRICHLET_CONDITION
-> prescribed_temperature
# ---------- NEUMANN BOUNDARY ----------
partial_u/partial_n
=
h
on boundary
or physically:
-k*partial_u/partial_n
=
specified_heat_flux
NEUMANN_CONDITION
-> prescribed_normal_flux
# ---------- ROBIN BOUNDARY ----------
-k*partial_u/partial_n
=
h_c*(u-u_environment)
ROBIN_CONDITION
-> convective_heat_transfer_model
BOUNDARY_CONDITION
-> controls(HEAT_EXCHANGE_WITH_ENVIRONMENT)
# ---------- SOURCE TERM ----------
u_t
-
alpha*LAPLACIAN(u)
=
s(x,t)
SOURCE_TERM
-> internal_generation_or_external_forcing
FORCED_HEAT_EQUATION
-> diffusion_plus_source
# ---------- STEADY STATE ----------
if
u_t
=
0
then
-alpha*LAPLACIAN(u)
=
-s
or without source:
LAPLACIAN(u)
=
0
STEADY_HEAT_EQUATION
-> elliptic_problem
TIME_DEPENDENT_HEAT_FLOW
-> may_approach(STEADY_STATE)
# ---------- WHOLE SPACE HEAT KERNEL ----------
on R^n:
G(x,t)
:=
1
/
(
(4*pi*alpha*t)^(n/2)
)
*
exp(
-|x|^2/(4*alpha*t)
)
for
t>0
HEAT_KERNEL
-> fundamental_solution_of(HEAT_EQUATION)
# ---------- CONVOLUTION SOLUTION ----------
for initial data
f
u(x,t)
=
integral_Rn(
G(x-y,t)
*
f(y)
dy
)
HEAT_KERNEL
-> propagates(INITIAL_DATA)
SOLUTION
-> convolution_of(INITIAL_DATA_WITH_GAUSSIAN_KERNEL)
# ---------- KERNEL NORMALISATION ----------
integral_Rn(
G(x,t)
dx
)
=
1
HEAT_KERNEL
-> probability_density_like_normalisation
MASS
-> conserved_on(WHOLE_SPACE_WITH_NO_SOURCE)
# ---------- SEMIGROUP ----------
heat evolution:
u(t)
=
exp(
t*alpha*LAPLACIAN
)
u_0
HEAT_SEMIGROUP
-> satisfies
S(0)
=
identity
S(t+s)
=
S(t)S(s)
SEMIGROUP
-> irreversible_forward_time_evolution
# ---------- SMOOTHING ----------
rough initial data
-> becomes(SMOOTHER_FOR_t>0)
HEAT_EQUATION
-> INSTANTANEOUS_SMOOTHING
under standard settings
PARABOLIC_REGULARISATION
-> improves(SPATIAL_REGULARITY)
# ---------- INFINITE PROPAGATION SPEED ----------
whole-space heat kernel:
G(x,t)
>
0
for all x
and
t>0
LOCAL_INITIAL_DISTURBANCE
-> influences(ALL_SPATIAL_POINTS_IMMEDIATELY)
mathematically
HEAT_EQUATION
-> INFINITE_PROPAGATION_SPEED
unlike
classical_wave_equation
# ---------- MAXIMUM PRINCIPLE ----------
for suitable homogeneous heat equation:
maximum_in_space_time_domain
-> controlled_by(INITIAL_AND_BOUNDARY_DATA)
PARABOLIC_MAXIMUM_PRINCIPLE
-> prevents_creation_of_new_interior_extrema
under standard hypotheses
MAXIMUM_PRINCIPLE
-> supports(UNIQUENESS_AND_BOUNDS)
# ---------- POSITIVITY ----------
if
initial_data
>=0
and boundary/source conditions preserve positivity
then
solution
>=0
POSITIVITY_PRESERVATION
-> physical_consistency_of(TEMPERATURE_OR_CONCENTRATION)
# ---------- ENERGY METHOD ----------
for homogeneous Dirichlet example:
E(t)
:=
1/2
*
integral_Omega(
u^2
dx
)
differentiate:
dE/dt
=
-alpha
*
integral_Omega(
|grad(u)|^2
dx
)
<=0
HEAT_FLOW
-> dissipates(L2_ENERGY)
# ---------- POINCARE DECAY ----------
if homogeneous Dirichlet boundary
and suitable bounded domain:
integral(
|grad(u)|^2
)
>=
lambda_1
*
integral(
|u|^2
)
therefore
E(t)
-> decays_exponentially
with rate related to
alpha*lambda_1
SPECTRAL_GAP
-> controls(LONG_TIME_DECAY)
# ---------- SEPARATION OF VARIABLES ----------
assume
u(x,t)
=
X(x)*T(t)
then
T_prime/(alpha*T)
=
LAPLACIAN(X)/X
=
-lambda
temporal equation:
T_prime
=
-alpha*lambda*T
therefore
T(t)
=
C*exp(-alpha*lambda*t)
# ---------- EIGENFUNCTION EXPANSION ----------
spatial eigenproblem:
-LAPLACIAN(phi_n)
=
lambda_n*phi_n
with boundary conditions
solution:
u(x,t)
=
sum_n(
a_n
*
exp(-alpha*lambda_n*t)
*
phi_n(x)
)
HEAT_EQUATION
-> damps(HIGHER_EIGENMODES_FASTER)
# ---------- FINITE INTERVAL ----------
for
0<x<L
with
u(0,t)=u(L,t)=0
eigenfunctions:
sin(n*pi*x/L)
eigenvalues:
lambda_n
=
(n*pi/L)^2
solution:
u(x,t)
=
sum_from_n_1_to_infinity(
b_n
*
exp(
-alpha*(n*pi/L)^2*t
)
*
sin(n*pi*x/L)
)
# ---------- FOURIER TRANSFORM ----------
on R^n:
spatial transform gives
partial_u_hat/partial_t
=
-alpha*|k|^2*u_hat
solution:
u_hat(k,t)
=
exp(
-alpha*|k|^2*t
)
*
u_hat(k,0)
FOURIER_MODE
-> exponentially_damped_by(WAVENUMBER_SQUARED)
# ---------- DIFFUSION LENGTH ----------
characteristic spreading scale:
L_diff
approx
sqrt(alpha*t)
DIFFUSION
-> distance_grows_like(SQUARE_ROOT_OF_TIME)
# ---------- CONSERVATION OF TOTAL MASS ----------
on whole space with sufficient decay:
M(t)
:=
integral(
u(x,t)
dx
)
dM/dt
=
0
for source-free equation
TOTAL_MASS
-> conserved
on bounded domain:
conservation
-> depends_on(BOUNDARY_FLUX)
# ---------- VARIABLE COEFFICIENT ----------
rho*c_p*u_t
=
div(
k(x,u)*grad(u)
)
+
Q
VARIABLE_COEFFICIENT_HEAT_EQUATION
-> heterogeneous_or_nonlinear_diffusion
constant_alpha_model
-/> universally_valid
# ---------- NONLINEAR DIFFUSION ----------
example:
u_t
=
LAPLACIAN(
u^m
)
POROUS_MEDIUM_EQUATION
-> nonlinear_diffusion
may_have
-> FINITE_PROPAGATION_SPEED
NONLINEAR_DIFFUSION
-> differs_from(LINEAR_HEAT_EQUATION)
# ---------- ADVECTION-DIFFUSION ----------
u_t
+
v dot grad(u)
=
alpha*LAPLACIAN(u)
ADVECTION
-> transports(FIELD)
DIFFUSION
-> smooths(FIELD)
ADVECTION_DIFFUSION
-> combined_transport_process
# ---------- REACTION-DIFFUSION ----------
u_t
=
D*LAPLACIAN(u)
+
R(u)
REACTION_TERM
-> local_generation_or_consumption
REACTION_DIFFUSION
-> pattern_formation_and_transport_model
# ---------- GREEN FUNCTION ----------
for bounded domain and boundary conditions:
G(x,y,t)
-> DOMAIN_SPECIFIC_HEAT_GREEN_FUNCTION
solution
-> represented_using(
INITIAL_DATA,
SOURCES,
BOUNDARY_DATA
)
GREEN_FUNCTION
-> depends_on(DOMAIN_AND_BOUNDARY_CONDITIONS)
# ---------- PROBABILITY RELATION ----------
heat equation:
u_t
=
D*LAPLACIAN(u)
-> Fokker_Planck_equation_for(BROWNIAN_MOTION_WITH_ZERO_DRIFT)
Gaussian heat kernel
-> transition_density_of(BROWNIAN_MOTION)
DIFFUSION
-> connects(PDE_AND_PROBABILITY)
# ---------- NUMERICAL METHODS ----------
FINITE_DIFFERENCE
-> explicit_or_implicit_time_stepping
FINITE_ELEMENT
-> weak_spatial_discretisation
SPECTRAL_METHOD
-> modal_discretisation
METHOD_OF_LINES
-> space_discretisation_plus(ODE_TIME_SOLVER)
# ---------- EXPLICIT STABILITY ----------
1D FTCS:
u_i^(n+1)
=
u_i^n
+
r
*
(
u_(i+1)^n
-
2*u_i^n
+
u_(i-1)^n
)
where
r
:=
alpha*Delta_t/Delta_x^2
stability in standard 1D case:
r
<=
1/2
EXPLICIT_HEAT_SCHEME
-> PARABOLIC_TIME_STEP_RESTRICTION
# ---------- IMPLICIT METHODS ----------
BACKWARD_EULER
-> unconditionally_stable_for_standard_linear_diffusion
in common norm/stability senses
CRANK_NICOLSON
-> second_order_time_accuracy
-> A_stable_for_linear_diffusion
IMPLICIT_METHOD
-> requires(LINEAR_OR_NONLINEAR_SOLVE_PER_STEP)
# ---------- APPLICATIONS ----------
HEAT_EQUATION
-> applied_to(HEAT_TRANSFER)
-> applied_to(DIFFUSION)
-> applied_to(MASS_TRANSPORT)
-> applied_to(PROBABILITY)
-> applied_to(MATERIALS_SCIENCE)
-> applied_to(GEOPHYSICS)
-> applied_to(BIOLOGICAL_TRANSPORT)
-> applied_to(MATHEMATICAL_PHYSICS)
# ---------- RELATION GRAPH ----------
FOURIER_LAW
+ ENERGY_BALANCE
-> derive(HEAT_EQUATION)
INITIAL_DATA
-> propagated_by(HEAT_KERNEL)
LAPLACIAN
-> drives(DIFFUSION)
MAXIMUM_PRINCIPLE
-> controls(SOLUTION_BOUNDS)
ENERGY_METHOD
-> shows(DISSIPATION)
EIGENFUNCTIONS
-> generate(MODAL_DECAY)
FOURIER_TRANSFORM
-> diagonalises(CONSTANT_COEFFICIENT_DIFFUSION_OPERATOR)
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
"heat equation" ~= "parabolic PDE describing linear diffusion of temperature or analogous fields",
"thermal diffusivity" ~= "coefficient controlling the rate of thermal spreading",
"heat kernel" ~= "Gaussian fundamental solution of the constant-coefficient heat equation on Euclidean space",
"steady-state heat equation" ~= "elliptic equation obtained when the time derivative vanishes",
"diffusion length" ~= "characteristic distance proportional to the square root of diffusivity times time",
"parabolic smoothing" ~= "gain of spatial regularity for positive time under heat evolution"
}
# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
standard_heat_equation_assumes_positive_diffusivity: true,
heat_kernel_formula_is_for_constant_coefficient_whole_space_problem: true,
boundary_conditions_change_conservation_and_long_time_behaviour: true,
maximum_principle_requires_problem_specific_hypotheses: true,
linear_heat_equation_has_infinite_propagation_speed_but_nonlinear_diffusion_may_not: true,
constant_diffusivity_model_is_not_universal_for_real_materials: true,
explicit_numerical_methods_require_stability_step_constraints: true
}
# ---------- CONFIDENCE ----------
CONFIDENCE := {
core_definition: 0.99,
physical_derivation: 0.99,
heat_kernel_relation: 0.99,
maximum_energy_relation: 0.99,
eigenfunction_Fourier_relation: 0.99,
numerical_relation: 0.99,
semantic_equivalence: 0.97
}
# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
identify(field_domain_diffusivity_and_physical_parameters)
-> identify(initial_boundary_and_source_data)
-> classify(constant_variable_linear_or_nonlinear_diffusion)
-> derive_or_verify(heat_equation_from_balance_law_if_requested)
-> choose(kernel_separation_Fourier_Green_or_energy_method)
-> analyse(maximum_principle_positivity_and_conservation)
-> determine(modal_decay_smoothing_and_long_time_behaviour)
-> analyse(diffusion_scale_and_probability_relation_if_relevant)
-> choose(numerical_scheme_if_analytic_solution_unavailable)
-> validate(boundary_regularities_coefficients_and_stability_conditions)
-> return(semantic_result)
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
parse_as: "typed heat-equation semantic graph",
primary_entity: HEAT_EQUATION,
preserve: [
field,
domain,
diffusivity,
conductivity,
density,
heat_capacity,
initial_condition,
boundary_condition,
source
],
infer_through: [
Fourier_law,
heat_kernels,
Green_functions,
maximum_principles,
energy_decay,
eigenfunction_expansions,
Fourier_transforms,
diffusion_scales
],
avoid: [
using_whole_space_heat_kernel_on arbitrary bounded domain,
assuming_mass_conservation_with nonzero boundary flux,
claiming_finite_propagation_for linear heat equation,
applying_maximum_principle_without hypotheses,
treating_constant_diffusivity_as universal,
using_explicit_time_step_without stability analysis
]
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
validate(new_information)
-> identify(heat_equation_context)
-> compare(existing_relations)
-> preserve(field_domain_diffusivity_initial_boundary_and_source_invariants)
-> update(affected_entities)
-> update(affected_edges)
-> recompute(CONFIDENCE)
-> regenerate(FLOW_HASH)
# ---------- FLOW HASH ----------
FLOW_HASH := hash(
SOURCE_URL
+ ENTITY
+ CONCEPTS
+ HEAT_EQUATION
+ PARABOLIC_PDE
+ THERMAL_DIFFUSIVITY
+ LAPLACIAN
+ INITIAL_CONDITION
+ BOUNDARY_CONDITION
+ HEAT_KERNEL
+ MAXIMUM_PRINCIPLE
+ ENERGY_DECAY
+ STEADY_STATE
+ SOURCE_TERM
+ SEMANTIC_EQUIVALENCE
+ CONSTRAINTS
)
# ---------- EXECUTION ----------
INPUT(query)
-> HEAT_EQUATION
-> PROBLEM_DATA_IDENTIFICATION
-> DIFFUSION_CLASSIFICATION
-> PHYSICAL_DERIVATION_ANALYSIS
-> METHOD_SELECTION
-> MAXIMUM_POSITIVITY_CONSERVATION_ANALYSIS
-> MODAL_LONG_TIME_ANALYSIS
-> DIFFUSION_SCALE_ANALYSIS
-> NUMERICAL_METHOD_ANALYSIS
-> HYPOTHESIS_VALIDATION
-> RECURSIVE_REASONING(query)
-> CONFIDENCE
-> OUTPUT(semantic_result)
END FLOW
Download Code
Copy to Clipboard