Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CCWallPressures

ASCE 7-22 Components and Cladding (C&C) wall wind pressures for low-rise buildings, per Chapter 30, Part 1 (Section 30.3, Figure 30.3-1).

Given the basic wind speed, exposure, building geometry, and roof slope, the package returns Zone 4 (field) and Zone 5 (corner) net design pressures versus effective wind area, for enclosed rigid buildings. This is a pure calculation library: no inputs, printing, or file I/O.

Scope

  • Part 1 (low-rise) method only. Applies when h <= 60 ft and h is not greater than the least horizontal building dimension. Both are validated and the function errors otherwise. Use the Part 2/3 methods for taller buildings.
  • Any roof slope. The Figure 30.3-1 Note 5 rule for theta <= 10 deg (10 % reduction in GCp, and h taken as eave height) is applied automatically.
  • Enclosed buildings, GCpi = +/- 0.18 (Table 26.13-1).
  • Directionality Kd = 0.85 by default (Table 26.6-1, C&C). Kzt and Ke default to 1.0 and can be overridden.
  • The Section 30.2.2 minimum of 16 psf (strength level) is applied by default.
  • design_code must be given as "LRFD" (strength level) or "ASD". ASD pressures are the strength-level pressures, after the minimum, times 0.6 (Section 2.4.1).

Installation

The package is registered in the RunToSolve Julia registry. Add the registry once, then add the package:

using Pkg
Pkg.Registry.add(RegistrySpec(url = "https://github.com/runtosolve/RunToSolveJuliaRegistry"))
Pkg.add("CCWallPressures")

Usage

using CCWallPressures

out = compute_cc_wall_pressures(
    V = 131.0,                    # basic wind speed, mph
    exposure = "C",               # "B", "C", or "D"
    h = 50.49,                    # roof height, ft (eave height when theta <= 10 deg)
    long_dim = 236.25,            # plan dimensions, ft
    short_dim = 121.25,
    roof_slope_rise_per_12 = 0.25,
    design_code = "ASD",          # or "LRFD"
)

out.qh                              # velocity pressure at h, psf
out.corner_zone_width               # Zone 5 corner width a, ft
out.zone5_gcp_neg[1].p_governing    # -35.18 psf: Zone 5 design suction at A = 10 ft^2

Optional keywords: risk_category = "II" (echoed only), Kd = 0.85, Kzt = 1.0, Ke = 1.0, apply_min = true, and effective_wind_areas = [10.0, 20.0, 50.0, 100.0, 200.0, 500.0].

Printing a table:

for r in out.zone5_gcp_neg
    println(rpad(r.A, 6), " ft^2   GCp = ", round(r.GCp, digits = 3),
            "   p = ", round(r.p_governing, digits = 1), " psf (", r.governing_gcpi, ")")
end

Output

compute_cc_wall_pressures returns a NamedTuple. The four pressure tables are

Field Curve
zone4_gcp_pos Zone 4 (field), positive GCp, inward pressure
zone4_gcp_neg Zone 4 (field), negative GCp, suction
zone5_gcp_pos Zone 5 (corner), positive GCp, inward pressure
zone5_gcp_neg Zone 5 (corner), negative GCp, suction

Each table is a vector of rows, one per effective wind area, with fields

Field Meaning
A effective wind area, ft^2
GCp external pressure coefficient at A, Note 5 reduction included
p_gcpi_pos net pressure with internal pressure +GCpi, psf
p_gcpi_neg net pressure with internal pressure -GCpi, psf
p_governing whichever of the two has the larger magnitude, sign kept, psf
governing_gcpi "+GCpi" or "-GCpi", the case that produced p_governing

The suffix on p_gcpi_pos and p_gcpi_neg is the sign of the internal pressure coefficient, not the sign of the result. On a suction curve both values are negative and p_gcpi_pos is the more negative, because outward internal pressure adds to external suction. For design, use p_governing.

Other fields: theta_deg, low_slope, gcp_reduction_factor, h_label, qh, Kh, corner_zone_width, design_code, and every resolved input.

GCp varies log-linearly with area between 10 and 500 ft^2 and is constant outside that range. Positive GCp runs from 1.0 to 0.7 for both zones; negative GCp runs from -1.1 to -0.8 in Zone 4 and from -1.4 to -0.8 in Zone 5.

Tests

using Pkg
Pkg.test("CCWallPressures")

The suite covers every branch of every function, including the exposure constants, the Kz height clamps, GCp interpolation and clamping, the 16 psf minimum, the corner-zone width and its 0.8h exception, the Note 5 low-slope reduction, ASD versus LRFD, and input validation.

References

ASCE/SEI 7-22, Minimum Design Loads and Associated Criteria for Buildings and Other Structures. Chapter 26 (Tables 26.6-1, 26.10-1, 26.11-1, 26.13-1), Section 30.2.2, Section 30.3 and Figure 30.3-1.

License

MIT. See LICENSE.

About

ASCE 7-22 Components and Cladding wall wind pressures, Ch. 30 Part 1 (low-rise), Fig. 30.3-1 Zones 4 and 5

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages