# Beam Studio engineering validation

Updated 13 October 2026. This document records the calculation basis and verification scope of the website upgrade. It is a software validation record for preliminary member design; it is not a signed structural design or complete Thai/ACI compliance assessment.

## Implemented structural model

The elastic solver covers one to eight connected rectangular spans with selectable pin, roller, fixed or free ends, including fixed–fixed, fixed–hinged, hinged–fixed and cantilevers in either direction. It accepts span-specific uniform loads through per-case multipliers and up to 30 point loads across D, Dc, L, Lc, Lp1, Lp2, Ez, Ex+, Ex-, Ey+ and Ey-. D/L inputs remain nonnegative gravity loads; additional-case loads and factors may be signed. Positive transverse load acts downward. All loads represent equivalent transverse actions in the same beam plane. Geometry inputs are span in metres and width/depth in centimetres; section calculations and drawings use millimetres. Stiffness is the supplied elastic modulus times gross second moment of area times the user-selected stiffness multiplier. Deflection is immediate elastic deflection for that stiffness, without an automatic cracked-section, creep, shrinkage, or long-term calculation.

Editable combinations superpose all 11 independent load sets. Self weight is added automatically only to D. Dc is an independent total dead case and must include its own required self-weight. Lc, Lp1 and Lp2 are separately entered loads; the explicit Copy L action snapshots alternating Lp1/Lp2 UDL patterns. No exhaustive pattern envelope or automatic live-load reduction is performed. Service and strength combinations are kept distinct, disabled rows are excluded, and bending and shear can be governed by different strength combinations. The website default uses Thai gravity load factors: 1.4D + 1.7L strength from Clause 7(1) of the B.E. 2566 regulation, D + L service comparison and a supplementary 1.4D dead-load-only check. Startup and resets share this default. The supplied photograph's 19 strength rows remain optional, with their signed Ex/Ey/Ez factors, 0.30 orthogonal factors, original row numbers and LL Red metadata, plus a separate D + L service row. LL Red flags are recorded without applying reduction. The photograph is the source of those optional factors; it does not establish the project's applicable Thai load basis. The ACI gravity reference also remains available. Custom or imported rows retain their explicitly entered factors. None of the presets establish complete code adequacy.

The screenshots also show a building-frame analysis. That model cannot be inferred from a single beam span. The ideal member restraints are inputs; their stiffness is not inferred from a building frame. The solver combines supplied signed Ex/Ey/Ez equivalent member loads; it does not generate earthquake loads, solve a building frame, or perform biaxial bending, automatic live-load reduction, second-order P-Delta, axial-force, thermal/staged-construction or torsional analysis. Earthquake inputs start at zero until supplied by an engineer from a separate analysis. Any enabled service or strength row that references an additional case with zero uniform and point loads produces a review notice in the sidebar, engineering summary and exported report; the default D/L register does not reference those cases; zero inputs do not establish that the project action is absent. Unassessed effects remain labelled as such.

## Selected reinforced-concrete checks

The engine evaluates one-to-three-layer tension reinforcement in normal-weight rectangular sections. Exact signed bending extrema define separate top and bottom demands; both faces are checked when required by fixed restraints. Area-weighted layer centroids define effective depth. The innermost layer must pass the implemented tension-controlled strain check, ensuring all tension layers yield before centroid-based capacity is accepted. Horizontal clear spacing is max(25 mm, 2db, 4agg/3); vertical clear spacing is max(30 mm, 2db, 4agg/3), as specified by the review brief. These deliberately conservative project spacing rules are not represented as the wording of ACI 318. Opposite-face steel is included in geometry and quantities but its compression contribution is not credited. The selected checks include strain compatibility with a rectangular concrete stress block, tension-controlled flexural strength with phi 0.90, minimum tension steel, horizontal/vertical bar fit, and two-legged stirrup shear checks with phi 0.75. The simplified concrete shear term is used together with a minimum stirrup-steel check, consistent with the applicable minimum-reinforcement prerequisite explained by ACI.

The Thai gravity factor preset does not replace these ACI-style section checks with a complete Thai design method. Clause 8 of the same B.E. 2566 regulation gives reinforced-concrete resistance factors that depend on the specified construction standards and material quality control: flexure without axial force is 0.90 or 0.75, and shear/torsion is 0.85 or 0.70 (printed page 9; PDF page 6). The website retains phi 0.90 for its tension-controlled flexure check and phi 0.75 for its ACI-style shear check; it has no project quality-control selector and does not implement all Clause 8 requirements. A passing preliminary check with the Thai load preset therefore does not establish compliance with the complete Thai regulation.

The reported status applies only to the implemented checks. Support-face critical sections, development/anchorage, hooks, laps, bar cutoffs, structural integrity, crack-width limits, complete durability/fire design, seismic detailing, and complete serviceability/code checks remain unassessed. Strength checking excludes short/deep-beam geometry and near-support point-load cases requiring a different local model.

## Units, grades, and mass

Force uses 1 tf = 1000 kgf = 9.80665 kN and 1 kgf = 9.80665 N, so 1 kgf/cm2 = 0.0980665 MPa. The website's 4000/5000 kgf/cm2 steel presets convert to 392.266/490.3325 MPa. These are the explicitly entered strengths; the labels alone must not be interpreted as 400/500 MPa. The Thai manufacturer references report nominal SD40/SD50 grades in the historical 40/50 kgf/mm2 convention and rounded MPa values. Project materials still require their specified strength and supplier certificates.

Nominal bar area is pi times diameter squared divided by four. Density-based unit mass uses 7850 kg/m3; supplier tables may differ through rounding and product tolerances. The current factory catalogue is restricted to the supplied image: SD40 DB10, DB12, DB16, DB20 and DB25; SD50 DB16 and DB20, all 12 m straight bars. DB12.5, DB28 and DB32 are excluded. Custom strengths retain only the pictured diameters and do not confirm a factory grade. Detailed quantities include both explicit longitudinal rows and unique placed stirrups. Shared-layout straight main bars use the analysis length minus clear cover at both physical beam ends. Selected 90°/180° main hooks include traced centreline arcs and tails in their geometric lengths. Stirrup positions leave clear end cover; their lengths use the centreline rectangle. Anchorage, extensions, stirrup hooks, fabrication allowances, laps, waste and cutting allowances are excluded, so quantities remain estimates rather than a bar-bending or procurement schedule.

## Verification record

Before the upgrade integration, all existing suites passed: 74 solver/reinforcement assertions, 31 steel-selection assertions, 52 engineering workspace assertions, 614 detailing/drawing assertions, and 27,060 benchmark assertions. The independent benchmark includes five analytical solutions, 120 matrix-stiffness beam cases, seven published numerical reference values, and 600 randomized reinforcement cases. Maximum normalized response errors in that run were approximately 3e-11 or less; section capacity error was below 7e-16. These figures measure agreement within the supported mathematical model, not real-structure uncertainty or complete code compliance.

After load-combination and mass-table integration, all of those existing suites passed again. Additional suites passed 86 load-combination assertions, 50 steel-mass/detailed-quantity assertions, and 122 independent combination-response assertions. This totals 28,089 passing assertions before the final design-report module checks. The additional audit-checks.cjs evaluates combination response against independent closed forms and deliberately exercises different governing cases for bending, end-zone shear, and middle-zone shear. The final benchmark result is published in [benchmark-results.json](benchmark-results.json); final report/UI validation is recorded separately by the project release checks.

The independent report audit added 99 passing assertions, bringing the numerical verification total to 28,188 at that stage. It checks simple-support zero end moments, cantilever hogging, station steel area against an independent section force-equilibrium root, Nmm-to-Nm display conversions in kN and kgf, different diagram/design cases, no-strength and no-service cases, invalid-result withholding, and HTML/CSV metadata escaping. An invalid-result formatting issue was corrected so unavailable capacities remain unavailable instead of converting null values to zero.

For the 10 October 2026 release updating the default mixed gravity combination to 1.4D + 1.7L, the complete current numerical suites passed 28,168 assertions with zero failures: 26,942 benchmark, 74 solver/reinforcement, 31 steel catalogue, 52 engineering workspace, 614 detailing/drawing, 88 load combinations, 50 steel mass/quantity, 178 independent combination-response, and 139 independent report assertions. The earlier totals above describe the preceding validation stages; this total records the final suites for the Thai gravity preset update. Explicit ACI reference examples retain their source-specific load factors.

The 10 October browser verification covered desktop and 320/390 px phone controls, report metadata and beam-mark synchronization, current-input recalculation, invalid-input withholding, HTML/CSV downloads, combination JSON round trips and geometry/unit synchronization. The regenerated six-page default-example report was rendered and visually inspected with the then-default 1.4D + 1.7L register, its Thai Clause 7(1) basis, and the separate ACI-style section-check scope. It recorded the 4 m, 200 × 400 mm illustrative beam in kN units, with governing strength moment 20.76656204 kN·m. This historical example is separate from a visitor's current model and the 13 October photo preset.

## Factory-stock release · 11 October 2026

The complete current numerical suites passed 28,018 assertions with zero failures: 26,591 benchmark, 74 solver/reinforcement, 267 independent factory-product and grade/quantity checks, 40 engineering workspace, 614 detailing/drawing, 70 load combinations, 45 steel mass/quantity, 178 independent combination-response, and 139 independent report assertions. Random reinforcement scenarios include both factory grade presets and custom entered strengths; the section roots and unit calculations remain independent of the production layout search.

A further 215 browser assertions passed on desktop and 390/320 px phone layouts. These cover all seven grade/diameter combinations, automatic choices, manual grade-switch stock warnings, drawing export inhibition and recovery, comparison buttons, report fy synchronization, nominal quantities, DB/RB table switching, seven-product CSV downloads and page width. Factory-product numerical tests exercise all seven products with both simple supports and cantilevers.

## Primary references

- [NIST standard acceleration of gravity](https://physics.nist.gov/cuu/Constants/Table/allascii.txt) supports the force-unit conversion.
- [Royal Gazette: Thai ministerial regulation B.E. 2566 on building structural design and structural materials](https://ratchakitcha.soc.go.th/documents/140A054N0000000000400.pdf), published 6 September 2023, establishes 1.4D + 1.7L for gravity-only resistance-and-load-factor design in Clause 7(1), printed page 8/PDF page 5. Clause 8 and its quality-control-dependent resistance-factor table appear on printed pages 8-9/PDF pages 5-6. This source was opened and the relevant clauses reviewed for the default load-factor update.
- [ACI: Shear Design Provisions in ACI 318-19](https://www.concrete.org/frequentlyaskedquestions.aspx?faqid=910) explains why the minimum shear-reinforcement condition must be assessed before choosing the simplified concrete shear expression.
- [ACI-hosted presentation: Reliability of Concrete Structures — Loads, Load Factors, and Load Combinations](https://www.concrete.org/portals/0/files/pdf/webinars/ws_S22_Liu.pdf), Ming Liu, 27 March 2022, presents the ACI reference gravity factors and wider load-combination context (slides 6 and 22). It documents the separate ACI reference examples.
- [CSI: Load Combination Data Form](https://docs.csiamerica.com/help-files/csibridge/Design_Rating_tab/Load_Combinations/Load_Combination_Data_Form.htm) supports the linear-addition principle: each case response is scaled by its factor and the responses are added. This reference does not verify the supplied photograph's row factors, generate project earthquake actions, or establish Beam Studio code compliance.
- [Tata Steel Thailand product catalogue, July 2025](https://tatasteelthailand.com/wp-content/uploads/2025/07/Rebar-Product-Catalogue-updated-Jul25.pdf) provides Thai SR24, SD40 and SD50 grade and nominal bar-mass context. The manufacturer's indexed tables were reviewed; the full large PDF could not be rendered through the browsing tool.
- [Paisan Steel manufacturer product table](https://www.paisansteel.co.th/product_en.html) independently gives rounded 390(40)/490(50) strength labels, DB12–DB32 unit masses, and 10/12 m bar totals.
- [MIT: Deflections due to Bending](https://ocw.mit.edu/courses/1-050-solid-mechanics-fall-2004/f9a4d5764b9b0f51ffaacbdf69f7aed8_emech10_04.pdf) is the analytical beam reference used by the existing benchmark.
- [Mento's example documentation PDF](https://mento-docs.readthedocs.io/_/downloads/en/latest/pdf/) supplies published section-equation values used by the benchmark; the mixed-bar/frame design itself is not reproduced. The PDF was checked because the current web example omits the generated numerical output.
- [StructurePoint simply supported beam example](https://structurepoint.org/publication/pdf/DE-Simply-Supported-Reinforced-Concrete-Beam-Analysis-and-Design-ACI-318-14-spBeam-v1000.pdf) supplies published support-shear and peak-moment values used by the benchmark.

## 12 October verification

52,789 numerical assertions passed, including 51,265 benchmark assertions and 97 new support, layer-by-layer strain-equilibrium, SR24, tf and report checks. The expanded independent benchmark covers 240 finite-element cases across six support presets, with force/moment equilibrium, constrained displacements, fixed-end slopes, reactions at both ends and internal forces/deflections. Existing factory, combination, report and quantity suites also passed. Browser verification covers new and existing controls at 1280, 390 and 320 px, synchronization, manual choices, unstable support recovery, SVG/CSV exports and direct PDF/Word downloads.

The SR24 UI preset uses RB6/RB9/RB12 with fyr=2400 kgf/cm². Custom retains 6/8/9/10/12 mm calculation sizes; it does not certify stock or grade. This avoids presenting the review brief's 10 mm round-bar entry as verified standard SR24 stock. See [TISI round-bar material scope](https://www3.tisi.go.th/hscode/hscode_view.asp?id=2).

## 13 October report and engineering integration verification

The release passed 55,521 numerical assertions: 51,265 independent benchmark assertions, 2,630 photo-combination/signed-load assertions and the existing solver, factory stock, detailing, quantity, combination, report and support/layer suites. The photo checks compare all 209 reference factor cells and independent signed uniform/point-load solutions, including uplift extrema, top/bottom demand envelopes and near-support exclusions.

Browser verification passed 288 new photo-combination assertions, 1,350 workspace assertions, 224 factory stock assertions and 120 support/layer improvement assertions at 1280, 390 and 320 px. Tests include live unit conversion, independent Dc/Lc copying, signed arrows, incomplete-edit validation, all 11 factors, JSON round trips, report and section CSVs, invalid-input recovery and phone layout. Direct PDF and Word downloads also passed at all three sizes. The added service row is separate from the 19 strength rows; zero referenced additional cases trigger review status.

The report audit passes 241 assertions, including 102 additional checks for the photographed 19-row preset plus service row. Independent signed statics verify total force, left reaction and station moment for every row. The checks also cover all 11 case inputs and factor columns, LL Red metadata, zero-case review notices, upward uniform and point-load arrows, and a live-only service reference that explicitly clears all additional loads and factors without mutating the model. Both legacy live and symbolic L point loads are retained by that reference, while dead/D and additional cases are excluded. The existing engineering workspace suite passes 40 assertions. Broader solver benchmarks and desktop/phone interface verification are recorded by the release checks.

## Continuous-beam verification · 13 October 2026

The continuous solver uses assembled Euler–Bernoulli stiffness with shared vertical displacement and rotation at every station. Pin/roller restraints set vertical displacement to zero; fixed also sets rotation to zero. Free stations remain unrestrained. Supports do not introduce internal hinges. Reactions follow residual nodal forces. Polynomial integration of each span’s UDL and point loads recovers exact shear, moment, rotation and immediate deflection. Analytical shear zeros, moment zeros and rotation roots define extrema; both sides of interior shear and fixed-support moment jumps are retained.

`continuous-beam-checks.cjs` passes 90,656 assertions, including 120 varied independent force-compatibility models, classical equal/unequal two- and three-span forms, signed pattern loads, fixed stations, overhangs, free internal stations, nodal point loads and stability rejection. Maximum normalized differences are 7.051e-11 for reactions, 4.552e-12 for shear, 1.281e-12 for bending, and 7.072e-14 for deflection; tolerance is 4e-8 under the documented scales. Twelve dense-extrema models sample 4,001 stations per span. [Raw results](continuous-benchmark-results.json) record the scales, examples and exclusions.

An equal two-span example with 4 m spans, pin/roller/roller supports, 500 kgf/m UDL per span and self-weight excluded gives reactions 750/2500/750 kgf; the interior moment is −1000 kgf·m and each span’s maximum sagging moment is 562.5 kgf·m. The constant section b=20 cm, h=40 cm, E=25 GPa and I multiplier=1 gives maximum immediate deflection 0.254947 mm. Partial loading gives uplift at the far support; supports capable of resisting uplift must be verified.

Separate continuous engineering and reporting suites pass 35 and 31 assertions. Service comparisons use actual restrained-support gaps and overhang lengths, including all exact deflection candidates. Point-load proximity and slenderness guards use these actual supports. Reinforcement uses separate signed face envelopes and three global shear zones including every support jump. Drawings and quantities are full-length schematics; local support reinforcement, anchorage, laps and cutoffs are not designed.

The interface passes 183 continuous-specific assertions at desktop, 390 px and 320 px phone widths, including incomplete edits and recovery, total-length/3D synchronization, span multipliers, gravity snapshots, alternating loads, unit conversion, invalid supports, report and section CSV exports, and horizontal table scrolling without body overflow. The 51,265-assertion legacy numerical benchmark also passes.

[NPTEL’s beam direct-stiffness lecture](https://archive.nptel.ac.in/content/storage2/courses/105105109/pdf/m4l29.pdf) supports the element and assembly method. [PyCBA’s theoretical basis](https://ccaprani.github.io/pycba/theory.html) provides an inspectable independent formulation. Both are method references; this implementation does not import PyCBA.

## Variable sections and compact editor

Each continuous span can specify its own b/h, E and I multiplier; omitted E/stiffness inherit the material inputs. Exact force recovery and deflection use each actual EI. Density × section area sets D self-weight on each span. Rebar.designSpans uses the full solved combinations and local span extrema, actual section, chosen main diameter and stirrup diameter; it does not analyze spans separately as simple supports. Top/bottom capacities, centroid, innermost strain, spacing and local shear are checked. Shared support station records use the appropriate section on each side.

The updated numerical benchmark passes 90,656 assertions against 240 independent force-compatibility models, including 120 variable-section models; it includes weighted three-moment references, a stepped cantilever and 24 dense-extrema models. The UI uses N=1 for single-span and N=2–8 for continuous beams, compact span tabs and collapsed advanced loads. 162 browser assertions verify N, independent dimensions and diameters, actual stiffness/self-weight, selected-span 3D edits, invalid edits/recovery, per-span reports/CSV and phone layouts. PDF/Word exports also pass with a variable-section continuous model.

The earlier shared-section continuous record above remains historical; the current source and raw continuous benchmark describe the per-span stiffness extension. Complete transition geometry, support continuity reinforcement, anchorage, lap and development design still require an engineer.
