Skip to content

Instantly share code, notes, and snippets.

@jsb2505
Last active August 7, 2023 16:20
Show Gist options
  • Save jsb2505/50e4de377b5f5c3876cfaaf2a94fdca4 to your computer and use it in GitHub Desktop.
Save jsb2505/50e4de377b5f5c3876cfaaf2a94fdca4 to your computer and use it in GitHub Desktop.
A module of steel connection functions for Excel's AFE
/**
Calculates alpha as given by Appendix G in SCI P398.
Note: always omit last optional parameter
*/
Get_Alpha = LAMBDA(m, m_2, e, [alpha_DONT_INPUT],
LET(
lambda_1, m / (m + e),
lambda_2, m_2 / (m + e),
alpha, IF(ISOMITTED(alpha_DONT_INPUT), 4.45, alpha_DONT_INPUT),
lambda_1_temp, Get_Lambda_1(alpha, lambda_2),
step, 0.005,
IF((lambda_1 / lambda_1_temp) < 1, Get_Alpha(m, m_2, e, alpha + step), MIN(alpha, 8))
)
);
/**
Helper function for Get_Alpha
*/
Get_Lambda_1 = LAMBDA(alpha, lambda_2,
LET(
lambda_1_lim, 1.25 / (alpha - 2.75),
lambda_2_lim, alpha * lambda_1_lim / 2,
IF(
lambda_2 >= lambda_2_lim,
lambda_1_lim,
lambda_1_lim +
(1 - lambda_1_lim) *
((lambda_2_lim - lambda_2) / lambda_2_lim) ^ (0.185 * alpha ^ 1.785)
)
)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment