Class StructuralLoadPath

java.lang.Object
org.episteme.social.architecture.StructuralLoadPath

public final class StructuralLoadPath extends Object
Analytical tool for tracing and evaluating structural load paths within a building. It simulates how forces travel from points of application through beams, columns, and slabs down to the foundation.
  • Method Details

    • traceLoadPath

      Traces the logical sequence of members that transmit a load down to the foundation level.
      Parameters:
      members - list of all available structural members
      load - the applied load to trace
      Returns:
      list of members in the order of load transmission
    • calculateReactions

      public static Map<String,double[]> calculateReactions(List<StructuralLoadPath.StructuralMember> members, List<StructuralLoadPath.AppliedLoad> loads, List<String> supportIds)
      Calculates reactions at support points for a set of applied loads using equilibrium. Simplified model assuming equal distribution among identical supports.
      Parameters:
      members - all structural members
      loads - all applied loads
      supportIds - list of IDs for foundation/support points
      Returns:
      map of support IDs to reaction force vectors [Fx, Fy, Fz]
    • checkMemberCapacity

      public static boolean checkMemberCapacity(StructuralLoadPath.MemberForce forces, double yieldStrength, double safetyFactor)
      Verifies if a member's internal stress exceeds its capacity, considering both axial and bending stresses.
      Parameters:
      forces - internal forces on the member
      yieldStrength - material yield strength in MPa
      safetyFactor - factor of safety (e.g., 1.5)
      Returns:
      true if the member is structurally adequate
    • generateFBD

      public static String generateFBD(StructuralLoadPath.StructuralMember member, List<StructuralLoadPath.MemberForce> allForces)
      Generates a structural summary (Free Body Diagram data) for a member.
      Parameters:
      member - the member to describe
      allForces - list of calculated forces
      Returns:
      formatted string description
    • slabLoadDistribution

      public static Map<String,Real> slabLoadDistribution(double slabLoad, double slabLength, double slabWidth, List<StructuralLoadPath.StructuralMember> beams)
      Distributes a surface load from a slab to supporting beams using tributary area principles.
      Parameters:
      slabLoad - pressure in kN/m²
      slabLength - length in meters
      slabWidth - width in meters
      beams - available supporting beams
      Returns:
      map of beam IDs to total distributed load in kN