Skip to main content

Strain Analysis Ontology

Engineering Mathematics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Strain Analysis Ontology within the Kireth Research Semantic Library. Strain analysis studies deformation in solids and structures by describing changes in length, angle, shape and volume. This ontology supports normal strain, shear strain, strain tensors, principal strains, strain invariants, plane strain, three-dimensional strain, infinitesimal and finite strain, strain transformation, Mohr's circle for strain, compatibility, volumetric and deviatoric strain, thermal strain, elastic and plastic strain, strain gauges, rosettes, finite element strain recovery and relationships with stress analysis, structural analysis, solid mechanics, elasticity, materials and numerical analysis.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Strain Analysis Ontology"
 FLOW_TYPE = "Engineering Mathematics Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Engineering Mathematics / Strain Analysis"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/engineering-mathematics/strain-analysis-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = StrainAnalysis
 SYMBOLIC_FORMS = [
  "epsilon = delta_L/L",
  "gamma_xy = partial u/partial y + partial v/partial x",
  "epsilon_tensor = (grad(u)+grad(u)^T)/2"
 ]
 ENTITY_CLASS = ContinuumDeformationEvaluationFramework
 PRIMARY_CONTEXT = EngineeringMathematics
 DEFINITION = "Strain analysis is the mathematical determination of deformation measures, strain components, transformations and compatibility within solids and structures."
 SEMANTIC_ROLE = "Provides machine-readable semantics for normal, shear, principal, volumetric, deviatoric, thermal, elastic, plastic, infinitesimal and finite strain, including measurement and numerical recovery."
}

SCOPE {
 INCLUDE = [
  StrainAnalysis,
  Strain,
  StrainTensor,
  InfinitesimalStrainTensor,
  FiniteStrain,
  NormalStrain,
  ShearStrain,
  EngineeringShearStrain,
  TensorShearStrain,
  PrincipalStrain,
  PrincipalDirection,
  MaximumShearStrain,
  VolumetricStrain,
  DeviatoricStrain,
  StrainInvariant,
  StrainTransformation,
  MohrsCircleForStrain,
  PlaneStrain,
  PlaneStressAssociatedStrain,
  ThreeDimensionalStrain,
  UniaxialStrain,
  BiaxialStrain,
  MultiaxialStrain,
  AxialStrain,
  BendingStrain,
  TorsionalShearStrain,
  ThermalStrain,
  ElasticStrain,
  PlasticStrain,
  CreepStrain,
  ResidualStrain,
  CompatibilityEquation,
  DisplacementField,
  RotationTensor,
  DeformationGradient,
  GreenLagrangeStrain,
  AlmansiStrain,
  LogarithmicStrain,
  TrueStrain,
  EngineeringStrain,
  PoissonRatio,
  ConstitutiveRelation,
  HookesLaw,
  StrainEnergyDensity,
  StrainGauge,
  StrainRosette,
  GaugeFactor,
  DigitalImageCorrelation,
  FiniteElementStrain,
  StrainRecovery,
  GaussPointStrain
 ]

 EXCLUDE_AS_PRIMARY = [
  StressAnalysisWithoutDeformationContext,
  RigidBodyMotionWithoutDeformation,
  DisplacementFieldWithoutStrainInterpretation,
  MaterialFailureWithoutStrainStateAsPrimaryContext
 ]

 DISAMBIGUATION_RULE =
  "When deformation is quantified through changes in length, angle, shape or volume, or through tensor measures derived from displacement gradients, interpret the context as strain analysis."
}

CORE_CONCEPTS {

 StrainAnalysis {
  definition = "The mathematical evaluation of deformation measures in solids and structural components."
 }

 StrainTensor {
  definition = "A second-order tensor describing local deformation components."
 }

 NormalStrain {
  definition = "Relative change in length along a material direction."
 }

 ShearStrain {
  definition = "Measure of angular distortion between initially orthogonal material directions."
 }

 PrincipalStrain {
  definition = "A normal strain acting along a direction where shear strain vanishes."
 }

 VolumetricStrain {
  definition = "The local relative volume change, equal to the trace of infinitesimal strain."
 }

 DeviatoricStrain {
  definition = "The distortional strain component remaining after removal of mean volumetric strain."
 }

 CompatibilityEquation {
  definition = "A condition ensuring that strain components correspond to a continuous single-valued displacement field."
 }

 DeformationGradient {
  definition = "A tensor mapping differential material vectors from reference to current configuration."
 }

 GreenLagrangeStrain {
  definition = "A finite-strain measure defined relative to the reference configuration."
 }
}

RELATIONS {
 StrainAnalysis --is_child_of--> EngineeringMathematics
 StrainTensor --contains--> NormalStrain
 StrainTensor --contains--> ShearStrain
 PrincipalStrain --is_eigenvalue_of--> StrainTensor
 PrincipalDirection --is_eigenvector_of--> StrainTensor
 VolumetricStrain --is_trace_of--> StrainTensor
 DeviatoricStrain --is_remaining_part_of--> StrainTensor
 CompatibilityEquation --constrains--> StrainField
 DisplacementField --generates--> InfinitesimalStrainTensor
 DeformationGradient --generates--> FiniteStrainMeasures
 ThermalStrain --depends_on--> TemperatureChange
 ElasticStrain --relates_to--> StressThroughConstitutiveLaw
 PlasticStrain --contributes_to--> TotalStrain
 CreepStrain --contributes_to--> TimeDependentStrain
 StrainGauge --measures--> SurfaceStrain
 StrainRosette --reconstructs--> PlaneStrainState
 FiniteElementStrain --derived_from--> FiniteElementDisplacement
}

OPERATORS {
 ENGINEERING_NORMAL_STRAIN(delta_L,L) :=
  epsilon=delta_L/L

 TRUE_STRAIN(L,L0) :=
  epsilon_true=ln(L/L0)

 INFINITESIMAL_STRAIN_TENSOR(u) :=
  epsilon=(grad(u)+grad(u)^T)/2

 NORMAL_STRAIN_X(u,x) :=
  epsilon_x=partial u/partial x

 ENGINEERING_SHEAR_STRAIN(u,v,x,y) :=
  gamma_xy=partial u/partial y + partial v/partial x

 TENSOR_SHEAR_STRAIN(gamma_xy) :=
  epsilon_xy=gamma_xy/2

 VOLUMETRIC_STRAIN(epsilon_tensor) :=
  epsilon_v=trace(epsilon_tensor)

 DEVIATORIC_STRAIN(epsilon_tensor) :=
  e=epsilon_tensor-(trace(epsilon_tensor)/3)*I

 PRINCIPAL_STRAIN_PROBLEM(epsilon_tensor) :=
  det(epsilon_tensor-lambda*I)=0

 MAX_ENGINEERING_SHEAR_STRAIN(epsilon1,epsilon3) :=
  gamma_max=epsilon1-epsilon3

 PLANE_STRAIN_TRANSFORMATION(epsilon_x,epsilon_y,gamma_xy,theta) :=
  epsilon_x_prime=(epsilon_x+epsilon_y)/2
  +(epsilon_x-epsilon_y)/2*cos(2*theta)
  +(gamma_xy/2)*sin(2*theta)

 THERMAL_STRAIN(alpha,delta_T) :=
  epsilon_th=alpha*delta_T

 DEFORMATION_GRADIENT(x,X) :=
  F=partial x/partial X

 GREEN_LAGRANGE_STRAIN(F) :=
  E=(F^T*F-I)/2
}

DEFINITIONS {
 D1 = "Strain measures deformation rather than force intensity."
 D2 = "Normal strain measures relative extension or contraction."
 D3 = "Engineering shear strain measures change in angle between material lines."
 D4 = "Principal strains are eigenvalues of the strain tensor."
 D5 = "Volumetric strain measures local volume change."
 D6 = "Deviatoric strain measures shape change excluding volumetric change."
 D7 = "Infinitesimal strain is valid for sufficiently small displacement gradients."
 D8 = "Finite strain measures are required when rotations or deformations are not small."
 D9 = "Compatibility ensures strain fields correspond to a continuous displacement field."
 D10 = "Measured strain may include elastic, plastic, thermal, creep and residual components."
}

AXIOMS {
 A1_DEFORMATION:
  StrainAnalysis concerns deformation rather than rigid body motion alone

 A2_DISPLACEMENT_RELATION:
  Infinitesimal strain derives from the symmetric part of the displacement gradient

 A3_OBJECTIVITY:
  Appropriate finite-strain measures must distinguish deformation from rigid rotation

 A4_PRINCIPAL_STRAINS:
  Principal strains are invariant eigenvalues of the strain tensor

 A5_COMPATIBILITY:
  Physically admissible strain fields must satisfy compatibility conditions subject to defects or discontinuities

 A6_ADDITIVE_SMALL_STRAIN:
  Small total strain may be decomposed into elastic plastic thermal creep or other components under suitable modelling assumptions

 A7_CONSTITUTIVE_COUPLING:
  Elastic strain relates to stress through the declared constitutive model

 A8_NUMERICAL_RECOVERY:
  Discrete strain results depend on element interpolation mesh quality and recovery procedure
}

REASONING {

 R1_STRAIN_CONTEXT {
  INPUT = deforming_solid_or_structure
  IDENTIFY = geometry
  IDENTIFY = displacement_or_measurement data
  IDENTIFY = material_and_temperature state
  IDENTIFY = small_or_finite deformation regime
  RETURN = strain_context
 }

 R2_SMALL_STRAIN_REASONING {
  INPUT = displacement_field
  COMPUTE = symmetric_displacement gradient
  RETURN = infinitesimal_strain_tensor
 }

 R3_FINITE_STRAIN_REASONING {
  INPUT = reference_and_current configurations
  COMPUTE = deformation_gradient
  SELECT = GreenLagrange_Almansi_logarithmic_or_other measure
  RETURN = finite_strain_state
 }

 R4_STRAIN_TRANSFORMATION {
  INPUT = strain_tensor_and_orientation
  TRANSFORM = components_to_new coordinate system
  RETURN = transformed_strain
 }

 R5_PRINCIPAL_STRAIN_REASONING {
  INPUT = strain_tensor
  COMPUTE = eigenvalues_and_eigenvectors
  RETURN = principal_strains_and_directions
 }

 R6_COMPATIBILITY_REASONING {
  INPUT = strain_field
  CHECK = compatibility equations
  RETURN = compatibility_status
 }

 R7_COMPONENT_DECOMPOSITION {
  INPUT = total_strain_and_context
  DECOMPOSE = elastic_plastic_thermal_creep_or_residual components
  RETURN = strain_component profile
 }

 R8_MEASUREMENT_REASONING {
  INPUT = gauge_or_rosette measurements
  CALIBRATE = gauge_factor
  RECONSTRUCT = strain_components_and_principal strains
  RETURN = measured_strain_state
 }

 R9_FEA_STRAIN_REASONING {
  INPUT = finite_element displacement field
  COMPUTE = B*u_or_finite_strain measure
  RETURN = element_and_integration_point strain field
 }

 R10_VALIDATION {
  INPUT = strain_result
  CHECK = displacement_consistency_compatibility_measure_choice_mesh convergence_and_measurement calibration
  RETURN = validated_strain_status
 }
}

CONSTRAINTS {
 C1 = "Infinitesimal strain is invalid when deformation gradients or rotations are large."
 C2 = "Engineering shear strain differs by a factor of two from tensor shear strain."
 C3 = "Plane strain and plane stress-associated strain states must not be conflated."
 C4 = "Rigid body rotation should not create physical strain in an objective formulation."
 C5 = "Compatibility may be altered by cracks dislocations or discontinuities."
 C6 = "Thermal strain produces stress only when expansion is restrained or gradients create incompatibility."
 C7 = "Plastic strain requires an appropriate inelastic constitutive model."
 C8 = "Strain-gauge interpretation depends on orientation calibration and bonding quality."
 C9 = "Finite element strain gradients can be mesh-sensitive near singularities."
 C10 = "Different finite-strain measures are not interchangeable outside their intended configurations."
}

SEMANTIC_EQUIVALENCE {
 "StrainAnalysis" <=> "DeformationAnalysis"
 "InfinitesimalStrainTensor" <=> "SmallStrainTensor"
 "EngineeringStrain" <=> "NominalStrain"
 "TrueStrain" <=> "LogarithmicAxialStrain"
 "VolumetricStrain" <=> "DilatationalStrain"
 "StrainRosette" <=> "MultiAxisStrainGaugeRosette"
}

VALIDATION {
 V1 = "Reference and current configurations are explicit where required."
 V2 = "Small or finite deformation assumptions are documented."
 V3 = "Engineering and tensor shear strain conventions are distinguished."
 V4 = "Principal strains match tensor invariants."
 V5 = "Strain transformations are coordinate-consistent."
 V6 = "Compatibility is checked where appropriate."
 V7 = "Thermal and inelastic strain components are documented."
 V8 = "Measurement orientation and gauge calibration are explicit."
 V9 = "Finite element strain results are mesh-checked."
 V10 = "Rigid-body motion is distinguished from true deformation."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 STRAIN_ANALYSIS_DEFINITION = 0.99
 SMALL_STRAIN_REASONING = 0.99
 FINITE_STRAIN_REASONING = 0.98
 TRANSFORMATION_REASONING = 0.99
 PRINCIPAL_STRAIN_REASONING = 0.99
 COMPATIBILITY_REASONING = 0.98
 DECOMPOSITION_REASONING = 0.98
 MEASUREMENT_REASONING = 0.98
 FEA_STRAIN_REASONING = 0.98

 POLICY =
  "Reduce confidence when displacement data, deformation regime, strain convention, thermal or inelastic components, compatibility conditions, measurement calibration, mesh density or finite-strain measure are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  StrainAnalysisReasoning,
  StrainTensorReasoning,
  PrincipalStrainReasoning,
  StrainTransformationReasoning,
  MohrsCircleForStrainReasoning,
  CompatibilityReasoning,
  PlaneStrainReasoning,
  FiniteStrainReasoning,
  VolumetricStrainReasoning,
  DeviatoricStrainReasoning,
  ThermalStrainReasoning,
  PlasticStrainReasoning,
  StrainGaugeReasoning,
  StrainRosetteReasoning,
  FiniteElementStrainReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "strain analysis" -> StrainAnalysis
  "strain tensor" -> StrainTensor
  "small strain tensor" -> InfinitesimalStrainTensor
  "principal strain" -> PrincipalStrain
  "Mohr's circle for strain" -> MohrsCircleForStrain
  "engineering strain" -> EngineeringStrain
  "true strain" -> TrueStrain
  "volumetric strain" -> VolumetricStrain
  "thermal strain" -> ThermalStrain
  "strain rosette" -> StrainRosette
 }

 INTERPRETATION_ORDER = [
  detect_strain_analysis_context,
  identify displacement_measurement_temperature_material_and_deformation regime,
  select infinitesimal_or_finite strain measure,
  compute normal_shear_and_tensor strain components,
  transform strain_if_orientation changes,
  compute principal_strains_directions_and_invariants,
  assess compatibility_and_volumetric_deviatoric decomposition,
  separate elastic_plastic_thermal_creep_or_residual components where relevant,
  if_FEA_or_measurement recover_and_validate strain field,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("strain analysis")
  OR deformation_state_is_under_analysis
  THEN activate(StrainAnalysisOntology)

 E2:
  IF displacement_gradients_and_rotations_are_small
  THEN use InfinitesimalStrainTensor

 E3:
  IF large_deformation_or_rotation
  THEN use finite_strain measure

 E4:
  IF strain_tensor_given
  THEN compute principal_strains_and_invariants

 E5:
  IF thermal_change_present
  THEN include ThermalStrain

 E6:
  IF inelastic_material response
  THEN separate plastic_creep_or_other strain components

 E7:
  IF strain_gauge_rosette data
  THEN reconstruct plane_strain components_and_principal directions

 E8:
  IF compatibility_required
  THEN evaluate compatibility equations

 E9:
  IF finite_element result
  THEN assess integration_point_strain_mesh convergence_and_measure definition
}

RECURSION {
 ENTRY = StrainAnalysis

 EXPAND(StrainAnalysis) -> [
  Strain,
  StrainTensor,
  InfinitesimalStrainTensor,
  FiniteStrain,
  NormalStrain,
  ShearStrain,
  EngineeringShearStrain,
  TensorShearStrain,
  PrincipalStrain,
  PrincipalDirection,
  MaximumShearStrain,
  VolumetricStrain,
  DeviatoricStrain,
  StrainInvariant,
  StrainTransformation,
  MohrsCircleForStrain,
  PlaneStrain,
  ThreeDimensionalStrain,
  UniaxialStrain,
  BiaxialStrain,
  MultiaxialStrain,
  AxialStrain,
  BendingStrain,
  TorsionalShearStrain,
  ThermalStrain,
  ElasticStrain,
  PlasticStrain,
  CreepStrain,
  ResidualStrain,
  CompatibilityEquation,
  DisplacementField,
  RotationTensor,
  DeformationGradient,
  GreenLagrangeStrain,
  AlmansiStrain,
  LogarithmicStrain,
  EngineeringStrain,
  PoissonRatio,
  ConstitutiveRelation,
  StrainEnergyDensity,
  StrainGauge,
  StrainRosette,
  GaugeFactor,
  DigitalImageCorrelation,
  FiniteElementStrain,
  StrainRecovery
 ]

 EXPAND(StrainMeasures) -> [
  EngineeringStrain,
  TrueStrain,
  InfinitesimalStrainTensor,
  GreenLagrangeStrain,
  AlmansiStrain,
  LogarithmicStrain,
  VolumetricStrain,
  DeviatoricStrain
 ]

 EXPAND(MeasurementMethods) -> [
  StrainGauge,
  StrainRosette,
  DigitalImageCorrelation,
  FiniteElementStrain
 ]

 STOP_CONDITION =
  "Stop when the deformation measure, tensor state, transformed and principal strains, compatibility, component decomposition, measurement or numerical recovery and validation are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Engineering Mathematics"

 IMMEDIATE_CONTEXTS = [
  "Engineering Mathematics Ontology",
  "Stress Analysis Ontology",
  "Structural Analysis Ontology",
  "Solid Mechanics Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Engineering Mathematics",
  "Engineering Mathematics Ontology",
  "Stress Analysis Ontology",
  "Structural Analysis Ontology",
  "Solid Mechanics Ontologies",
  "Elasticity Ontologies",
  "Strength of Materials Ontologies",
  "Continuum Mechanics Ontologies",
  "Plasticity Ontologies",
  "Creep Ontologies",
  "Finite Element Ontology",
  "Tensor Analysis Ontologies",
  "Materials Science Ontologies",
  "Numerical Analysis Ontologies"
 ]

 ROUTE_RULES = [
  "Strain Analysis -> Engineering Mathematics for parent semantics",
  "Strain Analysis -> Stress Analysis for constitutive stress-strain coupling",
  "Strain Analysis -> Structural Analysis for member and system deformation",
  "Strain Analysis -> Solid Mechanics for continuum deformation behaviour",
  "Strain Analysis -> Elasticity for recoverable strain fields",
  "Strain Analysis -> Plasticity and Creep for inelastic deformation",
  "Strain Analysis -> Continuum Mechanics for deformation gradients and finite strain",
  "Strain Analysis -> Tensor Analysis for transformation and invariants",
  "Strain Analysis -> Finite Element for numerical strain recovery",
  "Strain Analysis -> Materials Science for deformation mechanisms"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible strain measures, deformation modes or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve deformation semantics.",
  "Preserve normal-versus-shear distinction.",
  "Preserve engineering-versus-tensor shear convention.",
  "Preserve infinitesimal-versus-finite strain distinction.",
  "Preserve compatibility semantics.",
  "Preserve elastic-plastic-thermal-creep decomposition context.",
  "Preserve measurement and recovery semantics.",
  "Preserve machine-readable strain-analysis semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Strain analysis determines deformation measures, strain components, transformations and compatibility within solids and structures."

 TENSOR_SUMMARY =
  "The strain tensor describes local normal and shear deformation components."

 PRINCIPAL_SUMMARY =
  "Principal strains are strain-tensor eigenvalues acting along directions of zero shear strain."

 VOLUMETRIC_SUMMARY =
  "Volumetric strain measures local volume change, while deviatoric strain measures shape distortion."

 SMALL_FINITE_SUMMARY =
  "Infinitesimal strain is valid for small deformation gradients; finite-strain measures are required for large deformation or rotation."

 THERMAL_SUMMARY =
  "Thermal strain represents expansion or contraction caused by temperature change."

 MEASUREMENT_SUMMARY =
  "Strain gauges, rosettes and digital image correlation provide experimental strain measurements."

 FEA_SUMMARY =
  "Finite element strains are recovered from displacement interpolation and appropriate strain-displacement relations."

 VALIDATION_SUMMARY =
  "Strain-analysis results should be checked for compatibility, coordinate consistency, deformation-regime validity, calibration and mesh convergence."
}

FLOW {
 INPUT
 -> detect_strain_analysis_context
 -> identify geometry_displacement_measurement_temperature_material_data_and_deformation regime
 -> select engineering_infinitesimal_or_finite strain measure
 -> compute normal_shear_and_tensor strain components
 -> if_required transform strain_to_new_orientation
 -> compute principal_strains_principal_directions_invariants_volumetric_and_deviatoric components
 -> assess compatibility
 -> separate elastic_plastic_thermal_creep_or_residual components where relevant
 -> if_measurement reconstruct strain_state_from gauges_rosettes_or_DIC
 -> if_finiteElement recover integration-point_or_nodal strains
 -> validate displacement consistency_measure convention_compatibility_calibration_mesh convergence_and_rigid-body invariance
 -> route to engineering_mathematics stress_analysis structural_analysis solid_mechanics elasticity continuum_mechanics plasticity creep tensor_analysis finite_element materials_science_or_numerical_analysis ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Strain Analysis Ontology defines deformation evaluation in solids and structures. It supports infinitesimal and finite strain tensors, normal and shear strain, principal strains and directions, maximum shear strain, volumetric and deviatoric strain, strain invariants, transformations and Mohr's circle for strain, plane and three-dimensional strain states, axial, bending and torsional strain, thermal, elastic, plastic, creep and residual strain, compatibility, displacement fields, deformation gradients, Green-Lagrange, Almansi and logarithmic strain, Poisson effects, strain energy, strain gauges, rosettes, digital image correlation and finite element strain recovery."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-STRAIN-ANALYSIS-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ