WillTools 2026-09-09 -- clean snapshot of the development repo for review
ci / test (push) Successful in 6m18s
ci / test (push) Successful in 6m18s
History-free snapshot of the private development repository at cbe45c5 (2026-09-09). Code, docs and public catalogue only; no plant or job knowledge layers, no client or job names (tools/scrub.py clean). The intro deck is left out of this snapshot because its slide images could not be checked for job drawings.
This commit is contained in:
@@ -0,0 +1,657 @@
|
||||
# Eriksson Wall — authoritative algorithms (from the reference tool's QC document)
|
||||
|
||||
The **authoritative** source for our Panel Analysis parity work. Every formula,
|
||||
sign convention, coefficient, threshold and code clause below is transcribed
|
||||
from the reference tool's own *Quality Control Document* (Program Version 4.x,
|
||||
`Spec: ACI 318-14, PCI Design Handbook 8th Ed.`), which states HOW the tool
|
||||
computes each check and proves it against independent Mathcad hand calculations.
|
||||
|
||||
Where this document and `docs/eriksson-wall-method.md` (inferred from sample
|
||||
outputs) disagree, **this file wins** — see §"Corrections to the inferred
|
||||
spec". Where the QC doc is silent on something the inferred spec asserts, that
|
||||
is called out too.
|
||||
|
||||
**Scrub note.** This is generic ACI 318-14 / PCI 8th-Ed. methodology. All
|
||||
client / project / licensee / job / designer identifiers and the vendor's
|
||||
proprietary-license text are omitted; the reference tool is named only "the
|
||||
reference tool". Product-type labels (solid / sandwich / hollowcore) are
|
||||
methodology, not identity, and are kept.
|
||||
|
||||
**How the QC doc is built (so cites are checkable).** Three worked examples,
|
||||
each = (a) a results-comparison table, (b) the tool's own report, (c) a Mathcad
|
||||
hand-verification that spells out the equations:
|
||||
|
||||
| ex | panel type | steel | stages run | QC-PDF Mathcad pages |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| **Ex.1** | insulated sandwich | prestressed strand | Stripping + In-Place | p.26–38 |
|
||||
| **Ex.2** | solid wall | mild rebar + WWR mesh | In-Place (+ P-Δ) | p.70–76 |
|
||||
| **Ex.3** | hollowcore | prestressed strand | Stripping / Transport / Erection + In-Place | p.133–145 |
|
||||
|
||||
Cites are **QC-PDF page numbers**, written `QC p.37`. The Mathcad equations
|
||||
extract as text but their 2-D operator/operand order scrambles in extraction;
|
||||
every equation below was **reconstructed by reproducing the Mathcad's own
|
||||
printed numeric result**, so it is the algorithm, not a raw glyph dump. Anyone
|
||||
changing code off a formula here should still glance at the rendered PDF page.
|
||||
|
||||
---
|
||||
|
||||
## 1. Handling extreme-fibre STRESS check (governs stripping)
|
||||
|
||||
**This is the check that governs stripping and it is a service-stress check,
|
||||
not a strength check.** Reference: QC p.38 (Ex.1 §8 "Stress"), QC p.136 (Ex.3
|
||||
§3 "Service / Stripping Stresses").
|
||||
|
||||
### 1.1 Extreme-fibre stress equation (exact form + signs)
|
||||
|
||||
Compression taken **positive**. At each station, for each face:
|
||||
|
||||
```
|
||||
f_top = (P / A) + M_applied / S_t − M_pi / S_t
|
||||
f_bot = (P / A) − M_applied / S_b + M_pi / S_b
|
||||
```
|
||||
|
||||
where
|
||||
- `P` = total axial precompression at the section = `Pi + P_applied`
|
||||
(`Pi` = effective prestress force after losses = `Aps·(%pull)·fpu·(1 − loss)`;
|
||||
`P_applied` = any applied axial, e.g. self-weight component). Prestress is a
|
||||
**compression** on the section.
|
||||
- `M_applied` = applied moment at the station (`Mg`, the stage/self-weight
|
||||
moment for handling; the load-combination moment for in-place).
|
||||
- `M_pi` = prestress moment = `Pi · e`, `e` = strand eccentricity from the
|
||||
section centroid (`ey.eff` in the Mathcad). Its sign is **opposite** to
|
||||
`M_applied` on each face (it relieves tension on the strand side).
|
||||
- `S_t`, `S_b` = section moduli to top / bottom fibre.
|
||||
|
||||
Verified numerically, QC p.38 (Ex.1, midspan): `Pi = 196.10 k`, `A = 504 in²`
|
||||
→ `P/A = 389 psi`; `P_applied/A = 105 psi`; `M_applied/S = 9.5 psi`;
|
||||
`M_pi/S = Pi·e/S = 66.3 psi` → `f_top = 389+105+9.5−66.3 = 436.9 psi`,
|
||||
`f_bot = 389+105−9.5+66.3 = 550.4 psi` (matches printed 436.88 / 550.43).
|
||||
|
||||
Compact form (the `Pi/A ± Pi·e·c/I ± Mg·c/I` shape the punch-list asked to
|
||||
confirm): **yes** — `f = Pi/A ± Pi·e·c/I ∓ Mg·c/I`, with `c/I = 1/S` for the
|
||||
face in question, prestress-bending term and applied-bending term carrying
|
||||
**opposite** signs on any one face.
|
||||
|
||||
Hollowcore form, QC p.136, e≈0: `σc = Mg/S_t + Pi/Ag + Pi·e/S_t = 396.2 psi`
|
||||
(same equation, compression positive).
|
||||
|
||||
### 1.2 Which `Pi` — losses feeding the handling force
|
||||
|
||||
`Pi` at handling uses the **initial** (at-release / short-term) loss set, not
|
||||
the final. Ex.1 prints `%loss Initial ≈ 2.04%`, `%loss Final ≈ 9.64%`
|
||||
(QC p.14); the stripping-stress table uses per-station losses that build from
|
||||
release values (QC p.14 loss column 0.43→2.04). See §8 for the loss method.
|
||||
|
||||
### 1.3 Transfer-strand-force reduction near ends / discontinuities
|
||||
|
||||
At a section within the strand transfer/development length, or on either side
|
||||
of an opening, the tool credits only the **developed** strands. QC p.136 (Ex.3,
|
||||
stress at a 10-ft opening): "*Strand not fully developed on both sides*" — only
|
||||
**4 of 12** strands counted, `Pi` reduced accordingly. So `Aps` (hence `Pi`)
|
||||
in the stress equation is the **effective developed area at that station**, not
|
||||
the full jacking area. Development length: §9.
|
||||
|
||||
### 1.4 Limits (WHEN each applies) and the `fci req` back-solve
|
||||
|
||||
Handling stress limits (QC p.134 Ex.3 §1.5; QC p.7 settings; verified against
|
||||
the tables):
|
||||
|
||||
| limit | value | code basis |
|
||||
| --- | --- | --- |
|
||||
| **Handling tension** | `σti.lim = k·√f'ci` with **k = 5 or 7.5 (per-job SETTING)** | ACI 318-14 at-transfer tension (24.5.3.2 family) |
|
||||
| **Handling compression** | `σci.lim = 0.6 · f'ci` | ACI 318-14 §24.5.3.1 (at transfer) |
|
||||
|
||||
- **k = 7.5** in both QC examples that ran handling: `7.5·√3500 = 443.71 psi`
|
||||
(Ex.1 QC p.17 limit column; Ex.3 QC p.134 `σti.lim = 443.71 psi`).
|
||||
The setting also allows **k = 5**; it is a job input, never a constant.
|
||||
- Compression: `0.6 · 3500 = 2100 psi` (QC p.17, p.134). Applied at **`f'ci`**
|
||||
(release strength), because handling is at the "Initial" concrete strength.
|
||||
- **Which f'ci / which strength stage:** Stripping runs at `Concrete Strength:
|
||||
Initial` (`f'ci`) with `Stress Limits: Handling`. Transportation and Erection
|
||||
run at `In-Place` (`f'c`) with `In-Place` limits (§7 stages).
|
||||
|
||||
**`fci req`** (the report's extra column) = the `f'ci` the station **would
|
||||
need** for its computed extreme-fibre stress to just meet the limit. Back-solve
|
||||
from whichever limit governs: for a tension-governed station,
|
||||
`f'ci_req = (f_tension / k)²`; for compression, `f'ci_req = f_comp / 0.6`.
|
||||
(Ex.1 QC p.17: at 3.00 ft, comp 551.5 psi → `551.5/0.6 = 919.1` = printed
|
||||
`fci req`.)
|
||||
|
||||
---
|
||||
|
||||
## 2. φ resistance-factor for flexure (the "0.75→0.90" ramp)
|
||||
|
||||
**The reference tool derives φ for flexure from the ACI 318-14 strain-based
|
||||
tension/compression-controlled transition (Table 21.2.2 / §21.2.2.2), NOT from
|
||||
a transfer-length→development-length interpolation.** This is a correction to
|
||||
the inferred spec — see §"Corrections".
|
||||
|
||||
### 2.1 Prestressed strand (Ex.1 QC p.33, Ex.3 QC p.141/145)
|
||||
|
||||
```
|
||||
φ = 0.90 if ε_ps ≥ 0.005
|
||||
φ = 0.65 + 0.25·((ε_ps − ε_i − ε_ty)/(0.005 − ε_ty)) if ε_ty < ε_ps < 0.005
|
||||
φ = 0.65 if ε_ps ≤ ε_ty
|
||||
```
|
||||
- `ε_ps` = total strain in the extreme tension strand at nominal (from strain
|
||||
compatibility, §4).
|
||||
- `ε_i` = initial strand strain `= (%pull·fpu)/Ep` (≈0.0070); `(ε_ps − ε_i)`
|
||||
is the **net tensile strain beyond the effective prestrain** — this is the
|
||||
quantity ACI uses.
|
||||
- `ε_ty` = 0.002 (ACI 318-14 §21.2.2.2, prestressed steel yield strain).
|
||||
- Cite: "*per ACI 318-14 Table 21.2.2*".
|
||||
|
||||
### 2.2 Mild reinforcement (Ex.2 QC p.75)
|
||||
|
||||
```
|
||||
φ = max(0.75, min(0.90, 0.75 + 0.15·((ε_max − ε_ty)/(0.005 − ε_ty))))
|
||||
ε_ty = min(fy, fy_WWR)/Es = 0.002
|
||||
```
|
||||
Note the **floor is 0.75** here (spiral-member form), vs **0.65** in the
|
||||
prestressed examples. The reported compression-controlled resistance factor
|
||||
setting is 0.65 (§10). This 0.75-vs-0.65 floor split is an inconsistency in the
|
||||
QC doc itself — **FLAG, verify against the vendor / a report flexure table**
|
||||
before hard-coding the mild-steel floor. Both forms cite ACI 318-14 Table
|
||||
21.2.2.
|
||||
|
||||
### 2.3 What the QC doc does and does NOT settle about the length ramp
|
||||
|
||||
- The reports show φ running **0.75 → 0.90 down the panel** (inferred-spec
|
||||
§A.2.1). The QC Mathcad only evaluates **fully-developed midspan** sections,
|
||||
where φ = 0.90, so it does **not** independently derive the near-end ramp.
|
||||
- The near-end reduction is consistent with **reduced developed strand**
|
||||
(§1.3, §9) feeding the *same* strain-based formula (fewer/less-stressed
|
||||
strands → smaller `ε_ps` → lower φ), plus the **transferring tension factor
|
||||
0.75** (§10) that applies where strand is still transferring.
|
||||
- **FLAG / open reconciliation:** the QC doc neither states nor rules out an
|
||||
explicit ACI 318-19 §21.2.3 transfer→development φ interpolation. Treat the
|
||||
strain-based Table-21.2.2 formula as authoritative for φ *at a section*; treat
|
||||
the along-length ramp as an emergent effect of development, and confirm the
|
||||
exact near-end rule against report tables rather than inventing a 21.2.3 ramp.
|
||||
|
||||
---
|
||||
|
||||
## 3. Shear — Vci / Vcw (detailed method) and the non-prestressed path
|
||||
|
||||
Two distinct methods; which one is used depends on whether the section is
|
||||
prestressed.
|
||||
|
||||
### 3.1 Prestressed sections — PCI detailed Vci / Vcw (Ex.1 QC p.37)
|
||||
|
||||
```
|
||||
Vci.1 = 0.6·√f'c·(bd) + Vu·Mcre/Mmax (PCI eq 5-25)
|
||||
Vci.2 = 1.7·√f'c·(bd) (PCI eq 5-27) [floor]
|
||||
Vci = max(Vci.1, Vci.2) (ACI 318-14 §22.5.8.3.1)
|
||||
Vcw = (3.5·√f'c + 0.3·fpc)·(bd) (PCI eq 5-28)
|
||||
Vc = min(Vci, Vcw)
|
||||
ϕVn = ϕv · Vc, ϕv = 0.75
|
||||
```
|
||||
- **√f'c in psi**, results in the printed force units; `(bd)` is the shear area
|
||||
as **one product** (see below).
|
||||
- `Mmax` = factored moment at the station (`Mend` in the Mathcad). At a
|
||||
**zero-moment station `Mmax → 0`**, `Vci.1 → ∞`, so `Vci = ∞` and
|
||||
`Vc = Vcw` — this is the `∞` printed in the Vci column (QC p.15, p.18).
|
||||
- **Cracking moment** feeding Vci.1:
|
||||
```
|
||||
Mcre = S_t · (6·√f'c + fpe) (PCI eq 5-26)
|
||||
```
|
||||
`fpe` = extreme-fibre compressive stress due to effective prestress at the
|
||||
section (0 where strand undeveloped). `f'c` in psi.
|
||||
- **`fpc`** = concrete compressive stress at the section centroid due to
|
||||
effective prestress + any axial, at the level used for Vcw
|
||||
(QC p.37: `fpc = [Pi·(1−loss_end) + Rsw] / A_eff`).
|
||||
- **Shear area `bd`** (printed as one product, in²):
|
||||
```
|
||||
dv = 0.8 · th (ACI 318-14 §22.5.8.3.1 / §22.5.8.3.2)
|
||||
bd = W·dv (− insulation·W for a sandwich) → e.g. 422.4 in² (QC p.37)
|
||||
```
|
||||
- **`Av Min`** column: minimum shear reinforcement per ft; 0.000 here (no ties
|
||||
required, `Vu ≪ ϕVn`).
|
||||
|
||||
### 3.2 Non-prestressed sections — ACI one-way Vc (Ex.2 QC p.76)
|
||||
|
||||
```
|
||||
Vc = 2·λ·(1 + Nu/(2000·Ag))·√f'c·(bwd) (ACI 318-14 eq 22.5.6.1)
|
||||
Vc.min = (4/3)·λ·√f'c·Ag (gross-area term)
|
||||
ϕVn = ϕv · max(Vc, Vc.min), ϕv = 0.75
|
||||
```
|
||||
- `Nu` = factored axial **compression** (raises Vc); `Ag` = gross area.
|
||||
- `bwd` = `dv·W`, with `dv = weighted (Tb·d_bar + Twwr·d_mesh)/(Tb+Twwr)`
|
||||
(QC p.76: `dv = 4.12 in`, `bwd = 395.68 in²`).
|
||||
- **`max`, not min:** QC p.76 takes `ϕv·max(Vc, Vc.min)` = `0.75·72.41 = 54.31 k`
|
||||
even though `Vc.min` (72.41) > `Vc` (56.92). Transcribed verbatim; the
|
||||
labelling is the vendor's. **FLAG** if a parity run diverges here — confirm
|
||||
whether "min" is a floor taken as max, against a mild-wall shear table.
|
||||
|
||||
---
|
||||
|
||||
## 4. Flexure — φMn via Whitney block on the P-M surface
|
||||
|
||||
Reference: QC p.32–35 (Ex.1, strand), QC p.75 (Ex.2, mild), QC p.140/144 (Ex.3).
|
||||
Settings: `Flexure Method: Whitney Stress Block`, `Cracking Check: None`.
|
||||
|
||||
### 4.1 Whitney block β and depth
|
||||
|
||||
```
|
||||
β1 = 0.65 if f'c ≥ 8 ksi
|
||||
β1 = 0.85 − 0.05·(f'c − 4ksi)/1ksi if 4 ksi < f'c < 8 ksi
|
||||
β1 = 0.85 if f'c ≤ 4 ksi (ACI 318-14 Table 22.2.2.4.3)
|
||||
a = β1 · c
|
||||
C = 0.85 · f'c · a · W (concrete compression, rectangular)
|
||||
```
|
||||
Note handling stages evaluate β1 on **f'ci** (QC p.140 uses `if f'ci ≥ 8ksi …`),
|
||||
in-place on **f'c**.
|
||||
|
||||
### 4.2 Strain compatibility (how axial enters) and Aps/fps development
|
||||
|
||||
Neutral axis `c` is solved so that **ΣForces = 0 including the factored axial
|
||||
`Pu`**:
|
||||
```
|
||||
C − Pu − ΣT_strand = 0 (prestressed, QC p.33)
|
||||
C − ΣT_steel = 0 (mild, no net axial, QC p.75)
|
||||
```
|
||||
so **axial `Pu` shifts `c`** and therefore `ΦMn` — this is the P-M coupling.
|
||||
Per-layer strand strain from plane sections:
|
||||
```
|
||||
ε_ps,layer = (ε_c · d_layer / c) − ε_c + ε_se ε_c = 0.003
|
||||
ε_se = fse/Ep (effective prestrain after losses)
|
||||
```
|
||||
Strand stress — **PCI design aid 15.2.3** (power formula, 270 ksi low-lax):
|
||||
```
|
||||
fps = Ep · ε_ps if ε_ps ≤ 0.0085
|
||||
fps = fpu − 0.04ksi/(ε_ps − 0.007) if ε_ps > 0.0085
|
||||
```
|
||||
(Ex.3 writes the `0.007` as a derived `Coeff = 0.0054` from `fpu, fpy, ε_se`;
|
||||
same curve. Capped at the ACI 318-14 Table 22.2.2.4.3 limits.)
|
||||
Mild steel: `fs = min(Es·ε, fy)` per layer (rebar and mesh separately, each with
|
||||
its own `fy` — mesh `fy_WWR = 65 ksi`, rebar `fy = 60 ksi`, QC p.75).
|
||||
|
||||
`Aps` at the station is the **developed** area (§9); undeveloped strands are
|
||||
dropped (QC p.136).
|
||||
|
||||
### 4.3 Nominal and factored moment (moments about section centroid)
|
||||
|
||||
```
|
||||
Mn = C·(c − a/2) − ΣT_layer·(c − d_layer) − Pu·(c − Cy) (QC p.33)
|
||||
ΦMn = φ · Mn (φ from §2)
|
||||
Util = |Mu| / |ΦMn|
|
||||
```
|
||||
For a **partially composite** (sandwich) section only, `Mn` and `ΦMn` are the
|
||||
**linear interpolation** between the non-composite and fully-composite runs at
|
||||
the user `%composite`: `Mn_eff = Mn_nc + %comp·(Mn − Mn_nc)` (QC p.35). Solid
|
||||
and hollowcore walls do **not** interpolate.
|
||||
|
||||
`ΦMn` reported in-place is read on the **P-M interaction surface at the actual
|
||||
`Pu`**; the report prints an Interaction Diagram at the controlling section
|
||||
(QC p.11, p.17).
|
||||
|
||||
---
|
||||
|
||||
## 5. Axial — ΦPn(C), ΦPn(T), ΦPcrit
|
||||
|
||||
Reference: QC p.36 (prestressed, Ex.1), QC p.76 (mild, Ex.2).
|
||||
|
||||
### 5.1 Compression ΦPn(C)
|
||||
|
||||
Prestressed (ACI 318-14 eq 22.4.2.3):
|
||||
```
|
||||
Po = 0.85·f'c·(Ag − Ast − Apd) + fy·Ast − (fse − 0.003·Ep)·Apt
|
||||
Pn = 0.80 · Po
|
||||
ΦPn = φc · Pn, φc = 0.65
|
||||
```
|
||||
- `Apt` = prestressed strand area, `Apd` = strand-occupied area, `Ast` =
|
||||
non-prestressed longitudinal area. The `(fse − 0.003·Ep)·Apt` term is the
|
||||
strand's contribution at the concrete crushing strain (it is a **reduction**,
|
||||
strand is in residual tension).
|
||||
- `0.80` is the ACI accidental-eccentricity factor for tied members.
|
||||
|
||||
Mild (ACI 318-14 eq 22.4.2.2):
|
||||
```
|
||||
Po = 0.85·f'c·(Ag − Ast) + fy·As,b + fy_WWR·As,WWR
|
||||
Pn = 0.80·Po
|
||||
ΦPn = φc·Pn, φc = 0.65
|
||||
```
|
||||
|
||||
### 5.2 Tension ΦPn(T)
|
||||
|
||||
`ΦPn(T)` = factored axial tension capacity of the steel (φ·fy·As for mild,
|
||||
φ·(fps or fpe)·Aps for strand); `∞`/large where it does not bind. Axial Options
|
||||
`Ignore tensile strength failures` is ON in the samples (does not remove the
|
||||
column, defeats the *failure* flag). Exact tension φ = 0.90 developed / 0.75
|
||||
transferring (§10).
|
||||
|
||||
### 5.3 ΦPcrit — critical buckling (slenderness)
|
||||
|
||||
Reported as the Euler critical load using the effective flexural stiffness
|
||||
(QC p.73–74, PCI Design Example 5.10.3.1):
|
||||
```
|
||||
EI_eff = φk · Ec · Ig / (1 + βd), φk = 0.875 (ACI 318-14 R6.7.1.1)
|
||||
Pcrit = π²·EI_eff / (k·Lu)²
|
||||
```
|
||||
- `βd` = sustained-load ratio = `γD·D / Pu.mid` (non-sway). **`βd = 0` when the
|
||||
governing combination's lateral load (wind) is short-term** (ACI 318-14
|
||||
R6.6.4.6.2(b)) — QC p.74 uses `βd = 0` for the wind case, `βd = 0.333` for
|
||||
the gravity-only case (QC p.73).
|
||||
- `k·Lu` set by the restraint spacing (unbraced length between floor ties /
|
||||
foundation). `Use span's average properties for buckling` was ON (§10).
|
||||
- Axial Options `Ignore buckling failures` ON → `ΦPcrit` printed but not a hard
|
||||
failure; `∞` where slenderness does not bind (QC p.19).
|
||||
|
||||
---
|
||||
|
||||
## 6. In-Place service checks
|
||||
|
||||
Reference: QC p.23 (Ex.1 In-Place Service Summary), settings QC p.5/p.79.
|
||||
|
||||
### 6.1 Tension vs cracking
|
||||
|
||||
Extreme-fibre tension (same equation as §1.1, in-place loads and `f'c`) vs a
|
||||
cracking limit:
|
||||
- **Non-prestressed:** single Modulus of Rupture `fr = 7.5·√f'c`
|
||||
(`7.5·√5000 = 530.3 psi`, QC p.80 settings, QC p.23 "Cracking").
|
||||
- **Prestressed:** ACI 318-14 §24.5.2 class limits —
|
||||
**Class U** (uncracked) `≤ 7.5·√f'c`; **Class T** (transition)
|
||||
`7.5·√f'c < ft ≤ 12·√f'c`; Class C above. Reported per section
|
||||
(settings QC p.5: "Tension 7.5√fc (Uncracked / Class U) / 12√fc (Transition /
|
||||
Class T)").
|
||||
|
||||
### 6.2 Compression
|
||||
|
||||
Total in-place compression (§1.1 with in-place loads) vs
|
||||
```
|
||||
σc.lim = 0.6 · f'c (= 0.6·5000 = 3000 psi, QC p.23) ACI 318-14 §24.5.4.1
|
||||
```
|
||||
|
||||
### 6.3 Deflection
|
||||
|
||||
- **Basis:** elastic + P-Δ deflection (QC p.73–74, PCI 5.10.3.1), compared to a
|
||||
per-job limit `L / n`, `n ∈ {150, 240, 360, ...}` (QC: Ex.1/Ex.2 `L/360`,
|
||||
Ex.3 `L/150`). Settings expose "Total Deflection Limit".
|
||||
- Components (QC p.74):
|
||||
```
|
||||
EI_eff = φk·Ec·Ig/(1 + βd), φk = 0.875
|
||||
Δwind = 5·w_u·L⁴ / (384·EI_eff)
|
||||
ΔPu = Pu·ecc·L² / (16·EI_eff) (eccentric axial)
|
||||
Δi = Δbow + Δwind + ΔPu
|
||||
P-Δ: Δe ← Δ(Δi + Δe), Δ(e) = Pu·e·L²/(8·EI_eff) (iterate to convergence)
|
||||
ΔT = Δi + Δe → check ΔT ≤ L/n
|
||||
```
|
||||
- `Δbow` (initial bow) added as a positive (toward exterior) value if input.
|
||||
|
||||
---
|
||||
|
||||
## 7. Handling stages & multipliers
|
||||
|
||||
Reference: QC p.7 (Ex.1), QC p.107 (Ex.3 stage options), QC p.133 (Ex.3 §1.3).
|
||||
|
||||
| stage | Load Mult. | Concrete | Stress Limits | Lift type | code basis for mult. |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| **Stripping** | **1.4** | Initial (`f'ci`) | Handling (§1.4) | Static Lift **or** Rolling Block, sling 60° | PCI equipment/suction dynamic factor (stripping) |
|
||||
| **Transportation** | **1.5** | In-Place (`f'c`) | In-Place (§6) | Dunnage points | PCI transportation dynamic factor |
|
||||
| **Erection (Primary)** | **1.2** | In-Place (`f'c`) | In-Place (§6) | 3-point / rolling block, sling 60° | PCI erection dynamic factor |
|
||||
| Erection (Secondary) | (off in samples) | — | — | — | — |
|
||||
|
||||
Confirmed explicitly: QC p.133 `γstrip = 1.4, γtransport = 1.5, γerection = 1.2`.
|
||||
The multiplier is the **only** amplifier — handling `Mu` = (self-weight moment)
|
||||
× (stage multiplier); **no ACI strength load factor stacks on top** (QC p.137:
|
||||
`Pamp = γstrip · PSW`; all handling moments come straight off amplified
|
||||
self-weight).
|
||||
|
||||
**Rigging idealisation.** The panel is a beam on its **lifter lines**. Lifters
|
||||
are Face + Top-Edge lifters at transverse **fractions of panel width** (e.g.
|
||||
0.207 from each side, QC p.108). Two lift types:
|
||||
- **Static Lift:** vertical reaction per lifter = `(panel wt share)/n_lifters`;
|
||||
horizontal `= Vert/tan(θsling)` (QC p.139: `Plift = 8.092/2 = 4.05 k`,
|
||||
`Phoriz = 4.05/tan60° = 2.34 k`).
|
||||
- **Rolling Block:** sling force resolved through the block; per-lifter vertical
|
||||
`= Psling·sin(θsling)`, horizontal `= Vert/tan(θsling)` (QC p.138). A 3-point
|
||||
pick is automatically treated as rolling block (QC p.141).
|
||||
- The tool models the beam and reads shear/moment at lifter/opening locations
|
||||
(QC p.137 states these were taken from a **RISA-3D** model for the Mathcad
|
||||
check — see FLAG in §11).
|
||||
|
||||
Reactions are printed **unfactored per lifter**; the Stresses/Flexure moments
|
||||
are **factored** (QC p.14, p.17). Tilt Potential (deg) printed per lift.
|
||||
|
||||
---
|
||||
|
||||
## 8. Prestress losses (PCI 8th-Ed. simplified, long-term)
|
||||
|
||||
Reference: QC p.30–31 (Ex.1 §4). Method setting: `PCI Design Handbook`,
|
||||
`Humidity 70`, `Release ≈ 8 hr`, `Erection 30 day`. Four components; TL = sum.
|
||||
|
||||
```
|
||||
Elastic Shortening ES = Kes · Ep · fcir / Eci (PCI eq 5-99)
|
||||
Kes = 1.0; Kcir = 0.9
|
||||
fcir = Kcir·[ (Pi + Psw)/A + Pi·e·y/Ig ] (concrete stress at strand cg)
|
||||
|
||||
Creep CR = Kcr · (Ep/Ec) · (fcir − fcds) (PCI eq 5-101)
|
||||
Kcr = 2.0 (normalweight); fcds = − M_sustained/S at strand cg (PCI eq 5-102)
|
||||
|
||||
Shrinkage SH = 8.2e-6 · Ksh · Ep · (1 − 0.06·V/S) · (100 − RH) psi (5-103)
|
||||
Ksh = 1.0; V/S = volume/surface ratio of the member
|
||||
|
||||
Relaxation RE = (Kre − J·(SH + CR + ES)) · C (PCI eq 5-104)
|
||||
Kre = 5000 psi, J = 0.04 (270 low-lax, PCI Table 5.8.1)
|
||||
C from PCI Table (fn of fpi/fpu): fpi/fpu = 0.75 → C ≈ 1.01
|
||||
|
||||
Total TL = ES + CR + SH + RE
|
||||
%loss = TL·Aps / Pi
|
||||
```
|
||||
- **fse** (effective strand stress) = `(%pull)·fpu·(1 − %loss)`; e.g.
|
||||
`0.75·270·(1 − 0.0958) = 183.1 ksi` (QC p.32).
|
||||
- **Initial** losses (release, ES + relaxation-to-release) feed handling `Pi`;
|
||||
**Final** (all four) feed in-place `Pi`. Ex.1 midspan: initial 2.04%, final
|
||||
9.58–9.64% (QC p.13/14).
|
||||
- `Include Live Load Regain` is a toggle (on in Ex.1) — a small favorable
|
||||
adjustment; not itemised in the Mathcad.
|
||||
|
||||
---
|
||||
|
||||
## 9. Strand / rebar development & transfer length
|
||||
|
||||
Reference: QC p.38 (strand, Ex.1 §8.1), QC p.76 (mild, Ex.2 §7.1).
|
||||
|
||||
**Strand** (ACI 318-14 eq 25.4.8.1):
|
||||
```
|
||||
Ld = (fse / 3000psi)·db + ((fpu − fse)/1000psi)·db
|
||||
transfer length Ltr = (fse / 3000psi)·db (the first term)
|
||||
```
|
||||
(Ex.1: `183.1/3·db + (270−183.1)/1·db = 73.96 in` for a 0.5" strand.)
|
||||
Scaled by the **Development Multipliers** setting (§10): Strand Normal 1.0,
|
||||
Debonded 2.0, Cut 1.0, Mild 1.0 in all samples. Effective developed `Aps` at a
|
||||
station ramps with position over `Ltr`→`Ld`; §1.3/§4.2 use the developed area.
|
||||
|
||||
**Mild rebar** (ACI 318-14 Table 25.4.2.2, #6 and smaller first column):
|
||||
```
|
||||
Ld = (fy·ψt·ψe / (25·λ·√f'c))·db if clear spacing ≥ 2·db
|
||||
Ld = (3·fy·ψt·ψe / (50·λ·√f'c))·db otherwise
|
||||
ψt = 1.0 (< 12" concrete below), ψe = 1.0 (uncoated — the tool treats mild
|
||||
as uncoated), λ = 1.0 normalweight.
|
||||
```
|
||||
Mesh (WWR) uses the same with `fy_WWR`, `diaWWR`.
|
||||
|
||||
---
|
||||
|
||||
## 10. Settings / resistance factors (the method statement)
|
||||
|
||||
Reference: QC p.5 (Ex.2 settings), QC p.79 (Ex.3 settings).
|
||||
|
||||
```
|
||||
Resistance Factors (the QC Mathcad settles the grid the report renders ambiguously):
|
||||
φ (tension, developed) = 0.90
|
||||
φ (tension, transferring) = 0.75
|
||||
φ (compression) φc = 0.65 ← axial/compression
|
||||
φ (shear) φv = 0.75
|
||||
Flexure Options Method: Whitney Stress Block | Cracking Check: None
|
||||
Stress Options Failure if cracked | Ignore Lateral Strand Eccentricity | Use Principal Axis
|
||||
In-Place limits Modulus of Rupture 7.5√f'c | Compression 0.6 f'c
|
||||
(prestressed: 7.5√f'c Class U / 12√f'c Class T)
|
||||
Handling limits Tension k·√f'ci (k = 5 OR 7.5, per-job) | Compression 0.6 f'ci
|
||||
Development Mult. Strand 1.0 | Debonded 2.0 | Cut 1.0 | Mild 1.0
|
||||
Shear Options Treat as column | (detailed Vci/Vcw for prestressed)
|
||||
Axial Options Ignore tensile strength failures | Ignore buckling failures
|
||||
| Use span's average properties for buckling load
|
||||
2nd-Order P-Delta | Analysis βd: Non-Sway (φk = 0.875, ACI R6.7.1.1)
|
||||
Materials f'ci 2.5–3.5 ksi, f'c 5.0 ksi, 150 pcf NW; strand fpu 270,
|
||||
Ep 28500–29000 ksi; mild fy 60, Es 29000; mesh fy 65
|
||||
Ec / Eci = 33·(wc/pcf)^1.5·√(f'·psi) (ACI 318-14 eq 19.2.2.1.a)
|
||||
```
|
||||
`φv = 0.75, φc = 0.65` is proven by the Mathcad (`ϕv = 0.75`, `ϕc = 0.65`,
|
||||
QC p.70/37/76). The report's printed Resistance-Factor grid extracts the values
|
||||
`0.9 / 0.75 / 0.65` in a jumbled cell order — **use the Mathcad values, not the
|
||||
grid layout.**
|
||||
|
||||
## 11. Load combinations
|
||||
|
||||
Reference: QC p.4 (Ex.1), QC p.27 (Ex.1 Mathcad), settings QC p.79.
|
||||
Columns `D L R W E T H`. **Strength** (ACI 318-14 §5.3):
|
||||
|
||||
```
|
||||
1: 1.4D (+ T at 1.0, H at 1.6, Include)
|
||||
2: 1.2D + 1.6L + 0.5R
|
||||
3: 1.2D + 1.0L + 1.6R
|
||||
4: 1.2D + 1.6R + 0.5L [/ 0.5W variants]
|
||||
5: 1.2D + 1.0L + 0.5R + 1.0W ← typically governs out-of-plane
|
||||
(0.9D + 1.0W and 0.9D + 1.0E present when uplift/seismic bind)
|
||||
every strength combo carries T at 1.0 and soil H at 1.6.
|
||||
```
|
||||
**Service** (QC p.79, for the stress/deflection checks):
|
||||
```
|
||||
1: 1.0D (+ T at 0.75)
|
||||
2: 1.0D + 1.0L
|
||||
3: 1.0D + 1.0R
|
||||
4: 1.0D + 0.6W ← wind at 0.6 for service
|
||||
T at 0.75 on each.
|
||||
```
|
||||
Result tables are headed `All Combinations`; each controlling section names its
|
||||
governing LC (e.g. `LC 5 - 1.2D + 1.0L + 1.0W + 0.5R + 1.0T + 1.6H`, QC p.11).
|
||||
**Live-load patterning** is applied: the tool builds a subset of combos putting
|
||||
live load on one face at a time; wind/seismic/earth are always patterned
|
||||
regardless of the toggle (QC p.29, p.71).
|
||||
|
||||
Second-order moments are computed **after** combinations, by P-Δ (§5.3/§6.3),
|
||||
using a linear-elastic geometric-stiffness FE model, approximated in the QC by
|
||||
the PCI 5.10.3.1 iteration.
|
||||
|
||||
---
|
||||
|
||||
## 12. Section-property conventions
|
||||
|
||||
- `Ec = Eci = 33·(wc/pcf)^1.5·√(f'·psi)` (ACI 318-14 eq 19.2.2.1.a); `Eci` on
|
||||
`f'ci`, `Ec` on `f'c`.
|
||||
- **Section Properties reported at L/10** (11 rows); analysis stations ≈ L/20
|
||||
plus straddling pairs at discontinuities.
|
||||
- **Hollowcore:** gross = solid − `Σ cores`, each core an ellipse
|
||||
`A = π·(H/2)(W/2)/... ` treated as a void; opening sections recompute `Ig`,
|
||||
`S` dropping the cored region + affected strands (QC p.134–135).
|
||||
- **Sandwich:** non-composite (single wythe), fully-composite, and **partially
|
||||
composite** at user `%composite` by **linear interpolation** of `Ag, Cy, Ig,
|
||||
S, Mn, Pn` between the non-composite and composite end-points (QC p.28, p.35,
|
||||
p.37). Solid/hollowcore walls have no interpolation.
|
||||
- Net vs gross: capacity uses **gross** transformed section; the strand
|
||||
transformed area enters axial via the `Apd`/`Apt` terms only.
|
||||
- `dv = 0.8·th` for shear (ACI 318-14 §22.5.8.3).
|
||||
|
||||
---
|
||||
|
||||
## Corrections to the inferred spec (`docs/eriksson-wall-method.md`)
|
||||
|
||||
Where the QC doc (authoritative) differs from or sharpens the sample-inferred
|
||||
spec. **Trust this column.**
|
||||
|
||||
1. **φ ramp mechanism (spec §A.2.1 — the biggest correction).** The inferred
|
||||
spec attributes the 0.75→0.90 φ ramp to **ACI 318-19 §21.2.3** (φ=0.75 over
|
||||
transfer length, linear to 0.90 at end of development length). The QC doc
|
||||
derives φ **only** from the **ACI 318-14 Table 21.2.2 / §21.2.2.2 strain
|
||||
transition** (formulae in §2), evaluated at each section. There is **no
|
||||
§21.2.3 transfer/development φ interpolation anywhere in the QC doc.** The
|
||||
near-end ramp is an emergent effect of reduced developed strand (§1.3/§9)
|
||||
feeding the strain formula, plus the transferring-tension factor 0.75. The
|
||||
QC Mathcad validates only fully-developed midspan sections — so keep the
|
||||
strain-based φ as the section rule and confirm the near-end behavior against
|
||||
report tables (do not hard-code a 21.2.3 ramp).
|
||||
|
||||
2. **φ floor is not a single constant.** Prestressed φ floor = **0.65** (0.25
|
||||
slope); mild φ floor printed = **0.75** (0.15 slope); compression-controlled
|
||||
setting = 0.65. The spec treated φ as one 0.75→0.90 rule. Use the two
|
||||
distinct forms in §2; **FLAG** the 0.75-vs-0.65 mild floor for verification.
|
||||
|
||||
3. **Resistance factors — grid order.** Spec §A.8 flagged the report grid as
|
||||
ambiguous/jumbled and hedged. **Resolved by the Mathcad:** shear **0.75**,
|
||||
compression **0.65**, tension developed **0.90**, tension transferring
|
||||
**0.75**. (Spec §A.6 had guessed "Compression 0.65, Shear 0.75" — correct;
|
||||
the report's printed grid cell order is just unreliable, confirmed here.)
|
||||
|
||||
4. **Vci uses `max`, not `Vci.2` as a cap.** `Vci = max(Vci.1, Vci.2)` with
|
||||
`Vci.2 = 1.7√f'c·bd` a **floor** (PCI eq 5-27), and `Mcre = St·(6√f'c + fpe)`
|
||||
(PCI eq 5-26). Spec §A.2 had the `Vc = min(Vci,Vcw)`, `ϕVn=0.75Vc`, `bwd`
|
||||
product and `∞`-at-zero-moment all right; this pins the exact Vci sub-terms
|
||||
and the `0.6/1.7/3.5√f'c + 0.3fpc` coefficients and `dv = 0.8·th`.
|
||||
|
||||
5. **Non-prestressed shear takes `max(Vc, Vc.min)`.** For mild walls
|
||||
`ϕVn = 0.75·max(2λ(1+Nu/2000Ag)√f'c·bwd, (4/3)λ√f'c·Ag)` (ACI 22.5.6.1).
|
||||
The spec's punch-list item 6 asked to confirm the method; this is it — and
|
||||
the `max` (not a cap) is a genuine surprise; **FLAG**.
|
||||
|
||||
6. **Handling multipliers pinned:** Stripping ×1.4 (Initial/Handling),
|
||||
Transportation ×1.5 (In-Place/In-Place), **Erection Primary ×1.2**
|
||||
(In-Place/In-Place). The spec had 1.4/1.5 and marked erection "never run /
|
||||
off"; the QC doc gives the erection factor **1.2** explicitly (QC p.133).
|
||||
|
||||
7. **Handling tension limit k is 5 OR 7.5 — a per-job SETTING, at `f'ci`.**
|
||||
Both QC examples that ran handling used **7.5√f'ci = 443.71 psi**; the spec
|
||||
correctly noted both occur. Compression handling limit `0.6 f'ci = 2100 psi`
|
||||
confirmed. `fci req` = back-solved required `f'ci` (§1.4).
|
||||
|
||||
8. **Axial ΦPn(C) uses ACI 22.4.2.3 (prestressed) / 22.4.2.2 (mild), Pn=0.8Po,
|
||||
φc=0.65.** The spec listed the columns but not the equations; §5 gives them,
|
||||
including the `−(fse − 0.003·Ep)·Apt` strand term.
|
||||
|
||||
9. **`Pcrit` = Euler on `EI_eff = φk·Ec·Ig/(1+βd)`, φk=0.875**, with **βd=0 for
|
||||
short-term wind combos** and βd = γD·D/Pu otherwise. The spec described the
|
||||
P-Delta/βd non-sway machinery qualitatively; §5.3/§6.3 give the exact stiffness
|
||||
and the βd switch (ACI R6.6.4.6.2(b), R6.7.1.1).
|
||||
|
||||
10. **Losses = PCI 8th-Ed. simplified with the exact eq numbers** (ES 5-99,
|
||||
CR 5-101, SH 5-103, RE 5-104), Kes=1.0, Kcir=0.9, Kcr=2.0, Ksh=1.0,
|
||||
Kre=5000psi, J=0.04. Initial-loss set feeds handling `Pi`, final feeds
|
||||
in-place. The spec named "PCI Design Handbook" without the coefficients.
|
||||
|
||||
11. **Service compression limit prints as `0.6 f'c`** = 3000 psi at f'c=5000 in
|
||||
the QC (the spec's samples were f'c=6000 → 3600; same 0.6 f'c rule — value
|
||||
is job-dependent, not 3600 fixed).
|
||||
|
||||
12. **Strand fps is the PCI design-aid 15.2.3 power curve**
|
||||
(`fpu − 0.04/(ε_ps − 0.007)` above ε_ps=0.0085, else Ep·ε_ps), capped by ACI
|
||||
Table 22.2.2.4.3 — the spec said "Whitney block" without the fps law.
|
||||
|
||||
---
|
||||
|
||||
## Image-only / figure pages — flagged, NOT transcribed (verify before trusting)
|
||||
|
||||
The Mathcad **equations** all extract as text and are captured above. What is
|
||||
image-only:
|
||||
|
||||
1. **QC p.138–140, p.142–143 (Ex.3 handling):** the **RISA-3D** rolling-block
|
||||
and static-lift models and the resulting **shear / moment diagrams** are
|
||||
figures. The Mathcad reads lifter shear/moment demands off these figures;
|
||||
only the peak numeric values (`Plift`, `Mu`) are in text. **The along-length
|
||||
handling shear/moment distribution for a multi-point rolling-block pick is
|
||||
not in the text — verify against the rendered diagrams / reproduce the beam
|
||||
model.** (This also means the reference tool's own handling demand for a
|
||||
3-point pick came from an external FE model in the QC, not a closed form.)
|
||||
2. **PM interaction diagrams** (QC p.11 summary, p.17 detailed flexure, and each
|
||||
service Section View): plotted curves; axis values partially OCR-only. Read
|
||||
from the image if a numeric P-M point is ever needed.
|
||||
3. **Summary Graphs** on every results section (stress, deflection, fse/fpc):
|
||||
the curve is an image; the Summary Table beneath it is the text of record.
|
||||
4. **Cover / comparison sheets** (QC p.3, p.39–40, p.77) and report drawing
|
||||
pages (strand patterns, structural-model elevations, lift diagrams,
|
||||
cross-sections, QC p.5–8, p.44, p.64–68, p.79, p.82, p.110): dimensioned
|
||||
drawings — key fractions/dimensions appear as text but the geometry is an
|
||||
image.
|
||||
5. **General extraction caveat:** Mathcad's 2-D math renders with scrambled
|
||||
operator/operand order in text extraction. Every equation in this file was
|
||||
reconstructed by **reproducing the printed numeric result**; still glance at
|
||||
the rendered PDF page before changing code off any one of them.
|
||||
Reference in New Issue
Block a user