# Strain Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/mechanical-measurements/strain-ontology.html
FLOW StrainOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Mechanical Measurements
-> Strain Ontology
PURPOSE:
Represent mechanical strain as a dimensionless measure of deformation relative to an original or reference configuration, including normal strain, shear strain, volumetric strain, strain tensors, finite and infinitesimal deformation, stress-strain relationships, material behaviour, measurement methods, uncertainty, and distinctions from stress, displacement and absolute dimensional change.
ENTITY Strain {
TYPE: DerivedDimensionlessMechanicalQuantity
SYMBOL: epsilon
DIMENSION: 1
SI_UNIT: dimensionless
SI_SYMBOL: 1
SIMPLE_NORMAL_FORM:
epsilon = delta_L / L_0
DEFINITION:
strain := relative_measure_of_deformation_with_respect_to_reference_configuration
PROPERTIES:
is_dimensionless
may_have_directional_components
may_be_represented_as_tensor
may_be_positive
may_be_negative
may_vary_with_position
may_vary_with_time
depends_on_reference_configuration
may_have_uncertainty
}
ENTITY NormalStrain {
TYPE: StrainComponent
SYMBOL: epsilon_n
ENGINEERING_FORM:
epsilon = (L - L_0) / L_0
CLASSIFICATION:
tensile_strain
compressive_strain
}
ENTITY ShearStrain {
TYPE: StrainComponent
SYMBOL: gamma
DEFINITION:
measure_of_angular_distortion_between_material_line_elements
SMALL_ANGLE_CONTEXT:
gamma approximately_equals change_in_right_angle_in_radians
}
ENTITY VolumetricStrain {
TYPE: StrainMeasure
SYMBOL: epsilon_v
SIMPLE_FORM:
epsilon_v = delta_V / V_0
INFINITESIMAL_RELATION:
epsilon_v = trace(epsilon_tensor)
}
ENTITY Stress {
TYPE: DerivedContinuumMechanicalQuantity
SYMBOL: sigma
DIMENSION: M * L^-1 * T^-2
RELATION:
Stress -> RELATED_BY_CONSTITUTIVE_MODEL_TO -> Strain
}
ENTITY Displacement {
TYPE: VectorQuantity
SYMBOL: u
DIMENSION: L
RELATION:
spatial_gradient(Displacement) -> StrainMeasures
}
ENTITY YoungsModulus {
TYPE: MaterialProperty
SYMBOL: E
DIMENSION: M * L^-1 * T^-2
LINEAR_ELASTIC_UNIAXIAL_RELATION:
sigma = E * epsilon
}
UNIT_SYSTEM {
SI {
canonical_unit: dimensionless
symbol: 1
}
COMMON_REPRESENTATIONS {
ratio
percent
microstrain
}
CONVERSIONS:
strain_percent = strain_ratio * 100
microstrain = strain_ratio * 10^6
strain_ratio = microstrain * 10^-6
RULE:
angular_shear_strain SHOULD use radians_or_dimensionless_ratio_semantics
under applicable_small_deformation_context
}
CLASSIFICATION {
by_mode:
normal_strain
shear_strain
volumetric_strain
by_sign:
tensile_strain
compressive_strain
by_scale:
infinitesimal_strain
finite_strain
by definition:
engineering_strain
true_strain
Green_Lagrange_strain
Euler_Almansi_strain
by behaviour:
elastic_strain
plastic_strain
thermal_strain
creep_strain
}
RELATIONSHIPS {
Strain -> MEASURES -> RelativeDeformation
Strain -> REFERENCES -> OriginalOrReferenceConfiguration
Strain -> DIMENSION -> Dimensionless
NormalStrain -> RATIO_OF -> LengthChangeToOriginalLength
VolumetricStrain -> RATIO_OF -> VolumeChangeToOriginalVolume
StrainTensor -> DERIVED_FROM -> DisplacementGradient
Stress -> RELATED_TO -> Strain
MaterialConstitutiveModel -> MAPS_BETWEEN -> StressAndStrain
ThermalExpansion -> MAY_PRODUCE -> ThermalStrain
PermanentDeformation -> MAY_INCLUDE -> PlasticStrain
}
SEMANTIC_EQUIVALENCE {
"engineering strain" ~= "nominal strain" WHEN uniaxial_engineering_context
"microstrain" ~= "microepsilon"
"µε" ~= microstrain
strain != stress
strain != displacement
strain != elongation
strain != deformation_gradient
engineering_strain != true_strain
}
NORMAL_STRAIN_MODEL {
ENGINEERING_STRAIN:
epsilon_eng = (L - L_0) / L_0
TRUE_LOGARITHMIC_STRAIN:
epsilon_true = ln(L / L_0)
SMALL_STRAIN_RELATION:
epsilon_true approximately_equals epsilon_eng
WHEN absolute_strain_is_small
RULE:
strain_measure_type MUST be preserved
for_large_deformation_analysis
}
INFINITESIMAL_STRAIN_TENSOR_MODEL {
DISPLACEMENT_FIELD:
u = u(x, y, z)
TENSOR:
epsilon_tensor = 0.5 * (grad(u) + transpose(grad(u)))
COMPONENTS:
epsilon_xx
epsilon_yy
epsilon_zz
epsilon_xy
epsilon_xz
epsilon_yz
CONDITIONS:
displacement_gradients_small
infinitesimal_deformation_assumption_valid
}
FINITE_STRAIN_MODEL {
DEFORMATION_GRADIENT:
F_def = partial(current_position) / partial(reference_position)
RIGHT_CAUCHY_GREEN:
C = transpose(F_def) * F_def
GREEN_LAGRANGE:
E_GL = 0.5 * (C - IdentityTensor)
RULE:
finite_deformation SHOULD_NOT use infinitesimal_strain_tensor
when rotations_or_deformations_are_not_small
}
SHEAR_STRAIN_MODEL {
ENGINEERING_SHEAR_STRAIN:
gamma_xy = 2 * epsilon_xy
UNDER conventional_infinitesimal_tensor_definition
SMALL_ANGLE:
gamma approximately_equals angular_change_in_radians
RULE:
tensorial_shear_strain_and_engineering_shear_strain
MUST_NOT be confused
}
VOLUMETRIC_STRAIN_MODEL {
SIMPLE_AVERAGE:
epsilon_v = delta_V / V_0
INFINITESIMAL:
epsilon_v = epsilon_xx + epsilon_yy + epsilon_zz
FINITE_DEFORMATION:
volume_ratio = determinant(F_def)
RULE:
finite_volume_change_requires_appropriate_finite_strain_measure
}
STRESS_STRAIN_MODEL {
GENERAL:
stress = constitutive_function(
strain,
strain_rate,
temperature,
loading_history,
material_state
)
LINEAR_ELASTIC_UNIAXIAL:
sigma = E * epsilon
CONDITIONS:
linear_elastic_regime
small_strain
applicable_material_model
RULE:
strain_does_not_uniquely_determine_stress_without_material_model
}
THERMAL_STRAIN_MODEL {
LINEAR_ISOTROPIC_APPROXIMATION:
epsilon_thermal = alpha * delta_T
PARAMETER:
alpha = coefficient_of_linear_thermal_expansion
CONDITIONS:
applicable_temperature_range
unconstrained_free_expansion_for_pure_thermal_strain
RULE:
constrained_thermal_strain MAY generate_stress
}
CONSTRAINTS {
strain_is_dimensionless = true
strain_requires_reference_configuration = true
original_length_must_be_nonzero_for_engineering_normal_strain = true
original_volume_must_be_nonzero_for_simple_volumetric_strain = true
strain_and_stress_are_not_semantically_equivalent = true
strain_and_displacement_are_not_semantically_equivalent = true
strain_measure_type_must_be_identified_for_finite_deformation = true
engineering_and_tensorial_shear_strain_conventions_must_be_distinguished = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
Strain
COMMON_MEASUREMENT_METHODS:
strain_gauge
extensometer
displacement_sensor_plus_gauge_length
digital_image_correlation
optical_interferometry
fibre_Bragg_grating_sensor
INDIRECT_MEASUREMENT:
length_change_divided_by_reference_length
displacement_gradient
volume_change_divided_by_reference_volume
RECORD:
numerical_value_or_tensor
representation
strain_type
strain_measure
reference_length_or_configuration
current_length_or_configuration
spatial_location
orientation
timestamp
temperature
material
measurement_method
instrument
calibration_state
uncertainty
UNCERTAINTY:
measured_or_inferred_strain = best_estimate +/- uncertainty
}
REASONING_RULES {
IF original_length_known AND current_length_known AND original_length != 0
THEN engineering_normal_strain = (current_length - original_length) / original_length
IF engineering_strain_ratio_known
THEN strain_percent = engineering_strain_ratio * 100
IF strain_ratio_known
THEN microstrain = strain_ratio * 10^6
IF displacement_field_known AND small_deformation_assumption_valid
THEN infinitesimal_strain_tensor =
symmetric_part(displacement_gradient)
IF stress_known AND Youngs_modulus_known AND Youngs_modulus != 0
AND linear_elastic_uniaxial_conditions_apply
THEN strain = stress / Youngs_modulus
IF strain_known AND Youngs_modulus_known
AND linear_elastic_uniaxial_conditions_apply
THEN stress = Youngs_modulus * strain
IF coefficient_of_thermal_expansion_known AND temperature_change_known
THEN free_thermal_strain = coefficient_of_thermal_expansion * temperature_change
UNDER linear_isotropic_approximation
IF finite_deformation_gradient_known
THEN Green_Lagrange_strain =
0.5 * (transpose(F_def)*F_def - identity_tensor)
}
MATERIAL_CONTEXT_MODEL {
REQUIRE_WHEN_RELEVANT:
material_identity
constitutive_model
temperature
strain_rate
loading_history
phase_or_microstructure
COMPONENT_DECOMPOSITION:
total_strain MAY_INCLUDE
elastic_strain
plastic_strain
thermal_strain
creep_strain
RULE:
total_strain_component_decomposition depends_on_material_model
}
REFERENCE_CONFIGURATION_MODEL {
reference_configuration:
geometry_or_state_against_which_deformation_is_measured
current_configuration:
deformed_geometry_or_state
RULE:
strain_values_from_different_reference_configurations
MUST_NOT be directly_compared_without_transformation_or_redefinition
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
strain_measure_confidence: 0.99
stress_strain_relationship_confidence: 0.98
measurement_context_confidence: 0.98
RULE:
confidence decreases when strain type, strain measure,
reference configuration, orientation, material,
constitutive model, temperature, calibration state
or uncertainty is missing or ambiguous
}
VALIDATION {
CHECK dimensionless_representation
CHECK original_length_nonzero_when_used
CHECK original_volume_nonzero_when_used
CHECK reference_configuration
CHECK strain_measure_type
CHECK engineering_vs_true_strain_distinction
CHECK engineering_vs_tensorial_shear_strain_distinction
CHECK infinitesimal_vs_finite_strain_assumptions
CHECK stress_strain_semantic_distinction
CHECK displacement_strain_semantic_distinction
CHECK material_model_when_inferring_stress
CHECK instrument_calibration_when_measured
CHECK uncertainty_representation_when_required
}
UPDATE_MODEL {
ON new_measurement:
identify_strain_type
identify_strain_measure
identify_reference_configuration
validate_reference_dimensions
preserve_original_representation
normalize_dimensionless_ratio_when_useful
attach_orientation
attach_spatial_location
attach_timestamp
attach_temperature
attach_uncertainty
update_strain_state
ON deformation_update:
update_current_configuration
update_displacement_field
recompute_strain_measure
update_tensor_components_when_required
ON material_or_temperature_change:
update_material_state
update_temperature
update_constitutive_context
recompute_thermal_or_material_strain_components_when_model_available
ON revised_calibration:
preserve_provenance
recompute_affected_measurements
update_confidence
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: Strain
canonical_symbol: epsilon
canonical_dimension: dimensionless
canonical_SI_unit: 1
interpretation_order:
identify_quantity
identify_strain_type
identify_strain_measure
identify_value_or_tensor
identify_representation
identify_reference_configuration
identify_current_configuration
identify_orientation_and_location
identify_material
identify_temperature_and_loading_context
identify_constitutive_context
identify_measurement_method
identify_uncertainty
validate_dimensionless_semantics
infer_deformation_relationships
ambiguity_controls:
distinguish_strain_from_stress
distinguish_strain_from_displacement
distinguish_strain_from_absolute_elongation
distinguish_engineering_from_true_strain
distinguish_infinitesimal_from_finite_strain
distinguish_normal_from_shear_strain
distinguish_engineering_from_tensorial_shear_strain
distinguish_elastic_plastic_thermal_and_creep_components
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_mechanical_quantity_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Mechanical Measurements
-> Strain Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
definitions
dimensions
representations
relationships
constraints
normal_strain_model
infinitesimal_strain_tensor_model
finite_strain_model
shear_strain_model
volumetric_strain_model
stress_strain_model
thermal_strain_model
material_context_model
reference_configuration_model
reasoning_rules
measurement_model
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
relationship_model_changes
strain_measure_model_changes
reference_configuration_changes
constitutive_model_changes
constraint_model_changes
reasoning_rule_changes
}
}
END FLOW
Download Code
Copy to Clipboard