Skip to content

Undrained monotonic triaxial test

Development of geometry model

The initial step to set up a problem in numgeo with GiD is creating a geometry. For this, use the straight line Icon or enter exact coordinates into the command line. The following coordinates are used for the undrained monotonic triaxial test.

0.0, 0.0
1.0, 0.0
1.0, 1.0
0.0, 1.0
After entering all coordinates, the shape must be closed by clicking on the first point and joining it. Define the NURBS surface by selecting all lines and leave with ‘esc’.

Mesh generation

A quadrilateral mesh element is defined in this test, since it is a quadratic geometry and only one mesh element is needed. Create the mesh by entering the element size of 1.0 m. For a better overview toggle the mesh-view using the button Icon toggle on the left bar. Speed up the mesh creation using 'CTRL+G'.

Input definition

To add properties to the input file, the numgeo problem type Icon must be loaded in GiD (Data -> Problem type -> numgeo). A data tree will then be shown on the left side.

The relevant groups can be added either before or while getting through the data tree. The groups will be shown on the tab on the right side. For the groups nleft, nright, ntop and nbottom select each line. For the group eall the complete surface needs to be elected.

Now, use the data tree in the left to navigate through the settings and proceed in the order in which they are listed.

  • First, choose the right problem dimension Icon (2D: Axisymmetric) and assign an element type Icon (single-phase solid) for all elements.
  • Define the material name 'soil', the number of phases and the density of the material. Next, choose the material model under Stress-Strain Icon and define the listed material parameters. Then assign the material Icon to all elements.

For the undrained monotonic triaxial test the material parameters of Hypoplasticity + Intergranular Strain Anisotropy are defined as follows:

parameters value parameters value
\( φ \) 0.578 rad \( β_{h0} \) 0.07
\( h_s \) 9958000 kN/m² \( χ^0 \) 10.149
\( n \) 0.252 \( χ^{max} \) 10.832
\( e_{d0} \) 0.643 \( ϵ^{acc} \) 0.017
\( e_{c0} \) 1.066 \( c^{z} \) 762.0
\( e_{i0} \) 1.119 \( β_{hmax} \) 2.078
\( α \) 0.155 \( E_{ph} \) 50.0
\( β \) 2.906 \( ν_{ph} \) 0.450
\( m_R \) 1.345 \( p_{min,ph} \) 1.0
\( R \) 0.000179 \( K^{ω} \) 0.0 0.0 kN/m²
  • Next, we define the amplitude Icon as a ramp and change the name to 'LoadingRamp'. The default values are correct for the undrained monotonic triaxial test.
  • The initial stress Icon and some state variables Icon must be applied for this element test to all elements. For the state variables, the name of every variable must be typed in with the corresponding value.

Initial stress:

  • option: geostatic
  • \( z_1 \): 0.0
  • \( σ_1 \): -402.7
  • \( z_2 \): 0.1
  • \( σ_2 \): -402.7
  • \( k_{0,x} \): 0.994
  • \( k_{0,y} \): 0.994

State variables:

  • void_ratio: 0.819
  • int_strain11: -0.0001035
  • int_strain22: -0.0001035
  • int_strain33: -0.0001035
  • int_back_strain11: -5.18e-05
  • int_back_strain22: -5.18e-05
  • int_back_strain33: -5.18e-05

Step 1: Icon Static

  • Finally, the step can be defined. For this, change the name of the step to 'Static' and enter the number of increments of 10000.
  • Change the analysis type Icon to static. Now the input of time integration Icon is unlocked. The following values for time integration are used:

  • Initial time step: 0.001 s
  • Time step (total): 1 s
  • Minimum time step: 0.001 s
  • Maximum time step: 0.001 s

  • Below the tab 'Icon Dirichlet boundary conditions’ the solid displacements in both directions can be defined. Fix the displacements in the x-direction of nleft and in the y-direction for nbottom.
  • In addition, the linear increasing vertical displacement of the top nodes is prescribed to -0.05. Similiar to that, the linear increasing hotizontal displacement of the right nodes is prescribed to 0.025. Note: Select LoadingRamp for the amplitude, as this is a non-constant displacement.
  • Apply the gravity force to all elements. The default values are already given there. In addition to the gravity force, define a pressure of -402.7 kN/m² on the top and a pressure of -400.3 kN/m² on the right side, both with an instant loading rate.
  • Since this is a basic simulation, only print output Icon for all elements is requested for stress, strain, and void ratio.

Results and visualization

Save the file in a folder, where the problem should run and start the calculation process (numgeo -> Generate numgeo files). numgeo will automatically create two input files and start calculating. Once the calculation process is finished, the results can be plotted using python for example.

The following Python script was used to plot the data shown in figure 1.

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
plt.rcParams['text.usetex'] = True
plt.rcParams['font.size'] = 12
plt.rcParams['axes.spines.right'] = False
plt.rcParams['axes.spines.top'] = False

def cm2inch(*tupl):
    inch = 2.54
    if isinstance(tupl[0], tuple):
        return tuple(i/inch for i in tupl[0])
    else:
        return tuple(i/inch for i in tupl)

sim = np.genfromtxt('./undr-mono-print-out/EALL_element_1.dat', skip_header=1)


fig, (ax1,ax2) = plt.subplots(ncols=2, sharey=True, figsize=cm2inch(16,8))

ax1.plot(-sim[:,8]*100, -(sim[:,2]-sim[:,1]), label='Simulation', color='purple')
ax1.set_ylabel('Deviatoric stress $q$ in kPa')
ax1.set_xlabel('Axial strain $\\varepsilon_{ax}$ in \%')
ax1.legend(loc='lower right', frameon=False)

ax2.plot(-(sim[:,1]+sim[:,2]+sim[:,3])/3., -(sim[:,2]-sim[:,1]), label='Simulation', color='purple')
ax2.set_xlabel('Mean effective stress $p^\prime$ in kPa')

fig.tight_layout()

plt.savefig("stress-strain",dpi = 900)
Result of the simulation
Firgure 1: Result of the undrained monotonic triaxial test

For more information please refer to the corresponding numgeo tutorial for the Undrained monotonic triaxial test.