Refine beam section figure and derive As from bars

- Derive As from the provided longitudinal bars instead of taking it as
  input; drop the redundant As_bars output and update tests.
- Draw a fixed schematic 1 in cover and pin the bottom bars to the
  stirrup's bottom leg so the figure no longer depends on cover or d.
- Fixed stirrup stroke with a rounded 3 pt corner radius.
- Right-align the figure, constrain its caption to the image width, and
  shorten the caption to "Beam cross-section".
- Document input.yaml fields.
This commit is contained in:
smillmorel 2026-09-21 19:16:57 -04:00
commit 759d5e3bae
8 changed files with 638 additions and 680 deletions

View file

@ -40,13 +40,10 @@ Simple-span rectangular beam under uniform gravity load. Numbers come from `calc
== Section and Reinforcement
#figure(
#align(right, block(width: 2.5in, figure(
beam-section(),
caption: [
Beam cross-section: #n.bw in × #n.h in, No. #n.stirrup_size stirrups at #n.stirrup_spacing in
on center, and #n.n_bars No. #n.bar_size longitudinal bars (A_s = #n.As in²).
],
)
caption: [Beam cross-section],
)))
== Loads and Beam Demand
@ -75,7 +72,7 @@ Simple-span rectangular beam under uniform gravity load. Numbers come from `calc
#calcline([$d = #n.d " in"$], [Effective depth])
#calcline([$f'_c = #n.fc " ksi"$], [Concrete compressive strength])
#calcline([$f_y = #n.fy " ksi"$], [Steel yield strength])
#calcline([$A_s = #n.As " in"^2$], [Provided tension steel (2 No. 5)])
#calcline([$A_s = #n.As " in"^2$], [Provided tension steel (#n.n_bars No. #n.bar_size)])
#calcline(
[$a = A_s f_y / (0.85 f'_c b_w) = #round(n.a, digits: 3) " in"$],
[Equivalent compression-block depth],