Resources Numerical accuracy
Calculations
Every calculation under our calculation policies: what it works out, its formula and the precision it runs at. Open one to see its code as it is in the released app.
Calculations
-
Skyline Cholesky factorization
Factorizes the stiffness of the whole model once for every load set.
K = L Lᵀ; L_ii = √(K_ii − Σ L_ik²)
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Forward and back substitution
Solves the factorized system for one load vector.
L y = f; Lᵀ x = y
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Loads on plates
Turns a plate's own weight and area loads into forces at its corners.
corner force = (∫ Nᵢ dA) × p; own weight p = −factor × f × ρ × 1e-9 × g × t
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Node displacements from the solution
Gives every node its six displacements, including those tied to a floor's master point.
u_q = Σ c × x_e over the constraint map of q
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Plate forces into the reactions
Adds each plate's corner forces to the support reactions and stores the plate's center results.
f = K_g u, added at the corners; center results at ξ = η = 0
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Plate results at the nodes
The moments and forces shown at each node of a slab or wall.
inside: mean of the corner values of the plates at the node; on an edge: a + b x + c y fitted through nearby Gauss values, read at the node
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Least-squares plane through Gauss values
The value at a node on a slab's edge, from a plane fitted through the integration point values around it.
normal equations 3 × 3, first unknown by Cramer's rule
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Story drift
How far each rigid floor moves relative to the floor below, at its center and at its worst node.
drift = move(floor) − move(floor below) at the same point; ratio = |drift| ÷ story height
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Combined plate results
Adds plate results and floor movements of several load sets, each times its factor.
result = Σ fᵢ × resultᵢ
Frame analysis with slabs, walls and rigid floors frame/plate-solve.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Cleaning an outline
Removes repeated points and corners that lie on a straight run, and makes the outline counter-clockwise.
drop a point when |p − q| ≤ 1e-6; drop a corner when |cross| ≤ 1e-9 × |b − a|²
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Is the outline square-cornered
Finds the turn that makes every edge of the outline and its openings run along one of two square directions.
turn = atan2 of the longest edge; each edge: min(|dx|, |dy|) ≤ 1e-6 × max(1, length)
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Grid mesh
Lays grid lines through every corner and given point and divides each gap into equal parts no longer than the size asked for.
n = ⌈gap ÷ size − 1e-9⌉; line_j = a + (b − a) × j ÷ n
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Point inside a polygon
Decides whether a grid cell's center lies inside the outline or inside an opening.
even–odd crossing count
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Mesh of a four-corner outline
A structured mesh between the opposite edges of a convex four-corner outline.
P(s, t) = (1 − s)(1 − t) P₀ + s (1 − t) P₁ + s t P₂ + (1 − s) t P₃; s = i ÷ n, t = j ÷ m
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Cutting an outline into triangles
Ear clipping of an outline that is neither square-cornered nor four-cornered.
an ear: cross(a, b, c) > 1e-12 and no other corner inside
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Triangles into quadrilaterals
Cuts each triangle into three quadrilaterals and each of those into k × k plates.
k = ⌈longest edge ÷ 2 ÷ size − 1e-9⌉; nodes by bilinear blend
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Mesh quality
The largest side ratio and the smallest corner angle of the plates.
aspect = longest side ÷ shortest side; angle = acos(u·v ÷ (|u| |v|))
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Mesh nodes onto model nodes
Uses an existing node of the frame for a mesh node that lies within the merge tolerance of it, else adds a new node.
|existing − new| ≤ tol (1 mm by default)
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Wall plates
Meshes a vertical wall along a line in plan between two heights.
node = from + e_x × u, z = z₀ + v; e_x = (to − from) ÷ L
Meshing a slab or wall into plates frame/plate-mesh.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Is a plate a proper quadrilateral
Refuses a plate whose corners are in a line or folded over.
each corner: (e₁ × e₂) · n ÷ |n| > 1e-3 × |e₁| × |e₂|
Meshing a slab or wall into plates frame/plate-model.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Nodes of a rigid floor by height
Collects the nodes that belong to a floor given by its height.
|z_node − z_floor| ≤ tol (1 mm by default)
Meshing a slab or wall into plates frame/plate-model.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Bar positions of a beam
Places the top, bottom and side bars of a beam section from their count and cover.
y_i = −b ÷ 2 + c + (b − 2c) × i ÷ (n − 1); side bars evenly between the rows
Concrete section by strain compatibility frame/rc-section.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Bar positions of a column cage
Places the bars around the perimeter of a column, corners counted once.
y_i = −y_c + 2 y_c × i ÷ (n − 1); y_c = b ÷ 2 − cover
Concrete section by strain compatibility frame/rc-section.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Bars gathered into layers
The depth of each bar from the compression face, with bars at one depth added into one layer.
d = depth ÷ 2 − sign × position, rounded to 1e-6 mm
Concrete section by strain compatibility frame/rc-section.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Axial force and moment for a neutral axis depth
The section's axial force and its moment about mid-depth when the neutral axis is at depth c.
a = min(β₁ c, h); C_c = α₁ f′c b a; ε_s = ε_cu (c − d) ÷ c; f_s = clamp(E_s ε_s, ±f_y); P = C_c + Σ F; M = Σ F × (h ÷ 2 − d)
Concrete section by strain compatibility frame/rc-section.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Neutral axis for a given axial force
The neutral axis depth at which the section's axial force equals the target.
bisection on c between 1e-6 × depth and 1000 × depth
Concrete section by strain compatibility frame/rc-section.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Stress block factor β₁
The depth of the equivalent stress block as a share of the neutral axis depth.
0.85 for f′c ≤ 28; 0.85 − 0.05 (f′c − 28) ÷ 7; 0.65 for f′c ≥ 55
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Strength reduction factor
The factor φ for axial force and bending from the strain in the extreme tension steel.
0.90 for ε_t ≥ ε_ty + 0.003; 0.65 (0.75 spiral) for ε_t ≤ ε_ty; a straight line between
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Square root of the concrete strength in shear
The √f′c used in the shear formulas.
min(√f′c, 8.3)
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Bending strength of a beam section
The nominal and design moment of a section at zero axial force, with the minimum steel and ductility tests.
c from P(c) = 0; Mn = M(c); φMn; As,min = max(0.25 √f′c ÷ fy, 1.4 ÷ fy) b d
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Steel required for a moment
The steel area a singly reinforced section needs for a factored moment.
Rn = Mu ÷ (φ b d²); As = (0.85 f′c ÷ fy) (1 − √(1 − 2 Rn ÷ 0.85 f′c)) b d
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
One-way shear strength
The concrete and stirrup contributions to shear strength, the minimum stirrups and the spacing limit.
Vc by Table 22.5.5.1 (a), (b) or (c); λs = min(1, √(2 ÷ (1 + 0.004 d))); Vs = Av fyt d ÷ s; φVn = 0.75 (Vc + Vs)
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Axial force and moment diagram
The nominal and design strength outline of a column section for bending about one axis.
(Mn, Pn) at 121 depths c from 20 h down to 0.001 h, plus the balanced, tension-controlled and P = 0 points; Po = 0.85 f′c (Ag − Ast) + fy Ast
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Utilization on the diagram
How far a factored axial force and moment are along the ray from the origin to the diagram.
ratio = √(Mu² + Pu²) ÷ t, t = where the ray meets the outline
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Threshold torsion
The torque above which torsion would have to be designed for.
φ Tth = 0.75 × 0.083 λ √f′c Acp² ÷ pcp
Concrete member strength to ACI 318-19 frame/rc-aci318.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Strengths of a section, worked out once
The bending strengths for both axes and signs, the two strength diagrams, the effective shear depths and the threshold torsion of a section.
shear depth d = centroid of the bars beyond mid-depth, or 0.8 × depth when there are none
Concrete member and slab checks on a solved frame frame/rc-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Design moment strength at an axial load
The largest design moment the strength diagram allows at a given axial force.
linear interpolation between the two diagram points that bracket Pu
Concrete member and slab checks on a solved frame frame/rc-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Moment magnification of a slender column
The magnified design moment of a non-sway column about one axis.
Pc = π² (0.4 Ec Ig ÷ (1 + βdns)) ÷ (k L)²; δ = Cm ÷ (1 − Pu ÷ 0.75 Pc) ≥ 1; Mc = δ max(M₂, Pu (15 + 0.03 h)); Ec = 4700 √f′c
Concrete member and slab checks on a solved frame frame/rc-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Drawn section against the concrete section
Checks that the analyzed section's area and inertias agree with the b × h the bars were given for.
|A − b h| ≤ 0.05 b h; I within 5 % of b h³ ÷ 12 × 1, 0.70 or 0.35
Concrete member and slab checks on a solved frame frame/rc-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Beam flexure ratio
The utilization of a beam in bending about one or both axes.
|My| ÷ φMny + |Mz| ÷ φMnz
Concrete member and slab checks on a solved frame frame/rc-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Column axial force and bending ratio
The utilization of a column under axial force with one or two moments.
one moment: the ray ratio on its diagram; two, Pu ≥ 0.1 f′c Ag: max(r_y + r_z − Pu ÷ (φ Po), Pu ÷ φPn,max); two, lower Pu: |My| ÷ φMny(Pu) + |Mz| ÷ φMnz(Pu)
Concrete member and slab checks on a solved frame frame/rc-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Design moments of the slab's bar layers
The moment each of the four bar layers must carry so that bending and twisting are both covered.
M*x = Mx + |Mxy|, M*y = My + |Mxy|; if one is negative: 0, and the other raised by Mxy² ÷ |that moment|
Concrete member and slab checks on a solved frame frame/slab-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Slab reinforcement and shear
The steel required and provided per meter in each layer, and the one-way shear check of a slab.
d = h − cover − bar ÷ 2 (outer layer); provided = (π d_b² ÷ 4) × 1000 ÷ s; need = max(required, ρ_min × 1000 × h); ratio = need ÷ provided
Concrete member and slab checks on a solved frame frame/slab-design.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Concrete stiffness for the analysis
The elastic modulus, shear modulus and density given to concrete members.
E = 4700 √f′c; G = E ÷ 2.4; ρ = 2400 kg/m³
Concrete member and slab checks on a solved frame frame/frame-concrete.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Cracked stiffness factor
The share of the gross stiffness used for cracked members.
0.70 columns; 0.35 beams; 1 when not cracked
Concrete member and slab checks on a solved frame frame/frame-concrete.jsExact- CadCraft
- BimCraft
- DetailCraft
-
Area of a bar
The cross-section area of a reinforcing bar from its diameter.
A = π d² ÷ 4
Concrete member and slab checks on a solved frame frame/frame-concrete.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Approximate period
The building's approximate fundamental period from its height and structural system.
Ta = Ct × (hn ÷ 1000)^x, hn in mm
Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Upper limit factor on the period
The factor Cu that caps a period taken from analysis.
table of SD1 against Cu, straight lines between rows
Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Seismic response coefficient
The coefficient Cs that multiplies the building's weight to give the base shear.
Cs = SDS ÷ (R ÷ Ie), at most SD1 ÷ (T R ÷ Ie) or SD1 TL ÷ (T² R ÷ Ie), at least max(0.044 SDS Ie, 0.01) and 0.5 S1 ÷ (R ÷ Ie) where S1 ≥ 0.6
Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js64-bit- CadCraft
- BimCraft
- DetailCraft
-
Height exponent
The exponent k of the vertical distribution of the story forces.
k = 1 for T ≤ 0.5 s; 2 for T ≥ 2.5 s; 1 + (T − 0.5) ÷ 2 between
Seismic loads and story drift to ASCE 7-22 frame/loads-asce7.js64-bit- CadCraft
- BimCraft
- DetailCraft
A calculation is added only after its source was read. Each statement can be checked in the code shown on its policy's page; the app repositories are public. When a release changes a calculation, its page says so until it has been read again.