AI INTERPRETATION NOTE
This Flow Algebra defines the Structural Analysis Ontology within the Kireth Research Semantic Library. Structural analysis studies how engineered structures respond to loads, restraints, deformations and environmental effects. This ontology supports equilibrium, compatibility, constitutive relations, internal forces, stress resultants, trusses, beams, frames, arches, plates, shells, stiffness and flexibility methods, matrix structural analysis, finite element formulations, stability, buckling, vibration, influence lines, indeterminacy, load paths, serviceability, ultimate response and relationships with engineering mathematics, mechanics, materials, optimisation and numerical analysis.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Structural Analysis Ontology"
FLOW_TYPE = "Engineering Mathematics Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Applied Mathematics"
SPECIALISATION = "Engineering Mathematics / Structural Analysis"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/engineering-mathematics/structural-analysis-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = StructuralAnalysis
SYMBOLIC_FORMS = [
"K u = F",
"sum F = 0",
"sum M = 0",
"epsilon = B u",
"sigma = D epsilon"
]
ENTITY_CLASS = StructuralResponseAnalysisFramework
PRIMARY_CONTEXT = EngineeringMathematics
DEFINITION = "Structural analysis is the mathematical determination of reactions, internal forces, stresses, deformations, stability and dynamic response of structures under applied actions and constraints."
SEMANTIC_ROLE = "Provides machine-readable semantics for structural equilibrium, compatibility, constitutive behaviour, load paths, stiffness, flexibility, indeterminacy, buckling, vibration and finite element analysis."
}
SCOPE {
INCLUDE = [
StructuralAnalysis,
Structure,
StructuralSystem,
StructuralMember,
Node,
DegreeOfFreedom,
Support,
Restraint,
Load,
PointLoad,
DistributedLoad,
MomentLoad,
ThermalLoad,
DynamicLoad,
Reaction,
Equilibrium,
Compatibility,
ConstitutiveRelation,
InternalForce,
AxialForce,
ShearForce,
BendingMoment,
Torsion,
NormalStress,
ShearStress,
Strain,
Displacement,
Rotation,
Deflection,
Truss,
Beam,
Frame,
Arch,
Cable,
Plate,
Shell,
Stiffness,
Flexibility,
StiffnessMatrix,
FlexibilityMatrix,
MatrixStructuralAnalysis,
DirectStiffnessMethod,
ForceMethod,
DisplacementMethod,
VirtualWork,
UnitLoadMethod,
EnergyMethod,
CastiglianoTheorem,
PrincipleOfMinimumPotentialEnergy,
InfluenceLine,
StaticIndeterminacy,
KinematicIndeterminacy,
Stability,
Buckling,
EulerBuckling,
GeometricNonlinearity,
MaterialNonlinearity,
StructuralDynamics,
NaturalFrequency,
ModeShape,
Damping,
ModalAnalysis,
FiniteElementMethod,
ElementStiffnessMatrix,
GlobalStiffnessMatrix,
BoundaryCondition,
LoadCombination
]
EXCLUDE_AS_PRIMARY = [
StructuralDesignWithoutAnalysisContext,
MaterialTestingWithoutStructuralSystemContext,
PureContinuumMechanicsWithoutStructuralIdealisation,
ArchitecturalDescriptionWithoutMechanicalAnalysis
]
DISAMBIGUATION_RULE =
"When an engineered load-bearing system is analysed for reactions, internal forces, stresses, deformation, stability or vibration, interpret the context as structural analysis."
}
CORE_CONCEPTS {
StructuralAnalysis {
definition = "The mathematical evaluation of structural response under loads and constraints."
}
Equilibrium {
definition = "Balance of forces and moments acting on a structure or structural part."
}
Compatibility {
definition = "Conditions ensuring deformations and displacements are geometrically consistent."
}
ConstitutiveRelation {
definition = "A material relation connecting stress, strain and possibly other state variables."
}
Stiffness {
definition = "Resistance of a structure or member to deformation under load."
}
Flexibility {
definition = "Deformation response per unit action, conceptually inverse to stiffness in compatible settings."
}
StaticIndeterminacy {
definition = "The number of independent force unknowns beyond those solvable by equilibrium alone."
}
KinematicIndeterminacy {
definition = "The number of independent structural displacement degrees of freedom."
}
Buckling {
definition = "Loss of structural stability under compressive or other destabilising actions."
}
ModalAnalysis {
definition = "The determination of natural frequencies and mode shapes of a structural system."
}
}
RELATIONS {
StructuralAnalysis --is_child_of--> EngineeringMathematics
Structure --contains--> StructuralMember
StructuralMember --connects_at--> Node
Node --has--> DegreeOfFreedom
Support --constrains--> DegreeOfFreedom
Load --acts_on--> Structure
Equilibrium --determines--> ReactionAndInternalForce
Compatibility --constrains--> Displacement
ConstitutiveRelation --relates--> StressAndStrain
InternalForce --includes--> AxialForce
InternalForce --includes--> ShearForce
InternalForce --includes--> BendingMoment
StiffnessMatrix --relates--> NodalForceAndDisplacement
DirectStiffnessMethod --assembles--> GlobalStiffnessMatrix
ForceMethod --uses--> Flexibility
DisplacementMethod --uses--> Stiffness
VirtualWork --computes--> Displacement
InfluenceLine --represents--> ResponseToMovingLoad
Buckling --is_type_of--> StabilityLoss
ModalAnalysis --produces--> NaturalFrequency
ModalAnalysis --produces--> ModeShape
FiniteElementMethod --discretises--> StructuralSystem
}
OPERATORS {
STATIC_EQUILIBRIUM_FORCE(F_i) :=
sum(F_i)=0
STATIC_EQUILIBRIUM_MOMENT(M_i) :=
sum(M_i)=0
LINEAR_STRUCTURAL_SYSTEM(K,u,F) :=
K*u=F
FLEXIBILITY_SYSTEM(f,F,u) :=
u=f*F
STRAIN_DISPLACEMENT(B,u) :=
epsilon=B*u
STRESS_STRAIN(D,epsilon) :=
sigma=D*epsilon
ELEMENT_STIFFNESS(B,D,Omega) :=
K_e=integral_Omega B^T*D*B dOmega
GLOBAL_ASSEMBLY(K_e) :=
K_global=assemble(K_e)
EULER_BUCKLING_LOAD(E,I,L,Kfactor) :=
P_cr=pi^2*E*I/(Kfactor*L)^2
FREE_VIBRATION(M,C,K,u) :=
M*u_ddot + C*u_dot + K*u = 0
UNDAMPED_EIGENPROBLEM(K,M,phi,omega) :=
(K-omega^2*M)*phi=0
VIRTUAL_WORK(deltaW_ext,deltaW_int) :=
deltaW_ext=deltaW_int
}
DEFINITIONS {
D1 = "Structural analysis combines equilibrium, compatibility and constitutive behaviour."
D2 = "Reactions are forces and moments developed by supports."
D3 = "Internal forces include axial force, shear, bending moment and torsion."
D4 = "Statically determinate structures can be solved by equilibrium alone."
D5 = "Statically indeterminate structures require deformation compatibility or equivalent relations."
D6 = "The stiffness method solves for displacements before recovering forces."
D7 = "The force method solves selected redundant actions using flexibility relations."
D8 = "Buckling is a stability phenomenon and is not equivalent to material yielding."
D9 = "Modal analysis decomposes linear dynamic response into natural modes."
D10 = "Finite element analysis approximates structural fields using discrete elements and degrees of freedom."
}
AXIOMS {
A1_EQUILIBRIUM:
Structural response must satisfy force and moment equilibrium
A2_COMPATIBILITY:
Structural deformations must satisfy geometric compatibility
A3_CONSTITUTIVE_BEHAVIOUR:
Internal stress resultants depend on declared material constitutive relations
A4_BOUNDARY_CONDITIONS:
Supports and restraints determine admissible structural degrees of freedom
A5_LINEAR_STIFFNESS:
Linear structural analysis assumes force-displacement proportionality within the declared model
A6_STABILITY:
Equilibrium alone does not guarantee structural stability
A7_DYNAMIC_INERTIA:
Structural dynamics includes inertia and may include damping
A8_DISCRETISATION:
Finite element results depend on element formulation mesh and boundary representation
}
REASONING {
R1_STRUCTURAL_CONTEXT {
INPUT = structural_problem
IDENTIFY = members_nodes_supports_materials
IDENTIFY = loads_and_load combinations
IDENTIFY = analysis_type
RETURN = structural_context
}
R2_IDEALISATION {
INPUT = physical_structure
SELECT = truss_beam_frame_arch_cable_plate_shell_or_continuum idealisation
DEFINE = degrees_of_freedom
RETURN = structural_model
}
R3_DETERMINACY_REASONING {
INPUT = structural_model
COMPUTE = static_and_kinematic indeterminacy
RETURN = determinacy_profile
}
R4_STATIC_ANALYSIS {
INPUT = structure_loads_supports
ENFORCE = equilibrium
ENFORCE = compatibility_if_indeterminate
APPLY = constitutive_relations
RETURN = reactions_internal_forces_displacements
}
R5_STIFFNESS_REASONING {
INPUT = element_properties_and_connectivity
COMPUTE = element_stiffness matrices
ASSEMBLE = global_stiffness
APPLY = boundary_conditions_and_loads
SOLVE = nodal_displacements
RECOVER = member_forces
RETURN = stiffness_solution
}
R6_FLEXIBILITY_REASONING {
INPUT = redundant_force system
COMPUTE = flexibility_coefficients
ENFORCE = compatibility
SOLVE = redundants
RETURN = force_method_solution
}
R7_STABILITY_REASONING {
INPUT = compressed_or_geometrically_sensitive structure
FORM = tangent_or_geometric stiffness
COMPUTE = critical_load_or_eigenvalue
RETURN = buckling_profile
}
R8_DYNAMIC_REASONING {
INPUT = M_C_K_and_dynamic loads
COMPUTE = natural_frequencies_and_modes
SOLVE = modal_or_direct_time response
RETURN = dynamic_response
}
R9_FINITE_ELEMENT_REASONING {
INPUT = geometry_materials_elements_and_mesh
FORMULATE = element_matrices
ASSEMBLE = global_system
SOLVE = unknown_DOFs
POSTPROCESS = stresses_forces_displacements
RETURN = finite_element_solution
}
R10_VALIDATION {
INPUT = structural_result
CHECK = equilibrium_compatibility_boundary_conditions_mesh convergence_and_physical plausibility
RETURN = validated_structural_status
}
}
CONSTRAINTS {
C1 = "Structural idealisation must match the dominant physical behaviour."
C2 = "Linear analysis may be invalid when geometric or material nonlinearities are significant."
C3 = "Static determinacy depends on structural topology and restraint conditions."
C4 = "Stiffness matrices must be assembled using consistent coordinate transformations."
C5 = "Support conditions strongly affect reactions, modes and buckling loads."
C6 = "Euler buckling applies only under its slender-member and idealisation assumptions."
C7 = "Finite element mesh refinement should be checked."
C8 = "Singular stiffness matrices can indicate mechanisms or inadequate restraints."
C9 = "Stress concentrations can require local modelling refinement."
C10 = "Dynamic response depends on mass distribution, damping and load time history."
}
SEMANTIC_EQUIVALENCE {
"StructuralAnalysis" <=> "StructuralMechanicsAnalysis"
"DirectStiffnessMethod" <=> "MatrixStiffnessMethod"
"ForceMethod" <=> "FlexibilityMethod"
"DisplacementMethod" <=> "StiffnessMethod"
"StaticIndeterminacy" <=> "ForceIndeterminacy"
"KinematicIndeterminacy" <=> "DisplacementIndeterminacy"
}
VALIDATION {
V1 = "Structural geometry and member connectivity are explicit."
V2 = "Supports and degrees of freedom are correctly represented."
V3 = "Loads and load combinations are explicit."
V4 = "Material and section properties are documented."
V5 = "Global equilibrium is satisfied."
V6 = "Compatibility is satisfied."
V7 = "Boundary conditions are enforced correctly."
V8 = "Stability checks are separated from strength checks."
V9 = "Modal and dynamic results use correct mass and damping models."
V10 = "Finite element results are checked for mesh convergence and equilibrium."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
STRUCTURAL_ANALYSIS_DEFINITION = 0.99
IDEALISATION_REASONING = 0.99
DETERMINACY_REASONING = 0.98
STATIC_ANALYSIS_REASONING = 0.99
STIFFNESS_REASONING = 0.99
FLEXIBILITY_REASONING = 0.98
STABILITY_REASONING = 0.98
DYNAMIC_REASONING = 0.98
FINITE_ELEMENT_REASONING = 0.99
POLICY =
"Reduce confidence when geometry, connectivity, support conditions, material properties, section properties, loading, nonlinear effects, mass distribution, damping or mesh convergence are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
StructuralAnalysisReasoning,
StructuralIdealisationReasoning,
EquilibriumReasoning,
CompatibilityReasoning,
InternalForceReasoning,
StiffnessMethodReasoning,
FlexibilityMethodReasoning,
TrussReasoning,
BeamReasoning,
FrameReasoning,
PlateShellReasoning,
BucklingReasoning,
ModalAnalysisReasoning,
StructuralDynamicsReasoning,
FiniteElementReasoning,
InfluenceLineReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"structural analysis" -> StructuralAnalysis
"matrix stiffness method" -> DirectStiffnessMethod
"direct stiffness method" -> DirectStiffnessMethod
"force method" -> ForceMethod
"flexibility method" -> ForceMethod
"displacement method" -> DisplacementMethod
"static indeterminacy" -> StaticIndeterminacy
"kinematic indeterminacy" -> KinematicIndeterminacy
"modal analysis" -> ModalAnalysis
"structural dynamics" -> StructuralDynamics
}
INTERPRETATION_ORDER = [
detect_structural_analysis_context,
identify geometry_members_nodes_supports_materials_sections_and_loads,
select structural idealisation_and_degrees_of_freedom,
determine determinacy_and_analysis type,
enforce equilibrium_compatibility_and_constitutive behaviour,
select stiffness_flexibility_energy_virtualWork_FEM_or_dynamic pathway,
compute reactions_internal forces_displacements_stresses_and_modes,
assess buckling_stability_or_nonlinearity when relevant,
validate equilibrium_boundary conditions_and_mesh convergence,
return semantic output
]
}
EXECUTION_RULES {
E1:
IF query_mentions("structural analysis")
OR engineered_structure_response_is_under_analysis
THEN activate(StructuralAnalysisOntology)
E2:
IF truss_system
THEN use axial_member idealisation
E3:
IF beam_or_frame
THEN include bending_shear_and_axial behaviour as appropriate
E4:
IF statically_indeterminate
THEN require compatibility_or_stiffness/flexibility reasoning
E5:
IF matrix_method_requested
THEN route to DirectStiffnessMethod
E6:
IF compressive_member_or_frame_stability relevant
THEN perform buckling analysis
E7:
IF dynamic_loading
THEN include mass_damping_and_modal response
E8:
IF continuum_or_complex_geometry
THEN consider FiniteElementMethod
E9:
IF large_displacement_or_material_non_linearity
THEN activate nonlinear_structural analysis
}
RECURSION {
ENTRY = StructuralAnalysis
EXPAND(StructuralAnalysis) -> [
Structure,
StructuralSystem,
StructuralMember,
Node,
DegreeOfFreedom,
Support,
Restraint,
Load,
Reaction,
Equilibrium,
Compatibility,
ConstitutiveRelation,
InternalForce,
AxialForce,
ShearForce,
BendingMoment,
Torsion,
Stress,
Strain,
Displacement,
Rotation,
Deflection,
Truss,
Beam,
Frame,
Arch,
Cable,
Plate,
Shell,
Stiffness,
Flexibility,
StiffnessMatrix,
FlexibilityMatrix,
MatrixStructuralAnalysis,
DirectStiffnessMethod,
ForceMethod,
DisplacementMethod,
VirtualWork,
UnitLoadMethod,
CastiglianoTheorem,
InfluenceLine,
StaticIndeterminacy,
KinematicIndeterminacy,
Stability,
Buckling,
StructuralDynamics,
NaturalFrequency,
ModeShape,
Damping,
ModalAnalysis,
FiniteElementMethod,
GlobalStiffnessMatrix
]
EXPAND(StructuralSystems) -> [
Truss,
Beam,
Frame,
Arch,
Cable,
Plate,
Shell
]
EXPAND(AnalysisMethods) -> [
EquilibriumMethod,
ForceMethod,
DisplacementMethod,
DirectStiffnessMethod,
VirtualWork,
EnergyMethod,
FiniteElementMethod,
ModalAnalysis
]
STOP_CONDITION =
"Stop when structural idealisation, loading, supports, equilibrium, compatibility, stiffness or flexibility, internal actions, deformation, stability, dynamic response and validation are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Engineering Mathematics"
IMMEDIATE_CONTEXTS = [
"Engineering Mathematics Ontology",
"Mechanics Ontologies",
"Finite Element Ontology",
"Stability Ontologies"
]
RELATED_ONTOLOGIES = [
"Engineering Mathematics",
"Engineering Mathematics Ontology",
"Mechanics Ontologies",
"Solid Mechanics Ontologies",
"Elasticity Ontologies",
"Strength of Materials Ontologies",
"Finite Element Ontology",
"Linear Algebra Ontologies",
"Eigenvalue Ontologies",
"Differential Equation Ontologies",
"Optimisation Ontologies",
"Numerical Analysis Ontologies",
"Structural Dynamics Ontologies"
]
ROUTE_RULES = [
"Structural Analysis -> Engineering Mathematics for parent semantics",
"Structural Analysis -> Mechanics for force and motion laws",
"Structural Analysis -> Solid Mechanics for stress-strain behaviour",
"Structural Analysis -> Elasticity for deformable continuum behaviour",
"Structural Analysis -> Linear Algebra for matrix stiffness systems",
"Structural Analysis -> Eigenvalue Analysis for buckling and vibration",
"Structural Analysis -> Finite Element for discretised complex structures",
"Structural Analysis -> Optimisation for structural sizing and topology decisions",
"Structural Analysis -> Numerical Analysis for iterative and nonlinear solution"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible structural systems, analysis methods or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve equilibrium semantics.",
"Preserve compatibility semantics.",
"Preserve constitutive-relation semantics.",
"Preserve force-versus-displacement method distinction.",
"Preserve determinate-versus-indeterminate distinction.",
"Preserve static-versus-dynamic distinction.",
"Preserve strength-versus-stability distinction.",
"Preserve machine-readable structural-analysis semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"Structural analysis determines reactions, internal forces, stresses, deformations, stability and dynamic response of structures under loads and constraints."
EQUILIBRIUM_SUMMARY =
"Structural response must satisfy global and local force and moment equilibrium."
COMPATIBILITY_SUMMARY =
"Displacements and deformations must satisfy geometric compatibility."
STIFFNESS_SUMMARY =
"The stiffness method relates structural forces to degrees of freedom through assembled stiffness matrices."
FORCE_METHOD_SUMMARY =
"The force method solves redundant actions using flexibility and compatibility relations."
STABILITY_SUMMARY =
"Buckling analysis determines loss of structural stability under destabilising loads."
DYNAMIC_SUMMARY =
"Structural dynamics uses mass, damping and stiffness to determine natural modes and time-dependent response."
FEM_SUMMARY =
"Finite element analysis discretises complex structural systems into elements and nodal degrees of freedom."
VALIDATION_SUMMARY =
"Structural-analysis results should be checked for equilibrium, compatibility, boundary conditions, stability and numerical convergence."
}
FLOW {
INPUT
-> detect_structural_analysis_context
-> identify structure_members_nodes_supports_materials_sections_loads_and_load combinations
-> choose truss_beam_frame_arch_cable_plate_shell_or_FEM idealisation
-> define degrees_of_freedom_and_boundary conditions
-> determine static_and_kinematic indeterminacy
-> enforce equilibrium_compatibility_and_constitutive relations
-> select equilibrium_force_displacement_stiffness_energy_virtualWork_modal_or_FEM pathway
-> compute reactions_internal forces_stresses_displacements_and_rotations
-> if_stability_required compute buckling_or_geometric stiffness
-> if_dynamic compute natural frequencies_modes_and_forced response
-> validate global equilibrium_compatibility_boundary conditions_mesh convergence_and_physical plausibility
-> route to engineering_mathematics mechanics solid_mechanics elasticity finite_element linear_algebra eigenvalue differential_equations optimisation_or_numerical_analysis ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Structural Analysis Ontology defines mathematical structural response under actions and restraints. It supports loads, reactions, equilibrium, compatibility, constitutive relations, axial force, shear, bending, torsion, stress, strain, displacement, trusses, beams, frames, arches, cables, plates and shells, stiffness and flexibility methods, direct stiffness and force methods, virtual work, energy methods, influence lines, static and kinematic indeterminacy, buckling, geometric and material nonlinearity, structural dynamics, modal analysis and finite element analysis."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-APPLIED-MATHEMATICS-STRUCTURAL-ANALYSIS-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard