Application | PLAXIS 2D |
Version |
PLAXIS 2D CONNECT Edition V20 and V21 |
Date created | 8 February 2021 |
Date modified | 4 April 2025 |
A road embankment is usually a long structure and lies on non-homogeneous subsoil conditions at different locations (Figure 1). Plane strain (2D) conditions can be considered for a segment of this embankment, for which, between its two ends, the strain in the longitudinal direction can be assumed zero.
Figure 1. Large 3D model of a road embankment
Therefore, in practice, analyzing the whole length of the embankment in a 2D model may require creating many cross-sections, which can become a time-consuming process. In general, the design requirements for an embankment construction stage of each cross-section are the stability and settlement assessments. This may take a lot of time and much effort for the analysis if many cross-sections are to be considered and each of the cross-sections needs to be created manually.
PLAXIS 2D is well suited to analyze embankment settlement and slope stability, using sound computations for deformation, consolidation and stability assessment. It is noted that the stability analysis is calculated based on the strength reduction method. If a constitutive model uses the Mohr-Coulomb failure criterion, the shear strength parameters, the tangent of the friction angle (tanφ) and cohesion (c) of the soil are successively reduced until a failure mechanism is fully developed.
The safety factor, SF = SMsf = tan(φ'input)/tan(φ'reduced) = c'input/c'reduced = su,input/su,reduced. More details of the safety analysis in PLAXIS were presented by Brinkgreve and Bakker (1991).
To avoid creating cross-sections manually, which can be a very time-consuming process, particularly when a large number of road cross-sections need to be defined and analyzed, the remote scripting feature with Python can be used in PLAXIS. This allows for the automation and acceleration of the modeling process.
A Python script was developed to create multiple cross-sections of an embankment at different locations and, therefore, to make the design process more effective. The settlement and slope stability are calculated for each stage of an embankment during the construction and consolidation periods. The volume of embankment settlement is also calculated for each cross-section and the results are reported to a text file.
The python script was developed for analyzing a half-symmetric embankment section, which is shown in Figure 2. There are three subsoil layers (Clay (1), Clay (2) and Sand from the top to the bottom) and two embankment layers.
The following nomenclature is used: b/2 = half width of road, w/2 = half width of embankment base, FG = final grade of embankment, h1, 2 = height of embankment layer (1, 2), m: slope of embankment (m = cot α), d1, 2, 3 = thickness of subsoil layers, ELE = elevation of ground surface, GWL = groundwater level.
The Soft Soil model is used to describe the mechanical response of the clay layers, while The Hardening Soil is employed for the embankment and Sand layers. Before running the script for generation cross-sections and calculation, users can change the soil properties and add more soil layers by editing the provided script.
Figure 2. Symmetric embankment cross-section
The workflow of the script is shown in Figure 4. It can be divided into two parts:
The “New project” option creates a new model with user-defined input parameters. The “Reference model” (for existing project) option creates a report for an existing project, which has the specific number of phases and calculation types covered by the script, and has been already been successfully calculated. The information (Figure 3) below needs to be defined when the script runs:
Figure 3. User input as presented when running the Python script
The embankment is constructed in two stages (Stage 1 and 2) (Figure 4 and Figure 5). In each stage, a construction phase, followed by a consolidation phase is performed. The consolidation calculation type is carried out for both phases. In addition, a safety analysis is performed for each phase. Note that a surface load is considered for the safety calculation (but not during the main consolidation phases). In order to achieve this, extra phases with a surface load applied are created accordingly. The temporary load, q1, is used for the safety calculation of embankment stage 1 and construction of embankment stage 2 while permanent load, q2, is used after the consolidation period of embankment stage 2 (Figure 4).
The results of the total settlement and safety factor are obtained for the embankment stages of each cross-section and written to a text file (Figure 7). It includes as follows:
Figure 4. Calculation process
Figure 5. Created phases in PLAXIS 2D
Figure 6. Embankment settlement area
The capabilities of the current script are the following:
Figure 7. Report generated in a text format
The script was developed to automatically create multiple cross-sections of an embankment at different locations using Python remote scripting with PLAXIS. The outputs are settlements, safety factors and embankment settlement area for each embankment construction stage and these results are exported to a text file. This helps users to reduce time and effort of creating and analyzing multiple cross-sections of a long road embankment.
The proposed script is currently limited to three subsoil layers and two embankment construction stages. “Soft soil improvement methods” such as prefabricated vertical drains (PVD) were not included in the current implementation.
Before running the script, users can edit the hard-coded soil properties and add more subsoil layers in the script provided.
For any questions about this script, please check the page How to receive Technical Support.
Details for this method were also discussed and highlighted in the following SIG webinar:
SIG Webinar: Embankment Modelling and Auto-generated 2D Sections using Python
To use this file:
When you do not have access rights to add the script in this folder, alternatively, you can choose to use Expert menu > Python > Run script > Open... to manually open and run the file.
The script is tested with PLAXIS 2D CONNECT Edition V20.04 with Python 3.7.4, and PLAXIS 2D 2024.2 and Python 3.12.3.