Introduction
Designing a reinforced concrete slab involves more than calculating displacements and internal forces. For practical engineering use, the calculation workflow must extend from finite element analysis to reinforcement design in accordance with Eurocode 2.
Objective
This benchmark presents the ULS reinforcement design of a reinforced concrete slab using the open-source finite element software code_aster.
The geometry and loading of the reference case are defined to facilitate interpretation and verification of the results. The workflow remains representative of a process that can be applied to more complex civil engineering models.
The procedure is as follows:
- Create a plate finite element model of the slab;
- Assign the material and geometric properties;
- Apply the permanent and imposed actions;
- Calculate the plate forces and moments;
- Determine the required reinforcement in accordance with Eurocode 2;
- Compare the resulting reinforcement areas with those obtained from a Eurocode 2 calculation spreadsheet for a 1 m wide slab strip.
Finite Element Model
The slab is a 10 m × 5 m rectangular plate modelled in the XY plane. It is 0.50 m thick. The mesh generated in Salomé has a nominal element size of 0.50 m.
The main model characteristics are listed below.
| Parameter | Value |
|---|---|
| Length in the X direction | 10 m |
| Width in the Y direction | 5 m |
| Thickness | 0.50 m |
| Element formulation | DKT plate |
| Finite element | QUAD4 |
| Nominal mesh size | 0.50 m |
The finite element model is set up in the command file as follows:
- The MED mesh is read using
LIRE_MAILLAGE; - The mechanical model is created using
AFFE_MODELE, with theDKTplate formulation assigned to the "slab" group; - The plate properties are defined using
AFFE_CARA_ELEM, with a thickness of0.50 m; - The mechanical properties of the concrete are defined using
DEFI_MATERIAUand assigned to the slab usingAFFE_MATERIAU; - The boundary conditions are applied using
AFFE_CHAR_MECA.
The two support lines are defined by the node groups "B0X_nodes" and "B1X_nodes", located along the end edges of the slab at and . They are modelled as line supports restraining all three translations while leaving the rotations free.
Design Assumptions
The finite element model uses C30/37 concrete. The parameters adopted for the mechanical analysis are listed below.
| Property | Value |
|---|---|
| Young's modulus of concrete | 30 GPa |
| Poisson's ratio | 0.20 |
| Density | 2500 kg/m³ |
The following table presents the main parameters adopted for the ULS reinforcement calculation in accordance with Eurocode 2.
| EC2 parameter | Value |
|---|---|
| Concrete | C30/37 |
| Characteristic compressive strength of concrete | 30 MPa |
| Reinforcing steel | B500B |
| Characteristic yield strength of reinforcing steel | 500 MPa |
| Young's modulus of reinforcing steel | 210 GPa |
Distance used to position the bottom reinforcement layer (C_INF) | 4 cm |
Distance used to position the top reinforcement layer (C_SUP) | 4 cm |
| Partial factor for concrete | 1.50 |
| Partial factor for reinforcing steel | 1.15 |
| Minimum reinforcement | Calculated using the EC2 minimum-reinforcement option |
The values and , entered in code_aster using C_INF and C_SUP, are parameters used to locate the reinforcement layers in the reinforcement calculation. In a detailed design, these values must be consistent with the nominal concrete cover, bar diameter and actual position of the centroid of each reinforcement layer.
Loads and ULS Combination
Two actions are considered:
- The self-weight of the slab;
- A uniformly distributed imposed load of 5.0 kN/m².
The fundamental ULS combination is applied directly in the command file:
The self-weight of the slab is calculated from the concrete density and plate thickness:
After applying the partial factors, the self-weight contribution is 16.55 kN/m² and the imposed-load contribution is 7.50 kN/m². The resulting design load per unit area is therefore:
Extraction of plate forces and moments
The mechanical analysis is performed using MECA_STATIQUE in code_aster. The result is then enriched using CALC_CHAMP to obtain the EFGE_ELNO field, which contains the plate force and moment resultants at the element nodes.
The EFGE_ELNO field contains the membrane force resultants NXX, NYY and NXY; the bending and twisting moments MXX, MYY and MXY; and the transverse shear forces QX and QY. In this benchmark, the comparison focuses on MXX, which is used to design the main reinforcement in the X direction.
In the case considered, the membrane force resultants are zero. The response of the slab is therefore dominated by flexure under the vertical loads.
For comparison with the analytical calculation and the EC2 spreadsheet, the peak absolute value of MXX is extracted at midspan for the ULS combination.
| Quantity | Value used | Engineering interpretation |
|---|---|---|
MXX | -303.09 kN·m/m | Bending moment per unit width in the X direction at midspan |
The sign of MXX depends on the local plate coordinate system, particularly the orientation of the plate normal and the sign convention used for the force and moment resultants.

Verification of the Bending Moment
The bending moment obtained with code_aster is compared with the analytical calculation for a simply supported beam subjected to a uniformly distributed load.
The comparison is presented below.
| Source | Design bending moment |
|---|---|
| Analytical estimate | ≈ 300.6 kN·m/m |
| Finite element result, | 303.09 kN·m/m |
The relative difference between the two values is:
The relative difference between the two results is 0.83%. The MXX value obtained from the finite element model is therefore validated for calculating the required reinforcement areas.
Reinforcement calculation with code_aster
The reinforcement calculation is based on the plate forces and moments calculated previously. The CALC_FERRAILLAGE command uses the mechanical result, the plate geometry and the Eurocode 2 design parameters to determine the required reinforcement area per unit width.
The result is stored in a FERR_ELEM field.
The main components used in this study are:
FERR_ELEM component | Engineering meaning |
|---|---|
DNSXI | Bottom reinforcement area per unit width in the X direction |
DNSXS | Top reinforcement area per unit width in the X direction |
DNSYI | Bottom reinforcement area per unit width in the Y direction |
DNSYS | Top reinforcement area per unit width in the Y direction |
DNSXT, DNSYT | Transverse reinforcement contributions associated with shear, equal to zero in this result |
DNSVOL | Volumetric indicator associated with the calculated reinforcement |
CONSTRUC | Constructability indicator associated with the reinforcement density |
This step directly links the structural analysis to reinforcement design. Rather than manually exporting the plate forces and moments from each element and processing them in a spreadsheet, code_aster directly produces a field of reinforcement areas. With the option FERR_MIN = "EC2", the EC2 minimum reinforcement is also calculated and enforced in the FERR_ELEM field. The resulting contour therefore shows the required reinforcement area after application of the minimum reinforcement requirement. Where the reinforcement area calculated from the design actions is lower than the EC2 minimum, the displayed value corresponds to the minimum reinforcement calculated by code_aster.

Results
The largest reinforcement requirement occurs in the bottom layer in the X direction, represented by the DNSXI component. The maximum value obtained from the reinforcement contour is:
The DNSXI contour ranges from 5.98 cm²/ml, corresponding to the minimum reinforcement applied in the less highly stressed regions, to 14.94 cm²/ml in the critical midspan region.
The maximum DNSXI values occur at midspan. This distribution is consistent with the bending-moment distribution of a slab spanning between two support lines under vertical loading.
For a 1 m wide slab strip subjected to a bending moment of 303.09 kN·m, the EC2 calculation spreadsheet gives the following required tensile reinforcement area:
| Method | Bottom reinforcement area in the X direction |
|---|---|
code_aster — maximum DNSXI | 14.94 cm²/m |
| EC2 calculation spreadsheet | 14.94 cm²/m |
| Relative difference | 0.00% |
For the same design moment and design parameters, code_aster and the EC2 calculation spreadsheet give the same reinforcement area.
Benefits of the open-source code_aster approach
This benchmark shows that code_aster is not limited to calculating displacements and plate forces and moments. As part of a reinforced-concrete structural analysis workflow, it can also perform reinforcement design in accordance with Eurocode 2 and generate a reinforcement field.
This approach is relevant to structural engineering consultancies seeking to:
- Maintain a scripted and auditable calculation workflow;
- Reduce manual transfers of plate forces and moments to spreadsheets;
- Automate repetitive checks on large models;
- Improve traceability between assumptions, actions, analysis results and reinforcement design.
The open-source nature of code_aster also provides a methodological advantage: the .comm file is an executable, version-controlled representation of the calculation workflow. The assumptions, actions, combinations, EC2 parameters and requested outputs are documented explicitly. This structure facilitates technical review, internal knowledge reuse and adaptation of the workflow to other studies.
This type of benchmark can be used to assess the consistency of the calculation workflow before applying it to more complex models.
Conclusion
This benchmark demonstrates a complete code_aster workflow for a reinforced concrete slab: finite element modelling, application of the ULS load combination, extraction of plate forces and moments, calculation of the required reinforcement areas, and comparison with an EC2 calculation spreadsheet.
The bottom reinforcement in the X direction reaches 14.94 cm²/ml in code_aster. The EC2 calculation spreadsheet also gives 14.94 cm²/ml for the same 1 m wide slab strip. This exact agreement confirms the consistency of the complete code_aster reinforcement-design workflow for the reference case.
Beyond the numerical result, code_aster makes it possible to build an open, script-based, traceable and extensible workflow linking the plate forces and moments obtained from the finite element model to reinforcement design. For civil engineering applications, this approach allows calculation procedures to be automated and captured as reusable engineering workflows while reducing manual data transfers between separate tools.
The present benchmark is limited to ULS design. The natural next step is to extend the same approach to SLS desing in order to cover both ultimate resistance and the serviceability criteria required for the complete design of a reinforced concrete slab.
References
- NF EN 1990 and National Annex — Eurocode: Basis of structural design.
- NF EN 1991-1-1 and National Annex — Eurocode 1: Actions on structures — Densities, self-weight, imposed loads for buildings.
- NF EN 1992-1-1 and National Annex — Eurocode 2: Design of concrete structures — General rules and rules for buildings.
- Official code_aster v17 documentation for the
AFFE_MODELE,AFFE_CARA_ELEM,MECA_STATIQUE,CALC_CHAMPandCALC_FERRAILLAGEcommands.