# Specific Heat Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/thermal-measurements/specific-heat-ontology.html
FLOW SpecificHeatOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Specific Heat Ontology
PURPOSE:
Represent specific heat capacity as a measurable intensive thermal material property describing heat capacity per unit mass under defined thermodynamic conditions, including constant-pressure and constant-volume forms, sensible heating, temperature dependence, phase and composition effects, calorimetry, units, dimensional structure, uncertainty, and distinctions from total heat capacity, latent heat and thermal conductivity.
ENTITY SpecificHeatCapacity {
TYPE: IntensiveThermalMaterialProperty
SYMBOL: c
DIMENSION: L^2 * T^-2 * Theta^-1
SI_UNIT: joule_per_kilogram_kelvin
SI_SYMBOL: J/(kg*K)
DEFINITION:
specific_heat_capacity := HeatCapacity / Mass
SIMPLE_RELATION:
c = Q/(m*delta_T)
WHEN m != 0 AND delta_T != 0 AND applicable_process_context
SENSIBLE_HEAT_FORM:
Q = m*c*delta_T
WHEN c approximately_constant
PROPERTIES:
is_scalar
is_intensive
has_value
has_unit
has_dimension
depends_on_material
may_depend_on_temperature
may_depend_on_pressure
depends_on_process_constraint
may_change_with_phase
may_depend_on_composition
may_have_uncertainty
}
ENTITY HeatCapacity {
TYPE: ExtensiveThermalQuantity
SYMBOL: C
SI_UNIT: joule_per_kelvin
SI_SYMBOL: J/K
RELATION:
C = m*c
}
ENTITY Mass {
TYPE: SIBaseQuantity
SYMBOL: m
SI_UNIT: kilogram
SI_SYMBOL: kg
}
ENTITY Heat {
TYPE: EnergyTransferQuantity
SYMBOL: Q
SI_UNIT: joule
SI_SYMBOL: J
}
ENTITY Temperature {
TYPE: SIBaseQuantity
SYMBOL: T
SI_UNIT: kelvin
SI_SYMBOL: K
}
UNIT_SYSTEM {
SI {
canonical_unit: joule_per_kilogram_kelvin
symbol: J/(kg*K)
}
COMMON_ALTERNATIVES:
kilojoule_per_kilogram_kelvin
joule_per_gram_kelvin
calorie_per_gram_degree_Celsius
British_thermal_unit_per_pound_degree_Fahrenheit
TEMPERATURE_INTERVAL_RULE:
delta_1_K = delta_1_degree_Celsius
CONVERSION_RULE:
specific_heat_value(target_unit)
= specific_heat_value(source_unit)
* conversion_factor(source_unit, target_unit)
}
CLASSIFICATION {
by thermodynamic constraint:
specific_heat_at_constant_pressure
specific_heat_at_constant_volume
by behaviour:
constant_specific_heat_approximation
temperature_dependent_specific_heat
effective_specific_heat
by material state:
solid_specific_heat
liquid_specific_heat
gas_specific_heat
mixture_specific_heat
}
CONSTANT_PRESSURE_VOLUME_MODEL {
CONSTANT_PRESSURE:
c_p = (1/m)*(partial_H/partial_T)_p
CONSTANT_VOLUME:
c_v = (1/m)*(partial_U/partial_T)_V
IDEAL_GAS_MASS_SPECIFIC:
c_p - c_v = R_specific
RULE:
c_p_and_c_v MUST_NOT be treated_as_interchangeable
}
SENSIBLE_HEAT_MODEL {
CONSTANT_C:
Q = m*c*delta_T
GENERAL:
Q = m*integral_T1_to_T2(c(T) dT)
CONDITIONS:
no_phase_change
material_and_process_constraint_defined
RULE:
constant_specific_heat_formula
SHOULD only_be_used_when_variation_over_temperature_range_is_negligible
}
TEMPERATURE_DEPENDENCE_MODEL {
GENERAL:
c = c(T, p, composition, phase, constraint)
TABULATED_VALUES:
require_reference_conditions
INTERPOLATION:
permitted_within_valid_data_range
EXTRAPOLATION:
SHOULD be_flagged_with_reduced_confidence
RULE:
specific_heat_value without_state_conditions
MAY be semantically_incomplete
}
PHASE_MODEL {
solid:
c_solid(T)
liquid:
c_liquid(T)
gas:
c_gas(T, p, constraint)
phase_transition:
latent_heat dominates_energy_transfer_at_transition
in_simple_first_order_phase_change_model
RULE:
Q = m*c*delta_T MUST_NOT span_phase_transition_without_transition_model
}
LATENT_HEAT_DISTINCTION_MODEL {
specific_heat:
energy_per_mass_per_temperature_change
latent_heat:
energy_per_mass_for_phase_change
LATENT_HEAT_FORM:
Q = m*L
RULE:
specific_heat_and_specific_latent_heat
MUST_NOT be treated_as_semantically_equivalent
}
CALORIMETRY_MODEL {
SIMPLE_INFERENCE:
c = Q/(m*delta_T)
REQUIRE:
m != 0
delta_T != 0
no_unmodelled_phase_change
PRACTICAL_BALANCE:
heat_input =
sample_sensible_heat
+ calorimeter_heat
+ losses
+ other_corrections
RULE:
calorimeter_addenda_and_heat_losses
SHOULD be included_for_precision_measurement
}
MIXTURE_MODEL {
SIMPLE_MASS_WEIGHTED_APPROXIMATION:
c_mix =
sum(m_i*c_i) / sum(m_i)
CONDITIONS:
no_reaction
no_phase_change
negligible_excess_heat_capacity
compatible_temperature_range
RULE:
real_mixture_specific_heat MAY require_empirical_or_thermodynamic_model
}
RELATIONSHIPS {
SpecificHeatCapacity -> HEAT_CAPACITY_PER -> Mass
SpecificHeatCapacity -> HAS_DIMENSION -> L^2*T^-2*Theta^-1
SpecificHeatCapacity -> MEASURED_IN -> JoulePerKilogramKelvin
SpecificHeatCapacity -> RELATES -> HeatMassAndTemperatureChange
SpecificHeatCapacity -> MAY_DEPEND_ON -> Temperature
SpecificHeatCapacity -> MAY_DEPEND_ON -> Pressure
SpecificHeatCapacity -> DEPENDS_ON -> Material
SpecificHeatCapacity -> DEPENDS_ON -> Phase
SpecificHeatCapacity -> DEPENDS_ON -> ThermodynamicConstraint
HeatCapacity -> EQUALS -> MassTimesSpecificHeatCapacity
}
SEMANTIC_EQUIVALENCE {
"specific heat" ~= specific_heat_capacity WHEN thermal_context
"mass specific heat" ~= specific_heat_capacity
"J/kg K" ~= "J/(kg*K)"
specific_heat_capacity != heat_capacity
specific_heat_capacity != heat
specific_heat_capacity != latent_heat
specific_heat_capacity != thermal_conductivity
specific_heat_capacity != thermal_diffusivity
c_p != c_v
}
CONSTRAINTS {
dimensional_formula = L^2*T^-2*Theta^-1
SI_unit = J/(kg*K)
specific_heat_is_intensive = true
mass_must_be_nonzero_for_C_over_m = true
mass_and_temperature_change_must_be_nonzero_for_simple_inference = true
process_constraint_must_be_identified_when_relevant = true
specific_heat_and_total_heat_capacity_are_not_semantically_equivalent = true
specific_heat_and_latent_heat_are_not_semantically_equivalent = true
phase_change_requires_special_energy_model = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
SpecificHeatCapacity
COMMON_METHODS:
calorimetry
differential_scanning_calorimetry
adiabatic_calorimetry
drop_calorimetry
relaxation_calorimetry
RECORD:
numerical_value
unit
c_p_or_c_v
sample_mass
material
composition
phase
initial_temperature
final_temperature
pressure
heat_input
calorimeter_addenda
heat_loss_correction
measurement_method
instrument
calibration_state
uncertainty
UNCERTAINTY:
measured_or_inferred_specific_heat = best_estimate +/- uncertainty
}
REASONING_RULES {
IF total_heat_capacity_known AND mass_known AND mass != 0
THEN specific_heat_capacity = total_heat_capacity/mass
IF specific_heat_capacity_known AND mass_known
THEN total_heat_capacity = mass*specific_heat_capacity
IF heat_known AND mass_known AND temperature_change_known
AND mass != 0 AND temperature_change != 0
AND applicable_sensible_heat_context
THEN specific_heat_capacity =
heat/(mass*temperature_change)
IF mass_specific_heat_and_temperature_change_known
AND constant_specific_heat_approximation_valid
THEN sensible_heat =
mass*specific_heat_capacity*temperature_change
IF temperature_dependent_specific_heat_known
THEN sensible_heat =
mass*integral_T1_to_T2(specific_heat(T) dT)
IF ideal_gas_mass_specific_context
THEN c_p - c_v = specific_gas_constant
IF phase_change_occurs
THEN suspend_simple_specific_heat_temperature_relation
AND apply_latent_heat_or_transition_model
}
SYSTEM_CONTEXT_MODEL {
REQUIRE:
material_identity
composition
phase
temperature_range
pressure
process_constraint
OPTIONAL_BUT_RELEVANT:
density
moisture_content
crystal_structure
thermal_history
RULE:
tabulated_specific_heat SHOULD preserve_reference_conditions
}
THERMAL_DIFFUSIVITY_RELATION {
alpha_th = k/(rho*c_p)
WHERE:
alpha_th = thermal_diffusivity
k = thermal_conductivity
rho = density
c_p = specific_heat_capacity_at_constant_pressure
RULE:
specific_heat_capacity_and_thermal_diffusivity
are_related_but_not_semantically_equivalent
}
UNCERTAINTY_MODEL {
sources:
heat_measurement
mass_measurement
temperature_measurement
calorimeter_addenda
heat_loss
pressure
composition
phase purity
calibration
baseline_correction
temperature_nonuniformity
PROPAGATION:
derived_specific_heat_uncertainty
<- heat_mass_temperature_and_model_uncertainties
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
SI_unit_confidence: 1.00
sensible_heat_relationship_confidence: 1.00
thermodynamic_constraint_confidence: 0.99
measurement_context_confidence: 0.98
RULE:
confidence decreases when material, composition, phase,
temperature range, pressure, c_p_or_c_v constraint,
calibration state or uncertainty is missing or ambiguous
}
VALIDATION {
CHECK dimensional_consistency
CHECK unit_consistency
CHECK nonzero_mass
CHECK nonzero_temperature_change_for_simple_inference
CHECK c_p_vs_c_v
CHECK material_identity_and_composition
CHECK phase
CHECK temperature_range
CHECK pressure_when_relevant
CHECK specific_heat_vs_total_heat_capacity_distinction
CHECK specific_heat_vs_latent_heat_distinction
CHECK phase_change_context
CHECK calorimeter_addenda_and_losses
CHECK instrument_calibration
CHECK uncertainty_representation_when_required
}
UPDATE_MODEL {
ON new_measurement:
validate_unit
identify_c_p_or_c_v
attach_sample_mass
identify_material_composition_and_phase
attach_temperature_range
attach_pressure
identify_measurement_method
normalize_to_J_per_kg_K
preserve_original_value_and_unit
attach_uncertainty
update_specific_heat_state
ON temperature_or_pressure_change:
update_state_conditions
recompute_specific_heat_when_model_available
preserve_previous_state
ON phase_change:
record_initial_and_final_phase
suspend_simple_sensible_heat_model_when_invalid
apply_transition_energy_model
preserve_transition_provenance
ON composition_change:
update_material_composition
recompute_mixture_specific_heat_when_valid
preserve_previous_composition
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: SpecificHeatCapacity
canonical_symbol: c
canonical_dimension: L^2*T^-2*Theta^-1
canonical_SI_unit: J/(kg*K)
interpretation_order:
identify_quantity
identify_value
identify_unit
identify_c_p_or_c_v
identify_material_and_composition
identify_phase
identify_mass
identify_temperature_range
identify_pressure
identify_sensible_or_phase_change_context
identify_calorimetry_or_other_measurement_method
identify_uncertainty
normalize_units
validate_dimensions
infer_thermal_relationships
ambiguity_controls:
distinguish_specific_heat_from_total_heat_capacity
distinguish_specific_heat_from_heat
distinguish_specific_heat_from_latent_heat
distinguish_specific_heat_from_thermal_conductivity
distinguish_specific_heat_from_thermal_diffusivity
distinguish_c_p_from_c_v
distinguish_constant_from_temperature_dependent_specific_heat
preserve_material_composition_phase_and_state_conditions
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_thermal_specific_heat_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Specific Heat 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
sensible_heat_model
temperature_dependence_model
phase_model
latent_heat_distinction_model
calorimetry_model
mixture_model
system_context_model
thermal_diffusivity_relation
uncertainty_model
reasoning_rules
measurement_model
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
thermodynamic_constraint_model_changes
temperature_dependence_model_changes
phase_or_latent_heat_model_changes
material_or_mixture_model_changes
calorimetry_model_changes
measurement_model_changes
system_context_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard