PRO — 12/18: validation models - #234
Merged
Merged
Conversation
…nd the "Validation models" group The model is model code, loaded as it is (no regulation combinations): the same nodes and members with their numbering, the section by its declared properties with shear areas, the generated seismic forces as nodal loads, and the two mass-only gravity cases as ordinary cases. The loader parses the code and restores it as one step. Tests: it parses, loads with its counts and numbering, writes back identically, balances every case, and loads from its card.
…floor loads The floor loads are the source's area loads already spread to the beams as trapezoids; they were stated along the physical beams and are cut at each analytical member here. Each floor is a rigid diaphragm, self-weight is a load of the dead case, and the combination keeps its id.
…sses Rigid joints, global end offsets equal at both ends, the purlins' roll angles, and the chord loads in global and local axes, each stated over its physical member and applied to every member of it. The source gives G apart from E, so nu is set to reproduce G exactly.
The orphan-rotation stabiliser counted only frame members, so every node a quad or triangle alone reaches got a spring on all three rotations. The engine's shells stiffen those rotations themselves, drilling included, and the springs were not harmless: they carried part of the moment about the shell's normal to ground, outside the reported reactions.
…teel truss roof The walls are the source's own quadrilateral mesh; the single angles are given about their principal axes, with beta as the roll angle. The balance test asserts every force and the in-plane moments exactly, and pins with it.fails the engine's drilling penalty, which leaves the moment about the walls' normal short by 7e-7.
…abs and walls The slabs and core walls are the source's own meshes; the floor beams sit below the slab mid-plane by a global end offset, and the slab pressures act as surface loads. Every force balances exactly; the moments are pinned with the drilling defect M14.
…ly guys The eighteen guys work in tension only and the combinations are sums of the cases, each solved with its own active set (combinationMethod superpose), as in the source. Self-weight is on the tower members only, and the wind loads every member, the guys included.
…82 members Many members pinned at their ends (and two with the axial force released too, as a joint mask), 22 load cases stated in feet and pounds, and 14 combinations solved with P-Delta on their own factored loads. The balance test checks the cases; the engine's 3D P-Delta assembles dense matrices and does not fit a model this size (M15).
… its model as it is
Batuis
marked this pull request as ready for review
September 28, 2026 05:41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 12 of 18. Stacked on #233.
Seven published sample structures modelled one to one, in a new "Validation models" group of the PRO examples. They are what parts 13 to 16 measure the app against.
What it brings
Seven validation models (
validation-01tovalidation-07). Each is a model-code file (templates/validation/*.stabileo.txt) that reproduces its source structure:What each file adapts is written at its top, and on its card:
The "Validation models" group. Seven cards in the examples list, after the showcase group. A card loads its model as it is: no regulation combinations are generated over the model's own, and its self-weight rule is the one the file states.
The loader.
loadValidationModel(id)parses the code and restores the model as one undo step.Found on the way
it.failsper shell model pins the rest, so fixing the engine flips it.Not changed
ProDiagnosticsTab.svelte.Tests
validation-models.test.ts), for each of the seven:it.fails);pro-validation-models, the group lists the seven and a card loads its model as it is.basic-demosdrawing a beam,landing,section-analysis, and the non-blockingrc-design-visualbaseline);pro-modelling-flowfailed once under load and passes on its own. In CI one shard failed onbasic-demos"section walkthrough" and passed when rerun.QA