The recurring problem
Rooftop PV arrays live in a messy flow field: speed-up over the roof, separation at parapets, recirculation near edges, and directional gusts. Using a single default pressure or a fixed “center of pressure” often produces either over-conservative steel or hidden vulnerabilities at edge/corner panels. The cure isn’t “CFD for CFD’s sake”—it’s a code-reconciled aerodynamic picture that your structural checks can trust.
When to go beyond code-only
- Go code-only (fastest) when geometry is simple, arrays are far from edges/parapets, and approval timelines are tight. Document assumptions and conservatism.
- Go CFD-lite (recommended default) when rooftops have parapets, setbacks, equipment wake interactions, or you want to trim tonnage safely.
- Go full CFD when the roof is highly congested, wind climate is directional, or approvals require evidence beyond tabulated pressures.
What “good” looks like (outcomes to aim for)
- Cp maps that show edge/corner intensification and interior relief—per wind direction.
- A defendable effective CoP location for structural load synthesis.
- IS 800/801 member & serviceability checks that mirror the CFD-derived loads.
- Anchors sized for combined tension + shear (EN 1992-4) with edge/group effects.
- A clause-mapped report and GA/set-out drawings—so vendors build what you designed.
Brief theory bite (keep it practical)
- Pressure coefficient (Cp): Cp = (p − p∞) / (½ρV²). It normalizes local pressure to dynamic pressure; directionally dependent.
- Effective center of pressure (CoP): the resultant location of distributed pressure on the panel. For rooftops, CoP often shifts toward edges/corners vs. textbook values.
- Velocity profile (IS 875): use a height-dependent profile (power/log-law) consistent with terrain category & topography. This matters more than people think—get the inlet right first.
Setup (with numbers you can use)
Geometry & domain
- Include parapets, setbacks, nearby equipment that can shed wakes.
- Domain extents (from array envelope): Upstream 5H, downstream 15H, top 5H, sides 5H (H = building height).
Meshing
- Poly-hex or hex-dominant core; prism layers on panels/roof for boundary layer.
- Target y+ ~ 30–100 for wall-function models; keep ≥10 layers, growth ≤1.2.
- Local refinement at parapet edges and leading panel rows.
Physics
- Turbulence: k-ω SST (robust on separation).
- Inlet: IS 875 velocity profile (terrain-specific).
- Directions: at least 8 (every 45°); more if a dominant wind rose is known.
Convergence & stability
- Residuals ≤1e-4 (steady); stable integrated forces vs. iteration; Cp contours not changing.
- Monitor panel force balance (sum of pressures vs. reaction) for internal consistency.
Evaluate (pass/fail diagnostics)
- Edge/corner Cp higher than interior? (If not, you’re likely under-resolving separation.)
- CoP drift across directions? Large swings imply either geometry sensitivity or insufficient domain.
- Force consistency (pressure integration vs. solver force monitors) within ±3–5%.
- Sensitivity check: coarser→finer mesh or taller domain shouldn’t change key Cp > ~5–8%.
From Cp to structure (don’t lose the plot)
- Convert Cp→panel forces and line loads on purlins/rafters by direction/zone.
- Build combinations with dead load and serviceability cases.
- Run IS 800/801: strength, local/distortional buckling, deflection.
- Design base plates and stiffeners; check prying and bolt group behavior.
- Size anchors to EN 1992-4: tension, shear, combined action, edge/group effects.
- Lock it in drawings: GA/set-out, base plate details, anchor schedules.
Drop-in workflow (ANSYS-style, tool-agnostic)
- Pre-CFD sanity: Verify terrain category & basic wind speed; pick profile law & coefficients.
- CFD run set: Directions, steady state, k-ω SST, terrain profile, prism layers, parapet refinement.
- Post-processing: Export Cp fields per direction; calculate CoP per panel zone (edge/corner/interior).
- Load synthesis: For each direction, apply resultant loads to structural model; envelope the worst.
- Structural checks: IS 800/801 members, base plates, anchors (EN 1992-4).
- Report pack: Methods, inputs, Cp visuals, CoP, load table, member & anchor checks, clause references.
- Drawings: GA/set-out, base plate details, anchor schedules, install notes (rooftop waterproofing, torque/pretension).
Compare paths (scorecard)
| Path | Effort | Steel saving | Risk coverage | Reviewer confidence |
|---|---|---|---|---|
| Code-only | ★ | ★★ | ★★ | ★★ |
| CFD-lite (recommended) | ★★★ | ★★★★ | ★★★★ | ★★★★ |
| Full CFD (complex roofs) | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
CFD-lite = building-aware, steady-state, 8–12 wind directions, sensible mesh & profile, reconciled to IS 875.
Quick Fix Playbook (common issues)
- Cp looks flat everywhere → Increase prism layers/refine parapet edges; check inlet profile & turbulence intensity.
- Forces oscillate → Increase iterations; relax under-relaxation; add downstream length.
- Excessive y+ → More prism layers/reduce growth; adjust wall function approach.
- CoP “jumps” between runs → Ensure consistent mesh and domain; add directions to stabilize envelope.
- Anchors failing → Re-layout groups for edge distances; increase plate/stiffeners; re-distribute load paths.
Ship-Ready Checklist
- IS 875 profile documented (terrain, coefficients, equation).
- Cp/CoP per direction + zone (edge/corner/interior).
- Force consistency check (±5%).
- IS 800/801 member & serviceability pass with tables.
- EN 1992-4 anchor pass with edge/group effects.
- GA/set-out, base plates, anchor schedules align with calc pack.
- Assumptions & limits called out (so vendors don’t improvise).
Where Shirsh fits
We run CFD-lite or full CFD as needed, reconcile to IS 875, and carry loads into IS 800/801 member checks and EN 1992-4 anchor design. You get lighter, code-safe steel, cleaner drawings, and a clause-mapped report reviewers can sign off quickly.
Want this applied to your rooftop or ground-mount site? Share your layout, building/terrain info, and deadlines—we’ll scope a practical plan and timeline.