Skip to content

Instantly share code, notes, and snippets.

@jsb2505
Last active June 15, 2023 10:09
Show Gist options
  • Save jsb2505/b91b86c86973de1b356eefa6fe6e0183 to your computer and use it in GitHub Desktop.
Save jsb2505/b91b86c86973de1b356eefa6fe6e0183 to your computer and use it in GitHub Desktop.
A module of masonry functions for excel AFE
Get_Shape_Factor = LAMBDA(height_of_unit, width_of_unit,
LET(
h, height_of_unit,
w, width_of_unit,
widths, {50, 100, 150, 200, 250},
heights, {40, 50, 65, 100, 150, 200, 250},
shape_factors,
{
0.80, 0.70, "", "", "";
0.85, 0.75, 0.70, "", "";
0.95, 0.85, 0.75, 0.70, 0.65;
1.15, 1.00, 0.90, 0.80, 0.75;
1.30, 1.20, 1.10, 1.00, 0.95;
1.45, 1.35, 1.25, 1.15, 1.10;
1.55, 1.45, 1.35, 1.25, 1.15
},
min_w_index, MIN(MATCH(w, widths),COLUMNS(widths) - 1),
max_w_index, min_w_index + 1,
min_h_index, MIN(MATCH(h, heights),COLUMNS(heights) - 1),
max_h_index, min_h_index + 1,
min_w, INDEX(widths, min_w_index),
max_w, INDEX(widths, max_w_index),
min_h, INDEX(heights, min_h_index),
max_h, INDEX(heights, max_h_index),
min_h_min_w_shape, INDEX(shape_factors, min_h_index, min_w_index),
max_h_min_w_shape, INDEX(shape_factors, max_h_index, min_w_index),
min_h_max_w_shape, INDEX(shape_factors, min_h_index, max_w_index),
max_h_max_w_shape, INDEX(shape_factors, max_h_index, max_w_index),
w_range, MIN((w - min_w) / (max_w - min_w), 1),
h_range, MIN((h - min_h) / (max_h - min_h), 1),
interpolated_min_w, min_h_min_w_shape - (w_range * (min_h_min_w_shape - min_h_max_w_shape)),
interpolated_max_w, max_h_min_w_shape- (w_range * (max_h_min_w_shape - max_h_max_w_shape)),
h_range * (interpolated_max_w - interpolated_min_w) + interpolated_min_w
)
);
Get_Initial_Shear_Strength = LAMBDA(masonry_type, mortar_class,
LET(
f_vk0, {0.1, 0.2, 0.2, 0.3; 0.1, 0.15, 0.15, 0.2; 0.1, 0.15, 0.15, 0.2},
masonry_index, IFS(
masonry_type = "Clay",
1,
masonry_type = "Calcium Silicate",
2,
masonry_type = "Concrete or stone",
3
),
mortar_index, IFS(
mortar_class = "M2",
1,
mortar_class = "M4",
2,
mortar_class = "M6",
3,
mortar_class = "M12",
4
),
shear_strength, INDEX(f_vk0, masonry_index, mortar_index),
shear_strength
)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment