Skip to content

Instantly share code, notes, and snippets.

View ronkok's full-sized avatar

Ron Kok ronkok

  • Lynden, WA, USA
View GitHub Profile
@ronkok
ronkok / EndPlateConnectionExample.md
Last active February 11, 2024 23:10
Example of an end plate connection calculation. Not complete. Not for production.

Steel End Plate Connection![EndPlateConnection][]

¢format = "h3", round result fractions to 3 significant digits.

Get properties of wide flange steel sections:

¢wideFlanges = fetch("https://gist.githubusercontent.com/ronkok/d2ae5b3c74889e71c7bb8422b6017067/raw/AISC-v15-wideFlanges.tsv") = !

Load individual dimensions into variables for the beam and column:

@ronkok
ronkok / steelStrengthPerAISC360-16.hrms
Last active March 7, 2022 16:55
Hurmet module with functions for strength of steel sections per AISC 360-16
# Hurmet functions to find strength of steel beams and columns per AISC 360-16.
# Copyright 2020 - 2022 Ron Kok
# Released under terms of the MIT License, https://opensource.org/licenses/MIT
function Ps(section, Fy, kLx, kLy)
# LRFD axial strength of a steel member, per AISC 360-16 sections B & E
Pcr = criticalAxialStrength(section, Fy, kLx, kLy)
return 0.9 × Pcr
end
@ronkok
ronkok / ParentTrial.hrms
Last active March 3, 2022 22:40
Trial of a Hurmet parent file
# Material data and load criteria for project xxxxx.
# Concrete data
f_c′ = 4500 'psi' # Concrete specified compressive strength
f_c′′ = 4500 'psi²' # Ditto for use when ACI 318 calls for √f_c′
f_yr = 60000 'psi' # Reinforcement yield strength
β_1 = 0.825
ρ_0 = 0.0197 # Maximum reinforcement ratio that may use 0.9 for bending ϕ
ρ_max = 0.0206 # Maximum reinforcement ratio
E_c = 3824 'ksi' # Modulus of elasticity
@ronkok
ronkok / steelStrengthPerAISC360-16.txt
Last active May 1, 2023 02:28
Hurmet module to find strength of steel beams and columns
# Hurmet functions to find strength of steel beams and columns per AISC 360-16.
# Copyright 2020 - 2023 Ron Kok
# Released under terms of the MIT License, https://opensource.org/licenses/MIT
function Ps(section, Fy, kLx, kLy)
# LRFD axial strength of a steel member, per AISC 360-16 sections B & E
# section is a dictionary containing section properties of the column
# Fy is the steel yield stress
# kLx and kLy are the adjusted unbraced length
Pcr = criticalAxialStrength(section, Fy, kLx, kLy)
@ronkok
ronkok / ParentFileExample.txt
Created May 22, 2022 16:53
A file to demonstrate Hurmet imported parameters.
# Material data and load criteria for project xxxxx.
# Concrete data
f_c′ = 4500 'psi' # Concrete specified compressive strength
f_c′′ = 4500 'psi²' # Ditto for use when ACI 318 calls for √f_c′
f_yr = 60000 'psi' # Reinforcement yield strength
β_1 = 0.825
ρ_0 = 0.0197 # Maximum reinforcement ratio that may use 0.9 for bending ϕ
ρ_max = 0.0206 # Maximum reinforcement ratio
E_c = 3824 'ksi' # Modulus of elasticity
@ronkok
ronkok / beam.txt
Last active May 2, 2023 15:40
Hurmet function that renders a beam diagram
# Hurmet module for beam diagram creation.
# function diagram() returns a rendered beam diagram.
# function shearMaximums() returns a vector containing the maximum and minimum shear values
# function momentMaximums() returns a vector containing the maximum and minimum bending moment values
# Copyright 2022 Ron Kok
# Released under terms of the MIT License, https://opensource.org/licenses/MIT
function diagram(diagramInput)
# This function creates a beam diagram.
# It displays a load diagram, a shear diagram, and a moment diagram.
We can make this file beautiful and searchable if this error is corrected: It looks like row 9 should actually have 26 columns, instead of 18. in line 8.
#name weight mass A d bf tw tf kdes Ix Zx Sx rx Iy Zy Sy ry J Cw Wno Sw1 Qf Qw rts T WGi
lbf/ft lbm/ft in² in in in in in in⁴ in³ in³ in in⁴ in³ in³ in in⁴ in⁶ in² in⁴ in³ in³ in in in
W44X335 335 335 98.5 44.0 15.9 1.03 1.77 2.56 31100 1620 1410 17.8 1200 236 150 3.49 74.7 535000 168 1180 278 805 4.24 38 5.5
W44X290 290 290 85.4 43.6 15.8 0.865 1.58 2.36 27000 1410 1240 17.8 1040 205 132 3.49 50.9 461000 166 1040 248 701 4.20 38 5.5
W44X262 262 262 77.2 43.3 15.8 0.785 1.42 2.20 24100 1270 1110 17.7 923 182 117 3.47 37.3 405000 165 928 223 630 4.17 38 5.5
W44X230 230 230 67.8 42.9 15.8 0.710 1.22 2.01 20800 1100 971 17.5 796 157 101 3.43 24.9 346000 165 793 192 547 4.13 38 5.5
W40X655 655 655 193 43.6 16.9 1.97 3.54 4.72 56500 3080 2590 17.1 2870 542 340 3.86 589 1150000 169 2530 529 1530 4.71 34 7.5
W40X593 593 593 174 43.0 16.7 1.79 3.23 4.41 50400 2760 2340 17.0 2520 481 302 3.80 445 997000 166 2240 479 1370 4.63 34 7.5
W40X503 503 503 148 42.1 16.4 1.54 2.76 3.94 41600 2320 1980 16.8 2040 394 249 3.72
We can make this file beautiful and searchable if this error is corrected: It looks like row 8 should actually have 26 columns, instead of 25. in line 7.
#name weight mass A d bf tw tf kdes Ix Zx Sx rx Iy Zy Sy ry J Cw Wno Sw1 Qf Qw rts T WGi
lbf/ft lbm/ft in² in in in in in in⁴ in³ in³ in in⁴ in³ in³ in in⁴ in⁶ in² in⁴ in³ in³ in in in
M12.5X12.4 12.4 12.4 3.63 12.5 3.75 0.155 0.228 0.563 89.3 16.5 14.2 4.96 2.01 1.68 1.07 0.744 0.0493 76.0 11.5 2.46 2.51 8.06 0.933 11.375 0
M12.5X11.6 11.6 11.6 3.40 12.5 3.50 0.155 0.211 0.563 80.3 15.0 12.8 4.86 1.51 1.37 0.864 0.667 0.0414 57.1 10.8 1.99 2.17 7.36 0.852 11.375 0
M12X11.8 11.8 11.8 3.47 12.0 3.07 0.177 0.225 0.563 72.2 14.3 12.0 4.56 1.09 1.15 0.709 0.559 0.0500 37.7 9.04 1.56 1.92 7.02 0.731 10.875 0
M12X10.8 10.8 10.8 3.18 12.0 3.07 0.160 0.210 0.563 66.7 13.2 11.1 4.58 1.01 1.07 0.661 0.564 0.0393 35.0 9.05 1.46 1.80 6.48 0.732 10.875 0
M12X10 10.0 10.0 2.95 12.0 3.25 0.149 0.180 0.500 61.7 12.2 10.3 4.57 1.03 1.02 0.636 0.592 0.0292 35.9 9.60 1.40 1.65 5.98 0.768 11 0
M10X9 9.00 9.00 2.65 10.0 2.69 0.157 0.206 0.563 39.0 9.22 7.79 3.83 0.672 0.809 0.500 0.503 0.0314 16.1 6.59 0.910 1.28 4.52 0.650 8.8
We can make this file beautiful and searchable if this error is corrected: It looks like row 9 should actually have 26 columns, instead of 21. in line 8.
#name weight mass A d bf tw tf kdes Ix Zx Sx rx Iy Zy Sy ry J Cw Wno Sw1 Qf Qw rts T WGi
lbf/ft lbm/ft in² in in in in in in⁴ in³ in³ in in⁴ in³ in³ in in⁴ in⁶ in² in⁴ in³ in³ in in in
HP18X204 204 204 60.2 18.3 18.1 1.13 1.13 2.31 3480 433 380 7.6 1120 191 124 4.31 29.5 82500 77.7 397 82.3 212 5.03 13.5 7.5
HP18X181 181 181 53.2 18 18 1 1 2.18 3020 379 336 7.53 974 167 108 4.28 20.7 70400 76.5 344 72.3 185 4.96 13.5 7.5
HP18X157 157 157 46.2 17.7 17.9 0.87 0.87 2.05 2570 327 290 7.46 833 143 93.1 4.25 13.9 59000 75.3 293 62.3 159 4.92 13.5 7.5
HP18X135 135 135 39.9 17.5 17.8 0.75 0.75 1.93 2200 281 251 7.43 706 122 79.3 4.21 9.12 49500 74.5 249 53.5 136 4.85 13.5 7.5
HP16X183 183 183 54.1 16.5 16.3 1.13 1.13 2.31 2510 349 304 6.81 818 156 100 3.89 26.9 48300 62.2 285 65.4 169 4.55 11.75 5.5
HP16X162 162 162 47.7 16.3 16.1 1 1 2.18 2190 306 269 6.78 697 134 86.6 3.82 18.8 40800 61.6 248 57.8 149 4.45 11.75 5.5
HP16X141 141 141 41.7 16 16 0.875 0.875 2.06 1870 264 234 6.7 599 116 74.9 3.79 12.9 34300 60.5 21
#name weight mass A d b t y yp Ix Zx Sx rx Iy Zy Sy ry ro H
lbf/ft lbm/ft in² in in in in in in⁴ in³ in³ in in⁴ in³ in³ in in
2L12X12X1-3/8 210 210 62.2 12.0 12.0 1.38 3.50 1.30 826 176 97.2 3.64 1590 218 133 5.06 6.84 0.831
2L12X12X1-3/8X3/4 210 210 62.2 12.0 12.0 1.38 3.50 1.30 826 176 97.2 3.64 1760 241 142 5.32 7.03 0.840
2L12X12X1-3/8X1-1/2 210 210 62.2 12.0 12.0 1.38 3.50 1.30 826 176 97.2 3.64 1950 264 153 5.60 7.25 0.850
2L12X12X1-1/4 193 193 56.8 12.0 12.0 1.25 3.45 1.18 762 161 89.2 3.66 1440 196 120 5.04 6.84 0.829
2L12X12X1-1/4X3/4 193 193 56.8 12.0 12.0 1.25 3.45 1.18 762 161 89.2 3.66 1590 217 128 5.29 7.03 0.839
2L12X12X1-1/4X1-1/2 193 193 56.8 12.0 12.0 1.25 3.45 1.18 762 161 89.2 3.66 1760 239 138 5.57 7.24 0.848
2L12X12X1-1/8 174 174 51.6 12.0 12.0 1.13 3.41 1.08 700 147 81.4 3.68 1300 176 108 5.02 6.85 0.827
2L12X12X1-1/8X3/4 174 174 51.6 12.0 12.0 1.13 3.41 1.08 700 147 81.4 3.68 1440 195 116 5.28 7.04 0.837