# Thermal Expansion Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/thermal-measurements/thermal-expansion-ontology.html
FLOW ThermalExpansionOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Thermal Expansion Ontology
PURPOSE:
Represent thermal expansion as the dimensional response of materials to temperature change, including linear, area and volumetric expansion, coefficients of thermal expansion, isotropic and anisotropic behaviour, thermal strain, constrained expansion, temperature dependence, phase and material effects, measurement methods, units, uncertainty, and distinctions from heat, mechanical strain and thermal conductivity.
ENTITY LinearThermalExpansionCoefficient {
TYPE: IntensiveThermalMaterialProperty
SYMBOL: alpha
DIMENSION: Theta^-1
SI_UNIT: per_kelvin
SI_SYMBOL: K^-1
DIFFERENTIAL_DEFINITION:
alpha = (1/L)*(dL/dT)
UNDER specified_conditions
CONSTANT_COEFFICIENT_APPROXIMATION:
delta_L = alpha*L_0*delta_T
PROPERTIES:
is_scalar_for_isotropic_linear_expansion
has_value
has_unit
may_depend_on_temperature
may_depend_on_pressure
may_depend_on_phase
may_depend_on_material_orientation
may_have_uncertainty
}
ENTITY VolumetricThermalExpansionCoefficient {
TYPE: IntensiveThermalMaterialProperty
SYMBOL: beta
DIMENSION: Theta^-1
SI_UNIT: per_kelvin
SI_SYMBOL: K^-1
DIFFERENTIAL_DEFINITION:
beta = (1/V)*(dV/dT)
CONSTANT_COEFFICIENT_APPROXIMATION:
delta_V = beta*V_0*delta_T
}
ENTITY ThermalStrain {
TYPE: DimensionlessMechanicalThermalQuantity
SYMBOL: epsilon_th
LINEAR_ISOTROPIC_FORM:
epsilon_th = alpha*delta_T
}
ENTITY Temperature {
TYPE: SIBaseQuantity
SYMBOL: T
SI_UNIT: kelvin
SI_SYMBOL: K
}
ENTITY Length {
TYPE: GeometricQuantity
SYMBOL: L
SI_UNIT: metre
SI_SYMBOL: m
}
ENTITY Volume {
TYPE: GeometricQuantity
SYMBOL: V
SI_UNIT: cubic_metre
SI_SYMBOL: m^3
}
UNIT_SYSTEM {
SI {
coefficient_unit: inverse_kelvin
symbol: K^-1
}
COMMON_REPRESENTATIONS:
micrometre_per_metre_kelvin
microstrain_per_kelvin
parts_per_million_per_kelvin
EQUIVALENCE:
1e-6 K^-1 = 1 micrometre_per_metre_kelvin
1e-6 K^-1 = 1 ppm/K
TEMPERATURE_INTERVAL:
delta_1_K = delta_1_degree_Celsius
RULE:
expansion_coefficients_apply_to_temperature_intervals
not_absolute_scale_offsets
}
CLASSIFICATION {
by dimensional response:
linear_expansion
area_expansion
volumetric_expansion
by material symmetry:
isotropic_expansion
anisotropic_expansion
orthotropic_expansion
by constraint:
free_thermal_expansion
constrained_thermal_expansion
by behaviour:
constant_coefficient_approximation
temperature_dependent_expansion
nonlinear_thermal_expansion
}
LINEAR_EXPANSION_MODEL {
CONSTANT_ALPHA:
delta_L = alpha*L_0*delta_T
FINAL_LENGTH:
L = L_0*(1 + alpha*delta_T)
CONDITIONS:
small_strain
constant_or_effective_alpha
no_phase_change
unconstrained_direction
RULE:
reference_length_and_reference_temperature MUST be preserved
}
VOLUMETRIC_EXPANSION_MODEL {
CONSTANT_BETA:
delta_V = beta*V_0*delta_T
FINAL_VOLUME:
V = V_0*(1 + beta*delta_T)
ISOTROPIC_SMALL_EXPANSION:
beta approximately_equals 3*alpha
CONDITIONS:
isotropic_material
small_expansion
applicable_temperature_range
RULE:
beta_equals_3_alpha is_approximate_not_universal
}
AREA_EXPANSION_MODEL {
area_coefficient:
gamma_A
SMALL_ISOTROPIC_APPROXIMATION:
gamma_A approximately_equals 2*alpha
FORM:
delta_A approximately_equals 2*alpha*A_0*delta_T
CONDITIONS:
isotropic_small_expansion
}
DIFFERENTIAL_MODEL {
LINEAR:
dL/L = alpha(T)*dT
INTEGRATED:
ln(L_2/L_1) =
integral_T1_to_T2(alpha(T) dT)
VOLUMETRIC:
dV/V = beta(T)*dT
RULE:
large_temperature_ranges SHOULD integrate_temperature_dependent_coefficient
}
THERMAL_STRAIN_MODEL {
FREE_ISOTROPIC:
epsilon_th = alpha*delta_T
TENSOR_FORM_ISOTROPIC:
epsilon_th_tensor =
alpha*delta_T*IdentityTensor
ANISOTROPIC:
epsilon_th_tensor =
Alpha_tensor*delta_T
UNDER linear_small_strain_context
RULE:
thermal_strain_is_dimensionless
coefficient_of_expansion_has_unit_K_inverse
}
ANISOTROPIC_MODEL {
coefficient_tensor:
Alpha_tensor
principal_coefficients:
alpha_1
alpha_2
alpha_3
REQUIRE:
material_orientation
coordinate_system
crystal_or_structural_symmetry
RULE:
scalar_alpha MUST_NOT replace_tensor_expansion
when_directionality_is_material
}
CONSTRAINED_EXPANSION_MODEL {
FREE_EXPANSION:
thermal_strain develops_without_mechanical_stress
when_unconstrained
FULLY_CONSTRAINED_UNIAXIAL_LINEAR_ELASTIC:
thermal_stress_magnitude approximately_equals E*alpha*delta_T
CONDITIONS:
linear_elastic_material
complete_constraint
small_strain
appropriate_sign_convention
RULE:
constrained_thermal_expansion MAY generate_mechanical_stress
}
TEMPERATURE_DEPENDENCE_MODEL {
GENERAL:
alpha = alpha(T, p, phase, composition, orientation)
beta = beta(T, p, phase, composition)
RULE:
tabulated_expansion_coefficient SHOULD preserve_reference_temperature_range
}
PHASE_CHANGE_MODEL {
phase_transition:
dimensions MAY change_discontinuously
coefficient MAY change_sharply_or_become_inadequate
examples:
melting
crystallographic_transition
glass_transition
magnetic_or_structural_transition
RULE:
simple_linear_expansion_model MUST_NOT span_discontinuous_phase_change_without_transition_model
}
DENSITY_RELATION_MODEL {
mass_constant:
rho = m/V
differential_relation:
d(rho)/rho approximately_equals -beta*dT
for_small_changes_and_constant_mass
RULE:
thermal_expansion MAY alter_density
without_changing_total_mass
}
RELATIONSHIPS {
ThermalExpansion -> CAUSED_BY -> TemperatureChange
LinearExpansionCoefficient -> RELATES -> LengthChangeAndTemperatureChange
VolumetricExpansionCoefficient -> RELATES -> VolumeChangeAndTemperatureChange
ThermalExpansionCoefficient -> HAS_DIMENSION -> Theta^-1
ThermalExpansionCoefficient -> MEASURED_IN -> PerKelvin
ThermalExpansion -> PRODUCES -> ThermalStrain
ConstrainedThermalExpansion -> MAY_PRODUCE -> ThermalStress
ThermalExpansion -> MAY_CHANGE -> Density
ThermalExpansionCoefficient -> DEPENDS_ON -> Material
ThermalExpansionCoefficient -> MAY_DEPEND_ON -> TemperatureAndPhase
}
SEMANTIC_EQUIVALENCE {
"coefficient of thermal expansion" ~= thermal_expansion_coefficient
"CTE" ~= coefficient_of_thermal_expansion
"linear CTE" ~= linear_thermal_expansion_coefficient
"ppm/K" ~= parts_per_million_per_kelvin
thermal_expansion != heat
thermal_expansion != temperature
thermal_expansion != thermal_conductivity
thermal_expansion_coefficient != thermal_strain
linear_expansion_coefficient != volumetric_expansion_coefficient
}
CONSTRAINTS {
coefficient_dimension = Theta^-1
SI_unit = K^-1
reference_dimension_and_temperature_must_be_defined = true
expansion_coefficient_and_thermal_strain_are_not_semantically_equivalent = true
linear_and_volumetric_coefficients_are_not_generally_identical = true
beta_approximately_3_alpha_requires_isotropic_small_expansion = true
anisotropic_materials_require_directional_or_tensor_semantics = true
constrained_expansion_requires_mechanical_boundary_conditions = true
phase_change_requires_special_model = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
ThermalExpansionCoefficient
ThermalExpansion
ThermalStrain
COMMON_METHODS:
dilatometry
thermomechanical_analysis
optical_interferometry
strain_gauge_measurement
X_ray_diffraction_lattice_parameter_measurement
capacitance_dilatometry
RECORD:
coefficient_or_expansion_type
numerical_value
unit
material
composition
phase
orientation
reference_length_or_volume
initial_temperature
final_temperature
pressure
heating_or_cooling
heating_rate
mechanical_constraint
measurement_method
instrument
calibration_state
uncertainty
UNCERTAINTY:
measured_or_inferred_expansion_quantity = best_estimate +/- uncertainty
}
REASONING_RULES {
IF alpha_known AND reference_length_known AND temperature_change_known
AND constant_alpha_small_expansion_conditions_apply
THEN length_change =
alpha*reference_length*temperature_change
IF length_change_reference_length_and_temperature_change_known
AND reference_length != 0 AND temperature_change != 0
AND constant_effective_alpha_context
THEN alpha =
length_change/(reference_length*temperature_change)
IF beta_known AND reference_volume_known AND temperature_change_known
AND constant_beta_small_expansion_conditions_apply
THEN volume_change =
beta*reference_volume*temperature_change
IF isotropic_small_expansion AND alpha_known
THEN beta approximately_equals 3*alpha
IF alpha_known AND temperature_change_known
AND free_small_strain_context
THEN thermal_strain = alpha*temperature_change
IF fully_constrained_uniaxial_linear_elastic_context
AND Youngs_modulus_alpha_and_temperature_change_known
THEN thermal_stress_magnitude =
Youngs_modulus*alpha*temperature_change
IF alpha_is_temperature_dependent
THEN length_ratio =
exp(integral(alpha(T) dT))
IF mass_constant AND volumetric_expansion_known
THEN update_density_from_new_volume
}
MATERIAL_CONTEXT_MODEL {
REQUIRE:
material_identity
composition
phase
temperature_range
WHEN_RELEVANT:
pressure
crystal_orientation
microstructure
moisture_content
thermal_history
RULE:
expansion_coefficients SHOULD NOT be treated_as_universal_material_constants
outside_reference_conditions
}
HYSTERESIS_AND_HISTORY_MODEL {
heating_curve:
expansion_during_temperature_increase
cooling_curve:
contraction_during_temperature_decrease
possible_difference:
due_to_phase_transitions
viscoelasticity
structural_relaxation
irreversible_change
RULE:
heating_and_cooling_data MAY require_separate_state_history
}
UNCERTAINTY_MODEL {
sources:
length_or_volume_measurement
temperature_measurement
reference_dimension
instrument_calibration
thermal_gradient
sample_alignment
mechanical_constraint
heating_rate
phase_state
material_nonuniformity
model_assumptions
PROPAGATION:
derived_expansion_uncertainty
<- dimensional_temperature_material_and_model_uncertainties
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
SI_unit_confidence: 1.00
linear_expansion_relationship_confidence: 1.00
anisotropic_relationship_confidence: 0.98
measurement_context_confidence: 0.98
RULE:
confidence decreases when reference dimension, temperature range,
material phase, orientation, mechanical constraint,
calibration state or uncertainty is missing or ambiguous
}
VALIDATION {
CHECK dimensional_consistency
CHECK unit_consistency
CHECK reference_length_or_volume
CHECK reference_temperature
CHECK temperature_interval
CHECK linear_vs_volumetric_coefficient
CHECK isotropic_vs_anisotropic_model
CHECK small_vs_large_expansion_assumption
CHECK free_vs_constrained_expansion
CHECK material_phase_and_temperature_range
CHECK phase_transition_context
CHECK heating_vs_cooling_history_when_relevant
CHECK instrument_calibration
CHECK uncertainty_representation_when_required
}
UPDATE_MODEL {
ON new_measurement:
identify_expansion_quantity
validate_unit
identify_material_composition_and_phase
identify_orientation
attach_reference_dimension
attach_initial_and_final_temperature
attach_pressure_when_relevant
identify_heating_or_cooling
identify_mechanical_constraint
identify_measurement_method
normalize_coefficient_to_K_inverse
preserve_original_value_and_unit
attach_uncertainty
update_expansion_state
ON temperature_change:
update_temperature
recompute_dimension_or_thermal_strain_when_model_available
preserve_previous_state
ON phase_or_material_change:
update_phase
update_composition_or_structure
update_expansion_coefficient_model
preserve_material_provenance
ON constraint_change:
update_mechanical_boundary_conditions
distinguish_free_expansion_from_thermal_stress
recompute_stress_when_valid
ON calibration_revision:
preserve_provenance
recompute_affected_measurements
update_confidence
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_domain: ThermalExpansion
primary_entity: LinearThermalExpansionCoefficient
primary_symbol: alpha
canonical_SI_unit: K^-1
interpretation_order:
identify_linear_area_or_volumetric_quantity
identify_value
identify_unit
identify_material_composition_and_phase
identify_reference_dimension
identify_initial_and_final_temperature
identify_temperature_range
identify_isotropic_or_anisotropic_context
identify_orientation
identify_free_or_constrained_expansion
identify_heating_or_cooling_history
identify_measurement_method
identify_uncertainty
normalize_units
validate_dimensions
infer_expansion_relationships
ambiguity_controls:
distinguish_thermal_expansion_from_heat
distinguish_thermal_expansion_from_temperature
distinguish_expansion_coefficient_from_thermal_strain
distinguish_linear_from_volumetric_expansion_coefficient
distinguish_free_expansion_from_thermally_induced_stress
distinguish_scalar_isotropic_from_tensor_anisotropic_expansion
distinguish_continuous_expansion_from_phase_transition_change
preserve_reference_dimension_temperature_range_orientation_and_history
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_thermal_expansion_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Thermal Measurements
-> Thermal Expansion Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_domain
ontology_path
definitions
units
relationships
constraints
linear_expansion_model
volumetric_expansion_model
area_expansion_model
differential_model
thermal_strain_model
anisotropic_model
constrained_expansion_model
temperature_dependence_model
phase_change_model
density_relation_model
material_context_model
hysteresis_and_history_model
uncertainty_model
reasoning_rules
measurement_model
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
expansion_coefficient_model_changes
anisotropic_model_changes
temperature_dependence_changes
phase_change_model_changes
constraint_model_changes
material_context_changes
measurement_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard