#import "assets/sheet.typ": calcline, calcsheet, check #let data = json("results.json") #let n = data.values #let checks = data.checks #let round(value, digits: 2) = calc.round(value, digits: digits) #show: calcsheet.with( title: "Concrete Beam Analysis", project: data.project, prepared-by: data.prepared_by, ) = Reinforced Concrete Beam Simple-span rectangular beam under uniform gravity load. Numbers come from `calc.py`. This sheet only presents them. #let beam-sketch = { set align(center) box(width: 82%, inset: (y: 8pt))[ #line(length: 100%, stroke: 1.4pt) #v(-7.5pt) #grid( columns: (auto, 1fr, auto), align: (left, center, right), polygon(fill: black, (0pt, 0pt), (8pt, 10pt), (-8pt, 10pt)), text(size: 9pt)[$w_u$ uniform factored load], polygon(fill: black, (0pt, 0pt), (8pt, 10pt), (-8pt, 10pt)), ) #v(2pt) #text(size: 9pt)[#n.span_ft ft simple span · #n.bw_in in × #n.h_in in section] ] } #figure( beam-sketch, caption: [#n.span_ft ft simply supported beam, #n.bw_in in × #n.h_in in rectangular section.], ) == Loads and Beam Demand #calcline([$L = #n.span_ft " ft"$], [Simple span]) #calcline([$B_t = #n.tributary_ft " ft"$], [Tributary width]) #calcline([$D = #n.D_psf " psf"$], [Dead load including superimposed dead]) #calcline([$L_L = #n.L_psf " psf"$], [Live load]) #calcline([$w_("sw") = #round(n.self_weight_klf, digits: 3) " kip/ft"$], [Beam self-weight]) #calcline( [$w_u = 1.2 w_D + 1.6 w_L = #round(n.wu_klf, digits: 3) " kip/ft"$], [Factored uniform line load], ) #calcline( [$M_u = w_u L^2 / 8 = #round(n.Mu_kipft) " kip·ft"$], [Maximum positive moment], ) #calcline( [$V_u = w_u L / 2 = #round(n.Vu_kip) " kip"$], [Support shear], ) == Flexural Strength #calcline([$b_w = #n.bw_in " in"$], [Beam width]) #calcline([$h = #n.h_in " in"$], [Overall depth]) #calcline([$d = #n.d_in " in"$], [Effective depth]) #calcline([$f'_c = #n.fc_ksi " ksi"$], [Concrete compressive strength]) #calcline([$f_y = #n.fy_ksi " ksi"$], [Steel yield strength]) #calcline([$A_s = #n.As_in2 " in"^2$], [Provided tension steel (2 No. 5)]) #calcline( [$a = A_s f_y / (0.85 f'_c b_w) = #round(n.a_in, digits: 3) " in"$], [Equivalent compression-block depth], ) #calcline([$epsilon_t = #round(n.et, digits: 4)$], [Net tensile strain]) #calcline([$phi = #round(n.phi, digits: 2)$], [Strength reduction factor]) #calcline( [$phi M_n = phi A_s f_y (d - a/2) = #round(n.phiMn_kipft) " kip·ft"$], [Design flexural strength], ) #v(7pt) #check( "Flexural strength", checks.flexure.demand, checks.flexure.capacity, unit: "kip·ft", ok: checks.flexure.ok, demand-label: [$M_u$], capacity-label: [$phi M_n$], ) == Minimum Steel and Concrete Shear #calcline([$A_("s,min") = #round(n.As_min_in2, digits: 3) " in"^2$], [Minimum longitudinal steel]) #calcline([$A_("s,prov") = #round(n.As_in2, digits: 3) " in"^2$], [Provided longitudinal steel]) #v(7pt) #check( "Minimum longitudinal reinforcement", checks.minimum_steel.demand, checks.minimum_steel.capacity, unit: "in²", ok: checks.minimum_steel.ok, demand-label: [$A_("s,min")$], capacity-label: [$A_("s,prov")$], ) #v(10pt) #calcline([$V_c = 2 sqrt(f'_c) b_w d = #round(n.Vc_kip) " kip"$], [Concrete shear strength]) #calcline([$phi V_c = #round(n.phiVc_kip) " kip"$], [Design concrete shear strength]) #v(7pt) #check( "Concrete shear", checks.shear.demand, checks.shear.capacity, unit: "kip", ok: checks.shear.ok, demand-label: [$V_u$], capacity-label: [$phi V_c$], )