> For the complete documentation index, see [llms.txt](https://docs.openbrim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openbrim.org/templates/spliced-i-girder-bridge-workflow/loading-spig/loads-spig/wind-load-spig/wind-load-on-structure-spig/ws-custom-spig.md).

# WS Custom \[SPIG]

Wind load on the structure from a pressure **you supply**, rather than one derived from code provisions.

Use this when the design wind pressure has already been established outside OpenBrIM — in a spreadsheet, a wind study, a site-specific report, or a code other than AASHTO. Nothing about the wind is inferred: there is no design wind speed, no gust effect factor, no drag coefficient, no exposure category and no shielding factor to enter. You give the pressure and the angle it acts at; the object resolves it onto the elements you pick.

The load is applied the same way **WS AASHTO** applies its own: as a surface load over each element's wind face, along the alignment, plus a line load for the overturning moment where the element reports one. It does **not** use the projected-area rendering that **WS Graphical** performs, so it adds no rendering cost to a compile.

## Wind Pressure and the attack angle

**The pressure you enter is the resultant at the attack angle you enter.** It is resolved geometrically:

* transverse to the bridge — pressure × cos(attack angle)
* along the bridge — pressure × sin(attack angle)

so the magnitude is preserved at every angle.

This is deliberately **not** the AASHTO 3.8.1.2.3 skew table. That table (transverse `1.00, 0.88, 0.82, 0.66, 0.34` and longitudinal `0.00, 0.12, 0.24, 0.32, 0.38` at 0°, 15°, 30°, 45°, 60°) also folds in the drop in drag on a skewed deck, which shrinks the resultant to about half the base pressure at 60°. Applying it here would reduce a pressure you have already reduced yourself. If you want the AASHTO treatment, use **WS AASHTO**, which derives the base pressure and applies that table for you.

## Parameters

**Stage:** The stage the wind acts in. The wind results are not shown in that stage itself — OpenBrIM generates sub-stages beneath it, one per attack angle and wind direction, and the results appear there. The sub-stage inherits the stage's construction method, day, time-dependent settings and solver settings, so the wind is analysed on the same structure as the stage it is attached to.

**Attack Angle Start / Attack Angle End / # of Directions:** The angles to analyse. Both ends are inclusive, so *n* directions are spaced (end − start)/(*n* − 1) apart. **For a single angle, put the same value in both ends and 1 in the count.**

The angle is a signed skew about the wind direction chosen per element, not a compass heading, and is limited to ±89°. Past 90° the wind would be blowing on the opposite face of the structure — to model that, change the element's **Wind Direction** instead.

Up to 10 directions are allowed. With both wind directions in use, each angle produces two load cases, and the envelope that collects them holds twenty.

**Structural Objects And Wind Pressure:** One row per element the wind acts on.

* **Applied Elements:** The element the pressure acts on. Typically exterior girders, barriers, the deck, pier caps and end bents.
* **Wind Pressure:** The design pressure, as a magnitude. Direction comes from the row's Wind Direction and from the attack angle, never from the sign of this value.
* **Wind Direction \[Left to Right / Right to Left / Both Direction]:** Which face the wind blows on. *Both* analyses the element from either side.
* **Partial Wind Load Application \[Yes/No]** with **Start Station** and **End Station:** Restricts the load to part of the element — for a girder erected up to a station, or a barrier that does not run the full length. The overturning-moment path is clipped to the same range.

**Is Active \[Yes/No]:** Set to *No* to switch every load this object generates off without deleting it.

## Results

The object creates one analysis case per attack angle and wind direction, and a single **envelope** case over all of them that reports the critical value. Point the wind row of your limit-state table at that envelope — the individual angle cases are there if you want to inspect one, but the envelope is what design should read.

Because the pressure is yours rather than a code-derived one, there is a single set of cases: apply your own load factor per limit state in the load combination, the way you would for any user-defined load.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.openbrim.org/templates/spliced-i-girder-bridge-workflow/loading-spig/loads-spig/wind-load-spig/wind-load-on-structure-spig/ws-custom-spig.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
