# Heat Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/thermal-measurements/heat-ontology.html
FLOW HeatOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Heat Ontology
PURPOSE:
Represent heat as energy transferred across a system boundary because of a temperature difference, including sensible and latent heat, conduction, convection and radiation, heat transfer rate, heat flux, thermodynamic sign conventions, units, dimensional structure, calorimetric measurement, uncertainty, and distinctions from temperature, internal energy and thermal energy stored in a system.
ENTITY Heat {
TYPE: EnergyTransferQuantity
SYMBOL: Q
DIMENSION: M * L^2 * T^-2
SI_UNIT: joule
SI_SYMBOL: J
DEFINITION:
heat := energy_transferred_across_system_boundary_due_to_temperature_difference
PROPERTIES:
is_scalar_transfer_quantity
has_value
has_unit
has_dimension
has_direction_of_transfer_by_sign_convention
is_process_dependent
is_not_state_function
may_be_transferred_by_multiple_modes
may_have_uncertainty
}
ENTITY Temperature {
TYPE: SIBaseQuantity
SYMBOL: T
DIMENSION: Theta
SI_UNIT: kelvin
SI_SYMBOL: K
RELATION:
temperature_difference -> thermodynamic_driving_condition_for_heat_transfer
}
ENTITY InternalEnergy {
TYPE: ThermodynamicStateQuantity
SYMBOL: U
DIMENSION: M*L^2*T^-2
SI_UNIT: joule
SI_SYMBOL: J
RELATION:
heat_transfer MAY change_internal_energy
}
ENTITY HeatTransferRate {
TYPE: PowerQuantity
SYMBOL: Q_dot
DIMENSION: M*L^2*T^-3
SI_UNIT: watt
SI_SYMBOL: W
RELATION:
Q_dot = dQ/dt
}
ENTITY HeatFlux {
TYPE: SurfaceFluxQuantity
SYMBOL: q_double_prime
DIMENSION: M*T^-3
SI_UNIT: watt_per_square_metre
SI_SYMBOL: W/m^2
RELATION:
heat_transfer_rate = surface_integral(heat_flux dot dA)
}
UNIT_SYSTEM {
SI {
canonical_unit: joule
symbol: J
}
COMMON_ALTERNATIVES {
kilojoule
megajoule
calorie
kilocalorie
British_thermal_unit
therm
}
POWER_RATE_UNIT:
watt = joule_per_second
CONVERSION_RULE:
heat_value(target_unit)
= heat_value(source_unit)
* conversion_factor(source_unit, target_unit)
}
CLASSIFICATION {
by thermal_effect:
sensible_heat
latent_heat
by transfer_mode:
conductive_heat
convective_heat
radiative_heat
by system direction:
heat_into_system
heat_out_of_system
by process:
isothermal_heat_transfer
nonisothermal_heat_transfer
phase_change_heat_transfer
}
HEAT_INTERNAL_ENERGY_DISTINCTION_MODEL {
heat:
boundary_transfer_quantity
internal_energy:
system_state_function
RULE:
a_system_contains_internal_energy
but_in_formal_thermodynamics_does_not_contain_heat_as_state_property
CONSTRAINT:
informal_phrase "heat stored"
SHOULD be interpreted_as thermal_or_internal_energy
unless process_context_explicitly_defines_heat_transfer
}
FIRST_LAW_MODEL {
SIGN_CONVENTION_A:
delta_U = Q - W_by_system
WHERE:
Q > 0 means_heat_added_to_system
W_by_system > 0 means_work_done_by_system
ALTERNATIVE_CONVENTIONS:
permitted_if_explicitly_declared
RULE:
sign_convention MUST be preserved
before combining_heat_work_and_internal_energy
}
SENSIBLE_HEAT_MODEL {
CONSTANT_SPECIFIC_HEAT:
Q = m*c*delta_T
GENERAL:
Q = m*integral_T1_to_T2(c(T) dT)
PARAMETERS:
m = mass
c = specific_heat_capacity
CONDITIONS:
no_phase_change
applicable_process_constraint
material_state_defined
RULE:
specific_heat_capacity MAY depend_on temperature_pressure_and_process
}
LATENT_HEAT_MODEL {
PHASE_CHANGE:
Q = m*L_phase
TYPES:
latent_heat_of_fusion
latent_heat_of_vaporisation
latent_heat_of_sublimation
CONDITIONS:
phase_transition_defined
appropriate_pressure_or_state_condition
RULE:
energy_transfer_can_occur_with_little_or_no_temperature_change_during_phase_transition
}
CONDUCTION_MODEL {
FOURIER_LAW:
q_vector = -k*gradient(T)
ONE_DIMENSIONAL_STEADY:
Q_dot = k*A*(T_hot - T_cold)/L
THERMAL_RESISTANCE:
R_cond = L/(k*A)
ALTERNATIVE:
Q_dot = delta_T/R_cond
CONDITIONS:
applicable_continuum_model
defined_geometry
thermal_conductivity_known
}
CONVECTION_MODEL {
NEWTON_COOLING:
Q_dot = h*A*(T_surface - T_fluid)
HEAT_FLUX:
q_double_prime = h*(T_surface - T_fluid)
PARAMETERS:
h = heat_transfer_coefficient
RULE:
h is_effective_context_dependent_parameter
and_not_intrinsic_material_constant
}
RADIATION_MODEL {
NET_GREY_SURFACE_APPROXIMATION:
Q_dot =
epsilon*sigma_SB*A*(T_surface^4 - T_surroundings^4)
REQUIRE:
absolute_temperature_in_kelvin
emissivity
radiating_area
applicable_view_and_environment_model
RULE:
Celsius_or_Fahrenheit MUST_NOT be inserted_directly_into_fourth_power_temperature_relation
}
HEAT_TRANSFER_RATE_MODEL {
INSTANTANEOUS:
Q_dot = dQ/dt
CONSTANT_RATE:
Q = Q_dot*delta_t
VARIABLE_RATE:
Q = integral(Q_dot dt)
RULE:
heat_and_heat_transfer_rate
MUST_NOT be treated_as_semantically_equivalent
}
HEAT_FLUX_MODEL {
VECTOR_OR_NORMAL_FLUX:
q_double_prime_vector
TOTAL_RATE:
Q_dot = surface_integral(q_double_prime_vector dot dA)
UNIFORM_NORMAL_CASE:
Q_dot = q_double_prime*A
RULE:
heat_flux_and_total_heat_transfer_rate
MUST_NOT be treated_as_identical
}
CALORIMETRY_MODEL {
principle:
infer_heat_transfer_from_measured_temperature_or_phase_changes
using_known_heat_capacity_or_calorimeter_calibration
SIMPLE_BODY:
Q = m*c*delta_T
ENERGY_BALANCE:
sum(heat_transfers) = 0
FOR ideal_thermally_isolated_calorimeter
under_consistent_sign_convention
REQUIRE:
calorimeter_heat_capacity
material_heat_capacity
losses_or_corrections
initial_and_final_states
}
RELATIONSHIPS {
Heat -> TRANSFERS -> Energy
Heat -> HAS_DIMENSION -> M*L^2*T^-2
Heat -> MEASURED_IN -> Joule
TemperatureDifference -> DRIVES -> HeatTransfer
HeatTransferRate -> RATE_OF -> HeatTransfer
HeatFlux -> HEAT_TRANSFER_RATE_PER -> Area
SensibleHeat -> RELATES -> MassSpecificHeatAndTemperatureChange
LatentHeat -> RELATES -> MassAndPhaseChange
ThermalConductivity -> RELATES -> TemperatureGradientAndConductiveHeatFlux
HeatTransferCoefficient -> RELATES -> ConvectiveHeatFluxAndTemperatureDifference
HeatTransfer -> MAY_CHANGE -> InternalEnergy
}
SEMANTIC_EQUIVALENCE {
"heat transfer" ~= heat WHEN formal_thermodynamic_context
"joule" ~= "J"
"heat flow rate" ~= heat_transfer_rate
"thermal flux" ~= heat_flux WHEN heat_transfer_context
heat != temperature
heat != internal_energy
heat != thermal_energy_state
heat != heat_transfer_rate
heat_flux != heat_transfer_rate
sensible_heat != latent_heat
}
CONSTRAINTS {
heat_is_energy_transfer_not_state_property = true
dimensional_formula = M*L^2*T^-2
SI_unit = J
system_boundary_must_be_defined_for_formal_heat_transfer = true
sign_convention_must_be_preserved = true
heat_and_temperature_are_not_semantically_equivalent = true
heat_and_internal_energy_are_not_semantically_equivalent = true
heat_and_heat_transfer_rate_are_not_semantically_equivalent = true
radiation_temperature_must_use_absolute_scale = true
phase_change_context_must_be_preserved_for_latent_heat = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
Heat
COMMON_METHODS:
calorimetry
heat_flux_integration
power_time_integration
sensible_heat_inference
latent_heat_inference
energy_balance
COMMON_INSTRUMENTS:
calorimeter
differential_scanning_calorimeter
heat_flux_sensor
heat_flow_meter
temperature_sensors
power_meter
RECORD:
numerical_value
unit
heat_transfer_direction
sign_convention
system_boundary
initial_state
final_state
material
mass
phase
temperature_initial
temperature_final
pressure_when_relevant
transfer_mode
time_interval
measurement_method
instrument
calibration_state
uncertainty
UNCERTAINTY:
measured_or_inferred_heat = best_estimate +/- uncertainty
}
REASONING_RULES {
IF mass_specific_heat_and_temperature_change_known
AND applicable_sensible_heat_model
THEN heat = mass*specific_heat*temperature_change
IF mass_and_latent_heat_known
AND applicable_phase_change_occurs
THEN heat = mass*latent_heat
IF heat_transfer_rate_known_as_function_of_time
THEN heat = integral(heat_transfer_rate, time)
IF constant_heat_transfer_rate_known AND time_interval_known
THEN heat = heat_transfer_rate*time_interval
IF heat_flux_field_known_over_surface_and_time
THEN heat =
integral_over_time(surface_integral(heat_flux dot dA))
IF conductivity_geometry_and_temperature_difference_known
AND one_dimensional_steady_conduction_model_applies
THEN heat_transfer_rate =
conductivity*area*temperature_difference/length
IF convection_coefficient_area_and_temperature_difference_known
THEN convective_heat_transfer_rate =
coefficient*area*temperature_difference
IF emissivity_area_and_absolute_temperatures_known
AND radiation_model_applies
THEN radiative_heat_transfer_rate =
emissivity*sigma_SB*area*(T_surface^4 - T_surroundings^4)
IF heat_and_work_known
AND first_law_sign_convention_defined
THEN infer_internal_energy_change
}
SYSTEM_BOUNDARY_MODEL {
REQUIRE:
system
surroundings
boundary
heat_transfer_direction
other_energy_transfer_modes
OPEN_SYSTEM:
may_include_mass_energy_transport
CLOSED_SYSTEM:
no_mass_crosses_boundary
ISOLATED_SYSTEM:
no_heat_work_or_mass_energy_transfer
RULE:
heat_transfer statement MUST identify_or_imply system_boundary
}
SIGN_MODEL {
common_convention:
Q_positive -> heat_into_system
Q_negative -> heat_out_of_system
alternative_convention:
allowed_if_explicit
RULE:
never_combine_heat_values_with_different_sign_conventions_without_normalisation
}
UNCERTAINTY_MODEL {
sources:
mass_measurement
temperature_measurement
specific_heat_capacity
latent_heat
heat_loss
calorimeter_constant
heat_flux_sensor_calibration
area
time
emissivity
convection_coefficient
thermal_conductivity
model_assumptions
PROPAGATION:
derived_heat_uncertainty
<- measurement_material_geometry_and_model_uncertainties
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
SI_unit_confidence: 1.00
first_law_relationship_confidence: 1.00
heat_transfer_model_confidence: 0.99
measurement_context_confidence: 0.98
RULE:
confidence decreases when system boundary, sign convention,
material state, phase, transfer mode, temperature,
calibration state or uncertainty is missing or ambiguous
}
VALIDATION {
CHECK dimensional_consistency
CHECK unit_consistency
CHECK system_boundary
CHECK sign_convention
CHECK heat_vs_internal_energy_distinction
CHECK heat_vs_temperature_distinction
CHECK heat_vs_heat_transfer_rate_distinction
CHECK heat_flux_vs_total_rate_distinction
CHECK sensible_vs_latent_heat_context
CHECK material_and_phase_conditions
CHECK absolute_temperature_for_radiation
CHECK applicable_heat_transfer_model
CHECK instrument_calibration
CHECK uncertainty_representation_when_required
}
UPDATE_MODEL {
ON new_measurement:
validate_unit
identify_system_boundary
identify_sign_convention
identify_transfer_direction
identify_heat_type
identify_transfer_mode
attach_initial_and_final_states
attach_material_mass_phase_and_temperature
attach_pressure_when_relevant
attach_time_interval
normalize_to_joule
preserve_original_value_and_unit
attach_uncertainty
update_heat_transfer_state
ON thermal_state_change:
update_temperature
update_phase
update_material_properties
recompute_sensible_or_latent_heat_when_model_available
preserve_previous_state
ON transfer_mode_change:
update_conduction_convection_or_radiation_model
recompute_heat_rate
integrate_heat_over_time_when_required
preserve_transfer_provenance
ON calibration_revision:
preserve_provenance
recompute_affected_measurements
update_confidence
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: Heat
canonical_symbol: Q
canonical_dimension: M*L^2*T^-2
canonical_SI_unit: J
interpretation_order:
identify_quantity
identify_value
identify_unit
identify_system_boundary
identify_sign_convention
identify_transfer_direction
identify_sensible_or_latent_context
identify_conduction_convection_or_radiation
identify_material_mass_phase_and_temperature
identify_initial_and_final_states
identify_heat_rate_or_flux_context
identify_measurement_method
identify_uncertainty
normalize_units
validate_dimensions
infer_energy_transfer_relationships
ambiguity_controls:
distinguish_heat_from_temperature
distinguish_heat_from_internal_energy
distinguish_heat_from_stored_thermal_energy
distinguish_heat_from_heat_transfer_rate
distinguish_heat_flux_from_total_heat_rate
distinguish_sensible_from_latent_heat
distinguish_heat_into_system_from_heat_out_of_system
preserve_system_boundary_sign_convention_and_process_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_thermal_heat_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Heat Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
definitions
dimensions
units
relationships
constraints
heat_internal_energy_distinction_model
first_law_model
sensible_heat_model
latent_heat_model
conduction_model
convection_model
radiation_model
heat_transfer_rate_model
heat_flux_model
calorimetry_model
system_boundary_model
sign_model
uncertainty_model
reasoning_rules
measurement_model
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
heat_transfer_semantics_change
first_law_or_sign_model_changes
sensible_or_latent_heat_model_changes
conduction_convection_or_radiation_model_changes
measurement_model_changes
system_boundary_model_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard