Closed Form Exact ASCE Wind Calculations
Five years back, I developed a Python function to calculate closed form exact values for wind forces and wind CGs.
I use only calculus — no more bar charts with 0′ to 15′, 20′ to 25′, 25′ to 30′, et cetera —- a curve rather than a step function.
The ASCE function for kz is discontinuous at z = 15′:
- when , , a constant
- when ,
Function Specification
We must simply integrate over the two domains . Of course, my function is called only once, internally the function incorporates the two domains.
- n: allows calculation for say n=3 identical tributary areas (or lines)
- xbasis: allows determining moment about a vertical offset, say an xbasis = 5′ to the left
- ybasis: allows determining moment about a horizontal offset, say a ybasis = 20′ elevation (maybe calculating a vessel supported on lugs)
- x1, y1: starting coordinate of tributary line (diagonal lines are allowed)
- x2, y2: ending coordinate of tributary line (diagonal lines are allowed)
- w: width of tributary area (or line)
- To model a W10 truss diagonal say 13′ long on a 5:12 slope
- Set (x1, y1, x2, y2, w) = (0, 0, 12, 5, 0.833)
- cf: ASCE force coefficient
- v: wind velocity
- i: importance factor (now 1.0 in ASCE 7/16)
- g: gust factor
- kd: directionality factor
- datum=0: grade elevation (default=0, user specified otherwise)
- (datum specification allows use of real world elevations)
Function Usage
These days, I still use my function:
- with straight Python (works very well)
- with CoCalc (works very well using SageMath)
- with PyXLL as an Excel function (works very well)
Tributary loadings for the working points of a structure are easily calculated
The function allows calculation of loads on all types of geometries including:
- rectangular/cylindrical
- closed/open
Reference PDFs
Derivation
ASCE Wind Integration Derivation 11192016KLH.pdf
Example — by hand calculation
ASCE Wind Integration Examples 06132021KLH.pdf
Example — above hand calculations are verified using Cocalc/Jupyter/SageMath
Tributary Loading
See list of all ASCE posts.