Skip to main content

Plasticity 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 Plasticity Ontology within the Kireth Research Semantic Library. Plasticity studies permanent, irreversible deformation of solids after stresses exceed an elastic limit or yield condition. This ontology supports yield criteria, plastic strain, flow rules, hardening, softening, perfect plasticity, isotropic and kinematic hardening, associated and non-associated plasticity, incremental constitutive updates, return mapping, elastoplastic tangent operators, limit analysis, plastic hinges, cyclic plasticity, shakedown, ratcheting and relationships with stress analysis, strain analysis, elasticity, structural analysis, continuum mechanics and finite element methods.

FLOW_ALGEBRA_RECORD {

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

IDENTITY {
 PRIMARY_ENTITY = Plasticity
 SYMBOLIC_FORMS = [
  "epsilon = epsilon_e + epsilon_p",
  "f(sigma,q)<=0",
  "d epsilon_p = d lambda * partial g/partial sigma"
 ]
 ENTITY_CLASS = IrreversibleSolidDeformationFramework
 PRIMARY_CONTEXT = EngineeringMathematics
 DEFINITION = "Plasticity is the mathematical theory of irreversible deformation in solids once the stress state reaches or exceeds a yield condition."
 SEMANTIC_ROLE = "Provides machine-readable semantics for yield surfaces, plastic strain, flow rules, hardening, elastoplastic constitutive updates, cyclic plasticity and plastic structural response."
}

SCOPE {
 INCLUDE = [
  Plasticity,
  PlasticDeformation,
  PlasticStrain,
  ElasticStrain,
  TotalStrain,
  Elastoplasticity,
  PerfectPlasticity,
  HardeningPlasticity,
  SofteningPlasticity,
  Yielding,
  YieldSurface,
  YieldFunction,
  YieldCriterion,
  ElasticDomain,
  PlasticDomain,
  FlowRule,
  PlasticPotential,
  AssociatedFlowRule,
  NonAssociatedFlowRule,
  PlasticMultiplier,
  KuhnTuckerConditions,
  ConsistencyCondition,
  IsotropicHardening,
  KinematicHardening,
  CombinedHardening,
  BackStress,
  HardeningVariable,
  InternalVariable,
  EquivalentPlasticStrain,
  VonMisesYieldCriterion,
  TrescaYieldCriterion,
  DruckerPragerCriterion,
  MohrCoulombCriterion,
  HillYieldCriterion,
  BauschingerEffect,
  CyclicPlasticity,
  Ratcheting,
  Shakedown,
  PlasticHinge,
  CollapseLoad,
  LimitAnalysis,
  ReturnMapping,
  RadialReturn,
  ConsistentTangentOperator,
  ElastoplasticTangent,
  IncrementalPlasticity,
  RateIndependentPlasticity,
  RateDependentPlasticity,
  Viscoplasticity,
  FinitePlasticity,
  SmallStrainPlasticity,
  FiniteElementPlasticity
 ]

 EXCLUDE_AS_PRIMARY = [
  PureElasticityWithoutIrreversibleStrain,
  CreepWithoutPlasticYieldFramework,
  FractureWithoutPlasticDeformationContext,
  ViscousFlow,
  DamageMechanicsWithoutPlasticityAsPrimaryMechanism
 ]

 DISAMBIGUATION_RULE =
  "When deformation contains a permanent irreversible component governed by yielding, flow and hardening rules, interpret the context as plasticity."
}

CORE_CONCEPTS {

 Plasticity {
  definition = "The constitutive theory of irreversible deformation after yielding."
 }

 YieldSurface {
  definition = "A surface in stress space separating elastic states from states capable of plastic loading."
 }

 YieldFunction {
  definition = "A scalar function defining elastic, yielding and inadmissible stress states."
 }

 PlasticStrain {
  definition = "The irreversible part of total deformation."
 }

 FlowRule {
  definition = "A rule determining the direction and magnitude of incremental plastic strain."
 }

 AssociatedFlowRule {
  definition = "A flow rule whose plastic potential equals the yield function."
 }

 IsotropicHardening {
  definition = "Hardening represented by expansion or contraction of the yield surface."
 }

 KinematicHardening {
  definition = "Hardening represented by translation of the yield surface in stress space."
 }

 ReturnMapping {
  definition = "A numerical integration method projecting a trial stress state back to the admissible yield surface."
 }

 LimitAnalysis {
  definition = "A method for determining structural collapse loads using plastic admissibility and equilibrium principles."
 }
}

RELATIONS {
 Plasticity --is_child_of--> EngineeringMathematics
 Plasticity --extends--> Elasticity
 TotalStrain --decomposes_into--> ElasticStrain
 TotalStrain --decomposes_into--> PlasticStrain
 YieldFunction --defines--> YieldSurface
 YieldSurface --bounds--> ElasticDomain
 PlasticMultiplier --controls--> PlasticFlowIncrement
 FlowRule --determines--> PlasticStrainDirection
 AssociatedFlowRule --uses--> YieldFunctionAsPlasticPotential
 IsotropicHardening --changes--> YieldSurfaceSize
 KinematicHardening --changes--> YieldSurfacePosition
 BackStress --represents--> KinematicHardening
 EquivalentPlasticStrain --tracks--> PlasticHistory
 ReturnMapping --enforces--> YieldConsistency
 ConsistentTangentOperator --supports--> NewtonIteration
 PlasticHinge --represents--> LocalisedStructuralPlasticity
 LimitAnalysis --predicts--> CollapseLoad
 CyclicPlasticity --may_exhibit--> BauschingerEffect
 CyclicPlasticity --may_exhibit--> Ratcheting
}

OPERATORS {
 STRAIN_DECOMPOSITION(epsilon) :=
  epsilon=epsilon_e+epsilon_p

 YIELD_CONDITION(f) :=
  f(sigma,q)<=0

 ELASTIC_STATE(f) :=
  f<0

 YIELDING_STATE(f) :=
  f=0

 ASSOCIATED_FLOW(f,sigma,d_lambda) :=
  d_epsilon_p=d_lambda*partial f/partial sigma

 GENERAL_FLOW(g,sigma,d_lambda) :=
  d_epsilon_p=d_lambda*partial g/partial sigma

 KUHN_TUCKER(d_lambda,f) :=
  d_lambda>=0
  AND f<=0
  AND d_lambda*f=0

 CONSISTENCY_CONDITION(f) :=
  df=0 during active plastic loading

 VON_MISES_YIELD(sigma_eq,sigma_y) :=
  f=sigma_eq-sigma_y

 VON_MISES_EQUIVALENT_STRESS(s) :=
  sigma_eq=sqrt((3/2)*(s:s))

 ISOTROPIC_HARDENING(sigma_y0,H,alpha) :=
  sigma_y=sigma_y0+H*alpha

 KINEMATIC_HARDENING(alpha_back,Hkin,d_epsilon_p) :=
  d_alpha_back proportional_to Hkin*d_epsilon_p

 TRIAL_STRESS(C,delta_epsilon,sigma_n) :=
  sigma_trial=sigma_n+C:delta_epsilon

 RETURN_MAPPING(sigma_trial) :=
  if f(sigma_trial)<=0 then elastic_update
  else plastic_corrector_to_yield_surface
}

DEFINITIONS {
 D1 = "Plastic deformation is permanent after unloading."
 D2 = "Yield functions separate elastic from plastically active stress states."
 D3 = "Plastic strain increments are governed by a flow rule."
 D4 = "Associated plasticity uses the yield function as the plastic potential."
 D5 = "Hardening changes subsequent yield conditions."
 D6 = "Isotropic hardening changes yield-surface size."
 D7 = "Kinematic hardening translates the yield surface."
 D8 = "Perfect plasticity has no hardening after initial yield."
 D9 = "Return mapping numerically restores admissibility after an elastic trial step."
 D10 = "Structural collapse can be idealised through plastic mechanisms and limit analysis."
}

AXIOMS {
 A1_IRREVERSIBILITY:
  PlasticStrain is irreversible under ordinary unloading within the model

 A2_ELASTIC_PLASTIC_SPLIT:
  SmallStrainPlasticity decomposes total strain into elastic and plastic parts

 A3_YIELD_ADMISSIBILITY:
  Admissible stress states satisfy the yield inequality

 A4_LOADING_UNLOADING:
  Plastic evolution occurs only under loading conditions consistent with the KuhnTucker relations

 A5_FLOW_RULE:
  Plastic strain direction follows the declared plastic potential

 A6_HARDENING_HISTORY:
  Plastic response depends on internal history variables when hardening or softening is present

 A7_CONSISTENCY:
  Active plastic loading remains on the evolving yield surface subject to the consistency condition

 A8_NUMERICAL_INTEGRATION:
  Incremental constitutive updates must preserve admissibility and history consistency
}

REASONING {

 R1_PLASTICITY_CONTEXT {
  INPUT = deforming_solid_problem
  IDENTIFY = stress_state
  IDENTIFY = strain_history
  IDENTIFY = material_model
  IDENTIFY = small_or_finite strain regime
  RETURN = plasticity_context
 }

 R2_YIELD_EVALUATION {
  INPUT = current_stress_and_internal variables
  COMPUTE = yield_function
  CLASSIFY = elastic_or_yielding
  RETURN = yield_status
 }

 R3_ELASTIC_TRIAL {
  INPUT = strain_increment
  COMPUTE = elastic_trial_stress
  EVALUATE = yield_function
  RETURN = trial_state
 }

 R4_PLASTIC_CORRECTION {
  INPUT = inadmissible_trial_state
  SOLVE = plastic_multiplier
  UPDATE = stress_plastic_strain_and_internal variables
  ENFORCE = consistency_condition
  RETURN = corrected_state
 }

 R5_HARDENING_REASONING {
  INPUT = plastic_history
  SELECT = isotropic_kinematic_combined_or_softening law
  UPDATE = yield_surface parameters
  RETURN = hardening_state
 }

 R6_CYCLIC_REASONING {
  INPUT = repeated_load_history
  TRACK = backstress_equivalent plastic strain_and_hysteresis
  IDENTIFY = Bauschinger_ratcheting_or_shakedown behaviour
  RETURN = cyclic_plasticity_profile
 }

 R7_LIMIT_ANALYSIS {
  INPUT = structure_and_yield capacities
  IDENTIFY = possible plastic hinges_or_yield zones
  FORM = collapse mechanism_or_static admissible field
  RETURN = collapse_load bounds
 }

 R8_FINITE_ELEMENT_REASONING {
  INPUT = strain_increment_at_integration point
  APPLY = constitutive_integrator
  COMPUTE = stress_update_and_consistent tangent
  RETURN = element_constitutive_state
 }

 R9_FINITE_PLASTICITY_REASONING {
  INPUT = large_deformation_problem
  SELECT = multiplicative_or_other finite plasticity decomposition
  ENFORCE = objective stress_update
  RETURN = finite_plastic_state
 }

 R10_VALIDATION {
  INPUT = plasticity_result
  CHECK = yield_admissibility_loading_unloading consistency_history variables_energy behaviour_and_increment sensitivity
  RETURN = validated_plasticity_status
 }
}

CONSTRAINTS {
 C1 = "Elastic and plastic strain contributions must not be conflated."
 C2 = "Yield criteria are material-model dependent."
 C3 = "Associated flow is not appropriate for every material class."
 C4 = "Softening models may produce localisation and mesh dependence."
 C5 = "Rate-independent and rate-dependent plasticity must not be conflated."
 C6 = "Large-deformation plasticity requires objective finite-strain measures."
 C7 = "Return-mapping tolerances affect constitutive accuracy."
 C8 = "Cyclic plasticity may require kinematic or combined hardening."
 C9 = "Limit analysis assumes appropriate rigid-plastic or elastic-perfectly-plastic idealisations."
 C10 = "Finite element plasticity requires integration-point history variables to be updated consistently."
}

SEMANTIC_EQUIVALENCE {
 "Plasticity" <=> "PlasticDeformationTheory"
 "YieldSurface" <=> "PlasticYieldSurface"
 "YieldFunction" <=> "PlasticYieldFunction"
 "AssociatedFlowRule" <=> "NormalityFlowRule"
 "IsotropicHardening" <=> "YieldSurfaceExpansion"
 "KinematicHardening" <=> "YieldSurfaceTranslation"
}

VALIDATION {
 V1 = "Yield criterion is explicit."
 V2 = "Flow rule is explicit."
 V3 = "Hardening or softening law is documented."
 V4 = "Elastic-plastic strain decomposition is consistent."
 V5 = "Kuhn-Tucker conditions are satisfied."
 V6 = "Consistency condition is enforced during active loading."
 V7 = "Internal variables are updated consistently."
 V8 = "Cyclic behaviour is validated against the chosen hardening model."
 V9 = "Finite element constitutive updates are incrementally converged."
 V10 = "Softening and localisation effects are treated with appropriate regularisation where needed."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 PLASTICITY_DEFINITION = 0.99
 YIELD_REASONING = 0.99
 FLOW_RULE_REASONING = 0.99
 HARDENING_REASONING = 0.98
 RETURN_MAPPING_REASONING = 0.99
 CYCLIC_REASONING = 0.98
 LIMIT_ANALYSIS_REASONING = 0.97
 FINITE_ELEMENT_REASONING = 0.99
 FINITE_PLASTICITY_REASONING = 0.97

 POLICY =
  "Reduce confidence when yield criterion, plastic potential, hardening law, loading path, internal variables, increment size, regularisation or finite-strain formulation are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  PlasticityReasoning,
  YieldCriterionReasoning,
  FlowRuleReasoning,
  HardeningReasoning,
  PerfectPlasticityReasoning,
  IsotropicHardeningReasoning,
  KinematicHardeningReasoning,
  CyclicPlasticityReasoning,
  ReturnMappingReasoning,
  LimitAnalysisReasoning,
  PlasticHingeReasoning,
  FiniteElementPlasticityReasoning,
  FinitePlasticityReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "plasticity" -> Plasticity
  "plastic deformation" -> PlasticDeformation
  "yield surface" -> YieldSurface
  "yield criterion" -> YieldCriterion
  "flow rule" -> FlowRule
  "associated flow" -> AssociatedFlowRule
  "isotropic hardening" -> IsotropicHardening
  "kinematic hardening" -> KinematicHardening
  "return mapping" -> ReturnMapping
  "plastic hinge" -> PlasticHinge
 }

 INTERPRETATION_ORDER = [
  detect_plasticity_context,
  identify stress_state_strain_history_material model_and_deformation regime,
  select yield_criterion_flow_rule_and_hardening law,
  perform elastic_trial step,
  evaluate yield_function,
  if_yielded solve plastic_multiplier_and_return_to_surface,
  update plastic_strain_and_internal variables,
  assess cyclic_limit_analysis_or_finite strain effects when relevant,
  validate admissibility_consistency_history_and_numerical convergence,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("plasticity")
  OR irreversible_solid_deformation_after_yield_is_present
  THEN activate(PlasticityOntology)

 E2:
  IF f<0
  THEN classify elastic_state

 E3:
  IF trial_state_has_f>0
  THEN perform plastic_correction

 E4:
  IF associated_plasticity
  THEN set plastic_potential_equal_to_yield_function

 E5:
  IF isotropic_hardening
  THEN update yield_surface_size

 E6:
  IF kinematic_hardening
  THEN update backstress_and_surface position

 E7:
  IF cyclic_loading
  THEN assess Bauschinger_ratcheting_and_shakedown behaviour

 E8:
  IF finite_element analysis
  THEN compute consistent_elastoplastic tangent

 E9:
  IF large_deformation
  THEN route to finite_plasticity formulation
}

RECURSION {
 ENTRY = Plasticity

 EXPAND(Plasticity) -> [
  PlasticDeformation,
  PlasticStrain,
  ElasticStrain,
  TotalStrain,
  Elastoplasticity,
  PerfectPlasticity,
  HardeningPlasticity,
  SofteningPlasticity,
  Yielding,
  YieldSurface,
  YieldFunction,
  YieldCriterion,
  ElasticDomain,
  FlowRule,
  PlasticPotential,
  AssociatedFlowRule,
  NonAssociatedFlowRule,
  PlasticMultiplier,
  KuhnTuckerConditions,
  ConsistencyCondition,
  IsotropicHardening,
  KinematicHardening,
  CombinedHardening,
  BackStress,
  HardeningVariable,
  InternalVariable,
  EquivalentPlasticStrain,
  VonMisesYieldCriterion,
  TrescaYieldCriterion,
  DruckerPragerCriterion,
  MohrCoulombCriterion,
  HillYieldCriterion,
  BauschingerEffect,
  CyclicPlasticity,
  Ratcheting,
  Shakedown,
  PlasticHinge,
  CollapseLoad,
  LimitAnalysis,
  ReturnMapping,
  RadialReturn,
  ConsistentTangentOperator,
  IncrementalPlasticity,
  RateIndependentPlasticity,
  RateDependentPlasticity,
  Viscoplasticity,
  FinitePlasticity,
  SmallStrainPlasticity,
  FiniteElementPlasticity
 ]

 EXPAND(YieldModels) -> [
  VonMisesYieldCriterion,
  TrescaYieldCriterion,
  DruckerPragerCriterion,
  MohrCoulombCriterion,
  HillYieldCriterion
 ]

 EXPAND(HardeningModels) -> [
  PerfectPlasticity,
  IsotropicHardening,
  KinematicHardening,
  CombinedHardening
 ]

 STOP_CONDITION =
  "Stop when yield state, flow rule, hardening law, plastic strain increment, internal-variable evolution, numerical integration and structural implications are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Engineering Mathematics"

 IMMEDIATE_CONTEXTS = [
  "Engineering Mathematics Ontology",
  "Stress Analysis Ontology",
  "Strain Analysis Ontology",
  "Elasticity Ontology"
 ]

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

 ROUTE_RULES = [
  "Plasticity -> Engineering Mathematics for parent semantics",
  "Plasticity -> Stress Analysis for yield-state evaluation",
  "Plasticity -> Strain Analysis for elastic-plastic strain decomposition",
  "Plasticity -> Elasticity for pre-yield constitutive response",
  "Plasticity -> Structural Analysis for plastic hinges and collapse",
  "Plasticity -> Solid and Continuum Mechanics for balance and constitutive structure",
  "Plasticity -> Failure Theory for yield criteria",
  "Plasticity -> Finite Element for incremental constitutive integration",
  "Plasticity -> Materials Science for material-specific hardening behaviour",
  "Plasticity -> Numerical Analysis for return mapping and nonlinear solution"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible yield models, hardening laws or constitutive integration pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve irreversible-deformation semantics.",
  "Preserve elastic-plastic strain decomposition.",
  "Preserve yield-surface semantics.",
  "Preserve flow-rule semantics.",
  "Preserve hardening-model distinctions.",
  "Preserve loading-unloading conditions.",
  "Preserve incremental constitutive-update semantics.",
  "Preserve machine-readable plasticity semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Plasticity is the mathematical theory of irreversible deformation governed by yielding, flow rules and material history."

 YIELD_SUMMARY =
  "Yield criteria define the boundary between elastic and plastically active stress states."

 FLOW_SUMMARY =
  "Plastic strain increments follow a declared flow rule and plastic potential."

 HARDENING_SUMMARY =
  "Hardening laws evolve the yield surface through expansion, translation or combined changes."

 RETURN_MAPPING_SUMMARY =
  "Return-mapping algorithms correct inadmissible elastic trial stresses back to the evolving yield surface."

 CYCLIC_SUMMARY =
  "Cyclic plasticity can produce Bauschinger effects, ratcheting, hysteresis and shakedown."

 STRUCTURAL_SUMMARY =
  "Plastic hinges and limit analysis provide reduced models of structural collapse."

 FEM_SUMMARY =
  "Finite element plasticity updates stress, plastic strain, internal variables and tangent stiffness incrementally at integration points."

 VALIDATION_SUMMARY =
  "Plasticity solutions should be checked for yield admissibility, consistency, history evolution, increment sensitivity and numerical convergence."
}

FLOW {
 INPUT
 -> detect_plasticity_context
 -> identify stress_strain_history_material parameters_loading path_and_deformation regime
 -> select yield_criterion_flow_rule_hardening_or_softening law
 -> compute elastic_trial state
 -> evaluate yield_function
 -> if_elastic accept_trial_state
 -> if_plastic solve plastic_multiplier_and_consistency equation
 -> update stress_plastic_strain_internal variables_and_yield surface
 -> if_cyclic analyse backstress_hysteresis_ratcheting_or_shakedown
 -> if_structural analyse plastic_hinge_or_limit mechanism
 -> if_finiteElement compute consistent_tangent_and_iterative equilibrium
 -> validate admissibility_loading_unloading_history_update_regularisation_and_convergence
 -> route to engineering_mathematics stress_analysis strain_analysis elasticity structural_analysis solid_mechanics continuum_mechanics failure_theory finite_element materials_science_or_numerical_analysis ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Plasticity Ontology defines irreversible deformation of solids after yielding. It supports elastic-plastic strain decomposition, yield surfaces and functions, elastic domains, plastic flow rules and potentials, associated and non-associated plasticity, plastic multipliers, Kuhn-Tucker and consistency conditions, perfect plasticity, isotropic, kinematic and combined hardening, backstress and internal variables, equivalent plastic strain, von Mises, Tresca, Drucker-Prager, Mohr-Coulomb and Hill yield models, cyclic plasticity, Bauschinger effect, ratcheting and shakedown, plastic hinges, limit analysis, return mapping, consistent tangents, rate-independent and rate-dependent plasticity, finite plasticity and finite element constitutive integration."
}

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

}

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