> 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/box-culvert-workflow/substructure-bc/box-culvert-barrel-bc.md).

# Box Culvert Barrel \[BC]

The Box Culvert Barrel is the culvert itself: a cast-in-place reinforced concrete box, single- or multi-cell, meshed as a closed frame of shell surfaces — top slab, bottom slab, the two exterior walls and any interior webs. It is the object every other part of the workflow attaches to; the fill, the bedding and backfill springs, all five load objects, the code check and the reports all select it.

The barrel's shape comes from a picked culvert section rather than from dimensions typed here, so a section change reshapes the mesh, the design cuts and the quantities together. Its position comes from the structure's alignment plus a start station and a top-slab elevation.

## Geometry

**Structure Definition:** The bridge object that supplies the alignment the barrel is laid out on. The culvert axis follows that alignment in plan and profile, which is why the barrel warps correctly around a horizontal curve. A selection is required. Changing the alignment on the Structure Definition is the intended way to move the culvert — the barrel and everything referenced to it follow.

> On a model saved before the barrel took its alignment from the Structure Definition, a stale `culvAlignment` value can remain stored on the culvert and shadow the derived one, so the barrel keeps following the old alignment. Clearing that stored value on the culvert restores the link.

**Culvert Length (Along Axis):** The barrel length measured along the culvert axis, from the start station to the end. Must be positive. This is the length the mesh, the sliced wall loads and the length-based quantities all use.

**Start Station (Along Culvert Axis):** The station on the alignment where the barrel begins; it ends at this station plus the culvert length. Everything longitudinal — the mesh surfaces, the design-cut reference lines, the sliced earth-pressure and surcharge loads, and the backfill soil body — is placed from here, so the whole assembly moves together when it changes. Leaving it at 0 places the barrel at the start of the alignment, which is rarely where a real culvert sits; set it to the surveyed crossing station. A station outside the alignment's own range is extrapolated rather than rejected, so check the barrel's position in 3D after setting it.

**Culvert Section (from Culvert Sections database):** The cross-section that gives the barrel its shape. A selection is required, and it must come from the Culvert Sections database — a section without culvert parameters is reported as an issue rather than silently producing a wrong barrel.

The picked section carries the dimensions the barrel is built from: the number of cells, the clear span per cell and the clear rise, the top and bottom slab thicknesses, the exterior and interior wall thicknesses, and an optional 45° corner haunch (0 for square corners). Its material is the concrete used for the whole barrel. The section is drawn with its top at the origin so the body hangs below the alignment, matching how the barrel sits under the road. Because sections are copied into a project when imported, editing the section in the database does not reach a project that already imported it — re-import to pick up a change.

**Top of Top Slab Elevation:** The vertical offset of the top of the top slab from the alignment profile, positive upward. With the alignment as the roadway profile this is negative and its magnitude is roughly the cover: the default places the top slab 10 ft below the profile. Moving it moves the barrel; the fill and the soil profile referenced to the culvert top follow, while anything referenced to an absolute elevation stays put.

## FEA

**Mesh Refinement Along Axis:** Target element size along the barrel. It also sets the number of slices the earth-pressure and surcharge wall loads are cut into, so a coarser value makes those loads coarser as well as the mesh.

**Mesh Refinement Transverse/Vertical:** Target element size across the slabs and up the walls.

**Mesh Algorithm \[MeshAdapt/Automatic/Initial mesh only/Delaunay/Frontal-Delaunay/BAMG/Frontal-Delaunay for Quads/Packing of Parallelograms/Quasi-structured Quad]:** The meshing algorithm used for the barrel's shell surfaces. The default produces quadrilateral-dominant elements, which suit the rectangular slab and wall panels of a box culvert. Only the listed algorithms are accepted; anything else is reported as an issue.

## Referencing Objects

**Culvert Backfill Soils:** The backfill soil objects that bear on this culvert, filled in automatically when one of them selects it. The barrel reads them to pin a mesh row at every soil layer boundary, so a stiffness change lands exactly on a node instead of being smeared across an element. (Read-only)

**Culvert Fills:** The Culvert Fill covering this culvert, filled in automatically when the fill selects it. This is how Vertical Earth, Live Load Through Fill and Live Load Surcharge reach the fill without a pick of their own. A culvert carries at most one. (Read-only)

## Quantities

All quantity fields are read-only computed values except the rebar density. They are derived from the extruded section solid and may take a moment to refresh on recompute.

**Volume:** Concrete volume of the barrel. (Read-only)

**Section Area:** Area of the culvert cross-section — the outline less the cell openings. (Read-only)

**Total Surface Area (Exterior Envelope):** Area of the barrel's outer envelope including both end faces. It does not include the cell interiors, which are reported separately. (Read-only)

**Min Length Path:** Length measured along the shortest path through the extrusion. On a curved alignment this is the inside of the curve, so it is shorter than the length at the centre of gravity. (Read-only)

**Length @COG Path:** Length measured along the section's centre of gravity — the representative barrel length, and the one the area quantities below are built on. (Read-only)

**Max Length Path:** Length measured along the longest path, the outside of a curve. (Read-only)

**Top Surface Area:** Outside width times the barrel length — the plan area of the top slab, which is the surface the vertical earth and live loads are applied over. (Read-only)

**Bottom Surface Area:** Outside width times the barrel length — the bearing area of the bottom slab. (Read-only)

**Exterior Wall Face Area:** Combined outside face area of both exterior walls, the surface the lateral earth pressure and surcharge act on. (Read-only)

**Interior (Cell) Surface Area:** Wetted area inside the cells — the waterway perimeter times the barrel length. Useful for interior finish or lining take-off. (Read-only)

**End Face Area:** Combined area of the two cut ends of the barrel. (Read-only)

**Waterway Opening Area:** Clear flow area through all cells, with the corner haunches deducted. This is the hydraulic opening the culvert provides. (Read-only)

**Waterway Perimeter:** Wetted perimeter of all cells, with each haunch replacing two corner legs by its hypotenuse. (Read-only)

**Rebar Density(per cubic yard):** Assumed weight of reinforcement per unit volume of concrete, used to turn the concrete volume into a rebar weight for take-off. It is an estimate for quantity purposes and does not affect the code check, which uses the bar sizes and spacings entered on the Culvert Code Check.

**Rebar Weight:** Concrete volume times the rebar density. (Read-only)

## IFC

**Type \[IfcBridge/IfcBridgePart/IfcSlab/IfcElementAssembly]:** The IFC entity the barrel is exported as.

**Predefined Type \[SUBSTRUCTURE/CULVERT/NOTDEFINED]:** The IFC predefined type.

**Parent \[SUBSTRUCTURE/SUPERSTRUCTURE/BRIDGE]:** Where the barrel is placed in the exported IFC hierarchy.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.openbrim.org/templates/box-culvert-workflow/substructure-bc/box-culvert-barrel-bc.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
