# Heat Capacity Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/thermal-measurements/heat-capacity-ontology.html
FLOW HeatCapacityOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Heat Capacity Ontology
PURPOSE:
Represent heat capacity as a measurable thermal quantity describing the amount of energy transfer required to produce a specified temperature change in a body or system under defined thermodynamic constraints, including total and specific heat capacity, molar heat capacity, constant-pressure and constant-volume forms, temperature dependence, calorimetry, phase effects, units, dimensional structure, uncertainty, and distinctions from heat, temperature and thermal conductivity.
ENTITY HeatCapacity {
TYPE: DerivedThermalQuantity
SYMBOL: C
DIMENSION: M * L^2 * T^-2 * Theta^-1
SI_UNIT: joule_per_kelvin
SI_SYMBOL: J/K
DIFFERENTIAL_DEFINITION:
C = delta_Q/dT
UNDER specified_process_constraint
FINITE_CONSTANT_APPROXIMATION:
Q = C*delta_T
PROPERTIES:
is_scalar
is_extensive
has_value
has_unit
has_dimension
depends_on_system_mass_and_composition
may_depend_on_temperature
may_depend_on_pressure
depends_on_process_constraint
may_change_with_phase
may_have_uncertainty
}
ENTITY SpecificHeatCapacity {
TYPE: IntensiveMaterialProperty
SYMBOL: c
DIMENSION: L^2*T^-2*Theta^-1
SI_UNIT: joule_per_kilogram_kelvin
SI_SYMBOL: J/(kg*K)
RELATION:
C = m*c
UNDER homogeneous_or_effectively_uniform_context
}
ENTITY MolarHeatCapacity {
TYPE: MolarThermalProperty
SYMBOL: C_m
SI_UNIT: joule_per_mole_kelvin
SI_SYMBOL: J/(mol*K)
RELATION:
C = n*C_m
}
ENTITY Heat {
TYPE: EnergyTransferQuantity
SYMBOL: Q
SI_UNIT: joule
SI_SYMBOL: J
RELATION:
heat_transfer_and_temperature_change -> heat_capacity
}
ENTITY Temperature {
TYPE: SIBaseQuantity
SYMBOL: T
SI_UNIT: kelvin
SI_SYMBOL: K
}
UNIT_SYSTEM {
SI {
canonical_unit: joule_per_kelvin
symbol: J/K
}
COMMON_ALTERNATIVES:
kilojoule_per_kelvin
calorie_per_degree_Celsius
British_thermal_unit_per_degree_Fahrenheit
TEMPERATURE_INTERVAL_RULE:
delta_1_K = delta_1_degree_Celsius
CONVERSION_RULE:
heat_capacity_value(target_unit)
= heat_capacity_value(source_unit)
* conversion_factor(source_unit, target_unit)
}
CLASSIFICATION {
by system basis:
total_heat_capacity
specific_heat_capacity
molar_heat_capacity
by thermodynamic constraint:
heat_capacity_at_constant_pressure
heat_capacity_at_constant_volume
by behaviour:
constant_heat_capacity_approximation
temperature_dependent_heat_capacity
effective_heat_capacity
}
CONSTANT_PRESSURE_VOLUME_MODEL {
CONSTANT_PRESSURE:
C_p = (partial_H/partial_T)_p
CONSTANT_VOLUME:
C_v = (partial_U/partial_T)_V
FOR_IDEAL_GAS:
C_p - C_v = n*R
FOR total_molar_amount_n
MOLAR_IDEAL_GAS:
C_p_molar - C_v_molar = R
RULE:
C_p_and_C_v MUST_NOT be treated_as_interchangeable
}
SPECIFIC_HEAT_MODEL {
TOTAL_TO_SPECIFIC:
c = C/m
WHEN m != 0
SPECIFIC_TO_TOTAL:
C = m*c
SENSIBLE_HEAT:
Q = m*c*delta_T
WHEN c approximately_constant
GENERAL:
Q = m*integral(c(T) dT)
RULE:
heat_capacity_is_extensive
specific_heat_capacity_is_intensive
}
MOLAR_MODEL {
TOTAL_TO_MOLAR:
C_m = C/n
WHEN n != 0
MOLAR_TO_TOTAL:
C = n*C_m
GENERAL_HEAT:
Q = n*integral(C_m(T) dT)
UNDER applicable_process_constraint
}
TEMPERATURE_DEPENDENCE_MODEL {
GENERAL:
C = C(T, p, composition, phase, constraint)
CONSTANT_APPROXIMATION:
Q approximately_equals C*delta_T
WHEN C_variation_is_negligible
VARIABLE:
Q = integral_T1_to_T2(C(T) dT)
RULE:
large_temperature_ranges SHOULD use_temperature_dependent_heat_capacity_when_material
}
PHASE_CHANGE_MODEL {
near_phase_transition:
apparent_or_effective_heat_capacity MAY become_large_or_singular_in_idealised_models
latent_heat:
energy_transfer_can_occur_without_corresponding_simple_temperature_change
RULE:
Q = C*delta_T MUST_NOT be used_across_phase_change_without_appropriate_phase_model
}
CALORIMETRY_MODEL {
SIMPLE_INFERENCE:
C = Q/delta_T
WHEN delta_T != 0 AND applicable_process_defined
CALORIMETER_SYSTEM:
C_total =
C_sample
+ C_container
+ C_sensor
+ other_effective_components
ENERGY_BALANCE:
heat_lost + heat_gained + corrections = 0
UNDER consistent_sign_convention
REQUIRE:
initial_temperature
final_temperature
system_boundary
heat_losses_or_corrections
}
THERMODYNAMIC_MODEL {
ENTHALPY_RELATION:
C_p = (partial_H/partial_T)_p
INTERNAL_ENERGY_RELATION:
C_v = (partial_U/partial_T)_V
STABILITY_CONTEXT:
equilibrium_heat_capacities_are_typically_nonnegative
for_stable_macroscopic_systems_under_standard_conditions
RULE:
derivative_definition MUST identify_held_constant_variables
}
RELATIONSHIPS {
HeatCapacity -> RELATES -> HeatAndTemperatureChange
HeatCapacity -> HAS_DIMENSION -> M*L^2*T^-2*Theta^-1
HeatCapacity -> MEASURED_IN -> JoulePerKelvin
HeatCapacity -> DEPENDS_ON -> SystemMass
HeatCapacity -> DEPENDS_ON -> Composition
HeatCapacity -> MAY_DEPEND_ON -> Temperature
HeatCapacity -> MAY_DEPEND_ON -> Pressure
HeatCapacity -> DEPENDS_ON -> ThermodynamicConstraint
SpecificHeatCapacity -> RELATES_TO -> HeatCapacityPerMass
MolarHeatCapacity -> RELATES_TO -> HeatCapacityPerMole
PhaseTransition -> MAY_ALTER -> HeatCapacity
}
SEMANTIC_EQUIVALENCE {
"thermal capacity" ~= heat_capacity WHEN thermal_context
"joule per kelvin" ~= "J/K"
heat_capacity != heat
heat_capacity != temperature
heat_capacity != specific_heat_capacity
heat_capacity != thermal_conductivity
heat_capacity != latent_heat
C_p != C_v
}
CONSTRAINTS {
dimensional_formula = M*L^2*T^-2*Theta^-1
SI_unit = J/K
heat_capacity_is_extensive = true
specific_heat_capacity_is_intensive = true
process_constraint_must_be_identified_when_thermodynamically_relevant = true
finite_ratio_Q_over_delta_T_requires_nonzero_temperature_change = true
heat_capacity_and_heat_are_not_semantically_equivalent = true
heat_capacity_and_specific_heat_capacity_are_not_semantically_equivalent = true
phase_change_requires_special_treatment = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
HeatCapacity
COMMON_METHODS:
calorimetry
differential_scanning_calorimetry
adiabatic_calorimetry
relaxation_calorimetry
AC_calorimetry
RECORD:
numerical_value
unit
total_specific_or_molar_basis
constant_pressure_or_constant_volume
sample_mass
amount_of_substance
composition
phase
initial_temperature
final_temperature
pressure
heat_input
system_boundary
measurement_method
instrument
calibration_state
heat_loss_correction
uncertainty
UNCERTAINTY:
measured_or_inferred_heat_capacity = best_estimate +/- uncertainty
}
REASONING_RULES {
IF heat_transfer_known AND temperature_change_known AND temperature_change != 0
AND applicable_constant_capacity_process
THEN heat_capacity = heat_transfer/temperature_change
IF heat_capacity_known AND temperature_change_known
AND constant_capacity_approximation_valid
THEN heat_transfer = heat_capacity*temperature_change
IF specific_heat_capacity_known AND mass_known
THEN total_heat_capacity = mass*specific_heat_capacity
IF total_heat_capacity_known AND mass_known AND mass != 0
THEN specific_heat_capacity = total_heat_capacity/mass
IF molar_heat_capacity_known AND amount_of_substance_known
THEN total_heat_capacity = amount_of_substance*molar_heat_capacity
IF temperature_dependent_heat_capacity_known
THEN sensible_heat =
integral_T1_to_T2(heat_capacity(T) dT)
IF ideal_gas_context AND amount_of_substance_known
THEN C_p - C_v = amount_of_substance*gas_constant
IF phase_change_occurs
THEN do_not_infer_heat_using_only_C_times_delta_T
WITHOUT phase_transition_energy_model
}
SYSTEM_CONTEXT_MODEL {
REQUIRE:
system_identity
mass_or_amount
composition
phase
pressure
temperature_range
process_constraint
RULE:
heat_capacity_value without_system_basis_and_conditions
MAY be semantically_incomplete
}
UNCERTAINTY_MODEL {
sources:
heat_input_measurement
temperature_measurement
sample_mass
amount_of_substance
calorimeter_addenda
heat_loss
pressure
composition
phase purity
calibration
baseline_correction
temperature_nonuniformity
PROPAGATION:
derived_heat_capacity_uncertainty
<- thermal_energy_temperature_sample_and_model_uncertainties
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
SI_unit_confidence: 1.00
thermodynamic_relationship_confidence: 0.99
calorimetric_relationship_confidence: 0.99
measurement_context_confidence: 0.98
RULE:
confidence decreases when basis, mass, composition, phase,
temperature range, pressure, process constraint,
calibration state or uncertainty is missing or ambiguous
}
VALIDATION {
CHECK dimensional_consistency
CHECK unit_consistency
CHECK total_specific_or_molar_basis
CHECK nonzero_mass_or_amount_for_normalised_quantities
CHECK nonzero_temperature_change_for_finite_ratio
CHECK constant_pressure_vs_constant_volume
CHECK heat_capacity_vs_specific_heat_capacity_distinction
CHECK heat_capacity_vs_heat_distinction
CHECK phase_change_context
CHECK temperature_dependence
CHECK system_boundary
CHECK calorimeter_addenda_and_heat_losses
CHECK instrument_calibration
CHECK uncertainty_representation_when_required
}
UPDATE_MODEL {
ON new_measurement:
validate_unit
identify_total_specific_or_molar_basis
identify_process_constraint
attach_sample_mass_or_amount
attach_composition_and_phase
attach_temperature_range
attach_pressure
identify_measurement_method
normalize_to_J_per_K_when_total_capacity
preserve_original_value_and_unit
attach_uncertainty
update_heat_capacity_state
ON temperature_or_pressure_change:
update_state_conditions
recompute_heat_capacity_when_model_available
preserve_previous_state
ON phase_change:
record_phase_transition
suspend_simple_C_delta_T_model_when_invalid
apply_latent_or_transition_model
preserve_transition_provenance
ON composition_or_mass_change:
update_system_basis
recompute_total_specific_or_molar_relationships
preserve_previous_system_definition
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: HeatCapacity
canonical_symbol: C
canonical_dimension: M*L^2*T^-2*Theta^-1
canonical_SI_unit: J/K
interpretation_order:
identify_quantity
identify_value
identify_unit
identify_total_specific_or_molar_basis
identify_constant_pressure_or_constant_volume
identify_mass_or_amount
identify_composition_and_phase
identify_temperature_range
identify_pressure
identify_heat_transfer_context
identify_phase_change_context
identify_measurement_method
identify_uncertainty
normalize_units
validate_dimensions
infer_thermal_relationships
ambiguity_controls:
distinguish_heat_capacity_from_heat
distinguish_heat_capacity_from_temperature
distinguish_heat_capacity_from_specific_heat_capacity
distinguish_heat_capacity_from_molar_heat_capacity
distinguish_heat_capacity_from_thermal_conductivity
distinguish_C_p_from_C_v
distinguish_sensible_heating_from_phase_change
preserve_system_basis_process_constraint_and_state_conditions
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_thermal_heat_capacity_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Heat Capacity Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
definitions
dimensions
units
relationships
constraints
constant_pressure_volume_model
specific_heat_model
molar_model
temperature_dependence_model
phase_change_model
calorimetry_model
thermodynamic_model
system_context_model
uncertainty_model
reasoning_rules
measurement_model
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
heat_capacity_basis_changes
thermodynamic_constraint_model_changes
temperature_dependence_model_changes
phase_change_model_changes
calorimetry_model_changes
system_context_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard