Analyze a 3D steel frame (finite elements, returns the numbers)
analyze_frameRuns a 3D finite-element frame analysis and returns the numbers: equilibrium check, largest deflection along the members, largest joint displacement and sway in X and Y, every support reaction, the axial force, shears and moments of every member (the envelope with the governing combination when there are several), and natural periods with mass participation (modal analysis); linear or second order (P-Delta). The model is either a template (a pitched portal frame building, an open mono-pitch canopy, or a multi-storey frame, from a few dimensions, sections and loads) or a full model in JSON (nodes, members, sections, supports, loads, combinations). It is solved by the code of Structomat's free 3D frame analysis page, so the result also has a link that shows the same model and results in 3D (deflected shape, force diagrams, mode shapes). Use it to check a frame, compare sections or see how loads flow, and run it again with changed sections or loads. Elastic analysis only, not a code check: member buckling, connection design and code load combinations are not covered. Nothing is stored.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bases | No | Column bases (default fixed). | |
| modal | No | Also run a modal analysis: natural periods, mode shapes and mass participation (default true). | |
| model | No | Instead of a template: a full model, units kN and m, Z vertical. {"up":"Z", "nodes":{"N1":[x,y,z],...}, "members":[{"id":"M1","i":"N1","j":"N2","sec":"S1","rot":0,"pinned":false}], "sections":{"S1":{"A":m2,"Iy":m4 weak,"Iz":m4 strong,"J":m4}}, "supports":{"N1":"fixed"|"pinned"}, "nodeLoads":[{"node":"N2","case":"G"|"Q"|"W","F":[Fx,Fy,Fz]}], "memberLoads":[{"member":"M1","case":"G","dir":"FX"|"FY"|"FZ","w":kN_per_m}], "combos":[{"name":"ULS1","factors":{"G":1.35,"Q":1.5}}], "selfWeight":true, "analysis":"pdelta"|"linear", "modal":{"modes":12,"G":1,"Q":0.3}}. Load cases may have any name; several combinations are solved and shown with their envelope (a single "combo":{...} is still accepted). Gravity loads act in -FZ. A member load may vary from w to w2 between x1 and x2 (m from the i end). "pinned": true releases bending at both ends, "i" or "j" at one end. The modal mass may use any load case, e.g. {"modes":12,"G":1,"S":0.3}. A vertical member has its web (local axis 2) along X; "rot":90 turns it to Y. Without "up":"Z" the older format with Y vertical is read and converted. Steel E = 210 GPa. | |
| bays_x | No | storey: bays in X. | |
| bays_z | No | storey: bays in Y (the second horizontal direction; Z is vertical). | |
| frames | No | portal, mono: number of frames. | |
| span_m | No | portal (4-60) or mono (3-30): frame span, m. | |
| bay_x_m | No | storey: bay width in X, m. | |
| bay_z_m | No | storey: bay width in Y, m. | |
| factors | No | Combination factors {"G":1.0,"Q":1.0,"W":1.0} (default all 1.0). | |
| storeys | No | storey: number of storeys. | |
| analysis | No | Second order (default) or linear. | |
| template | No | portal = pitched portal frame building; mono = open mono-pitch canopy; storey = multi-storey frame. Omit when sending model. | |
| column_web | No | Direction of the column webs: x (default) = strong axis resists sway in X, the frame direction; y = strong axis resists sway in Y. | |
| dead_kN_m2 | No | Dead load on roof/floor, kN/m2 (self-weight of members is added). | |
| live_kN_m2 | No | Live or snow load, kN/m2. | |
| wind_kN_m2 | No | portal, storey: wind pressure on the windward face (see wind_direction); mono: net wind pressure on the roof, positive upward (uplift); kN/m2. | |
| beam_section | No | Hot-rolled I-section for beams / rafters. | |
| low_height_m | No | mono: height of the low side, m. | |
| ridge_rise_m | No | portal: ridge rise above eave, m. | |
| brace_section | No | portal, mono: hollow section for the bracing (default CHS 139.7x5). | |
| eave_height_m | No | portal: eave height, m. | |
| high_height_m | No | mono: height of the high side, m. | |
| leeward_kN_m2 | No | portal, storey: leeward suction, kN/m2 (not used for mono). | |
| column_section | No | Hot-rolled I-section for columns. | |
| wind_direction | No | portal, storey: x (default) = wind on the long wall / the face at X = 0; y = wind on the gable / the face at Y = 0; xy = both together in the same combination (conservative). | |
| combination_set | No | single (default) = one combination with the factors given; en = a typical EN 1990 ultimate set (expression 6.10); asce = ASCE 7 LRFD basic combinations. en and asce are solved as an envelope. | |
| frame_spacing_m | No | portal, mono: frame spacing, m. | |
| storey_height_m | No | storey: storey height, m. | |
| modal_live_share | No | Share of the live or snow load in the modal mass, psi (default 0.3); mass = self-weight + dead + psi x live. |