Class WindLoadCalculator

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

public final class WindLoadCalculator extends Object
Analytical tool for calculating wind loads on architectural structures in accordance with Eurocode 1 (EN 1991-1-4). It accounts for terrain roughness, orography, turbulence, and structural coefficients.
  • Method Details

    • basicWindVelocity

      public static Real basicWindVelocity(double vb0, double directionalFactor, double seasonFactor)
      Calculates the basic wind velocity (Vb) based on regional fundamental velocity and local modification factors. Formula: Vb = Cdir * Cseason * Vb_0
      Parameters:
      vb0 - fundamental basic wind velocity (m/s)
      directionalFactor - directional modification factor (Cdir)
      seasonFactor - seasonal modification factor (Cseason)
      Returns:
      basic wind velocity as a Real
    • meanWindVelocity

      public static Real meanWindVelocity(Real basicVelocity, Quantity<Length> height, WindLoadCalculator.TerrainCategory terrain, double orographyFactor)
      Calculates the mean wind velocity (Vm) at a specific height (z) above ground. Formula: Vm(z) = Cr(z) * Co(z) * Vb
      Parameters:
      basicVelocity - (Vb) the basic wind velocity
      height - (z) the height above ground
      terrain - the terrain roughness category
      orographyFactor - orography factor (Co) (usually 1.0 for flat terrain)
      Returns:
      mean wind velocity (m/s)
    • peakVelocityPressure

      public static Real peakVelocityPressure(Real meanVelocity, Quantity<Length> height, WindLoadCalculator.TerrainCategory terrain, double airDensity)
      Calculates the peak velocity pressure (Qp) at a given height, accounting for mean velocity and turbulence. Formula: Qp(z) = [1 + 7*Iv(z)] * 0.5 * rho * Vm^2(z)
      Parameters:
      meanVelocity - (Vm) the mean wind velocity at height z
      height - (z) the height above ground
      terrain - the terrain category
      airDensity - the density of air (typical 1.25 kg/m3)
      Returns:
      peak pressure in Pascals (N/m2)
    • windForce

      public static Real windForce(Real peakPressure, double referenceArea, double structuralFactor, double forceCoefficient)
      Calculates the total wind force (Fw) acting on a surface area. Formula: Fw = Cs * Cd * Cf * Qp * Aref
      Parameters:
      peakPressure - (Qp) the calculated peak pressure at the reference height
      referenceArea - (Aref) the total wind-exposed area in square meters
      structuralFactor - (Cs * Cd) structural dynamic factor (typically 1.0)
      forceCoefficient - (Cf) external force coefficient or pressure coefficient
      Returns:
      total wind force in Newtons (N)
    • getForceCoefficient

      public static double getForceCoefficient(String shape, double aspectRatio)
      Retrieves standard external force coefficients (Cf) for various building shapes.
      Parameters:
      shape - the geometric shape (e.g., "rectangular", "circular")
      aspectRatio - ratio of height to width
      Returns:
      the shape's force coefficient
    • referenceHeight

      public static Real referenceHeight(Quantity<Length> buildingHeight, Quantity<Length> buildingWidth, boolean windward)
      Determines the legislative reference height for wind pressure calculations based on building proportions.
      Parameters:
      buildingHeight - total height of the building
      buildingWidth - total width of the building
      windward - whether the point is on the windward side
      Returns:
      reference height in meters