Skip to main content

Thermal Expansion Ontology

Thermal Measurements
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 September 2026
Audio Overview
# 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
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ