Skip to content

Triaxial Test - Consolidated Drained

Finite Element (FE) representation

For the simulation of consolidated drained (CD) monotonic triaxial tests we perform a so-called ''single-element-simulation'' and by doing so enforce element test assumptions, i.e. a homogeneous distribution of stress/strain within the test sample. A schematic of the FE representation of the CD test is given below.

triaxCD

  • An axisymmetric solid element with four nodes and linear shape functions for the displacement field is used
  • In a first initial step, the initial conditions are applied, i.e. initial stress (\(\sigma_1^0, \sigma_2^0\)), initial void ratio \(e_0\) or any other initial state variable required by the constitutive model to be calibrated
  • In the second loading step, the loading is applied by prescribing the vertical displacements \(u_2\) of the top nodes and thus controlling the axial (vertical) strain in the soil. \(u_2\) is increased linearly starting from \(u_2=0\) until \(u_2^{max} = h \cdot \varepsilon_{lab}^{max}\) is reached. Therein, \(h\) is the soil sample and \(\varepsilon_{lab}^{max}\) is the maximum axial strain measured in the laboratory experiment.

Validation of simulation approach

For the validation of the simulation approach, a comparison with the simulation results on Toyoura Sand with the SANISAND constitutive model reported in the original paper (Dafalias & Manzari (2004)1) is made. Mahdi Taiebat and Sheng Zeng furthermore contributed simulation results of the same tests as in 1 such that a total of three implementations and simulation strategies could be used to benchmark the approach used in numgeo. The simulation results from Taiebat & Sheng were performed using either the finite element code OpenSees or their in-house constitutive model driver ConModel.

triax_CD_p100

Sample numgeo input file

As single-element simulations do not involve complex geometries, we do not use a pre-processor and generate the input file by hand.

  • First we create the four nodes defining the finite element:

    *Node
    1, 0.0 , 0.00
    2, 0.05, 0.00
    3, 0.05, 0.1
    4, 0.00, 0.10
    

  • We use an axisymmetric four node solid element (only one phase considered)

    *Element, Type = U4-solid-ax
    1, 1, 2, 3, 4
    

  • Next, we define some node and element sets for the assignment of boundary conditions, loads and material parameters:

    *Nset, Nset = nall
    1, 2, 3, 4
    *Nset, Nset = nleft
    1, 4
    *Nset, Nset = nright
    2 , 3
    *Nset, Nset = nbottom
    1 , 2
    *Nset, Nset = ntop
    3 , 4
    *Elset, Elset=eall
    1
    

  • In order to assign the material to the element, we first create a solid section. The material name linked to this solid section is arbitrary but must be specified in a later step.

    *Solid Section, elset = eall, material = soil
    

  • Define the material:

    *Material, name = soil, phases = 1
    
    *Mechanical = Sanisand-2
    100,0.934,0.019,0.7,1.25,0.89,0.01,125
    0.05,7.05,0.968,1.1,0.704,3.5,4,600
    
    *Density
    2.65
    

  • Define the initial conditions of the simulation. In the present case this comprises the definition of the initial (effective) stresses as well as the initial void ratio. The initial stresses will be mandatory in most simulations that you will perform using numgeo. The initial void ratio however is only required for constitutive models incorporating the void ratio as a state variable.

    *Initial conditions, type = stress, geostatic
    eall, 0.0, -500, 0.1, -500, 1., 1.
    
    *Initial conditions, type = state variables
    eall, void_ratio, 0.960
    

  • Next, we define an amplitude for later load application. In the present case we use a linear increase from zero at time \(t_{0}=0\) s to one at end time \(t_{end}=1\) s:

    *Amplitude, name = LoadingRamp, type = ramp
    0.0, 0.0, 1.0, 1.0
    

  • As in most simulations in geotechnical engineering we start the simulation by initializing the geostatic stress field due to the self weight of the soil and any initial external loading without generating any deformations. In the present case, the initial stress field is solely given by the external load of 500 kPa acting isotropically on the sample. To solve the arising linear system we use a simple lapack solver. Since this is a very basic simulation, we do not request a field output but rely solely on the print output for evaluating the simulation results.

    *Step, name=Geostatic, inc=1
    *Geostatic
    *Solver, simple
    *Body force, instant
    eall, grav, 0.0, 0., -1, 0.
    *Dload, instant
    eall, p3, -500
    *Dload, instant
    eall, p2, -500
    *Boundary
    nleft, u1, 0.
    nbottom, u2, 0.
    *Output, print
    *Element output, elset=eall
    S, E, void_ratio
    *End Step
    

  • In the second step we simulate the shearing of the soil sample by prescribing a linear increasing vertical displacement of the top nodes of the sample. The displacement magnitude at the end of the step is \(u_{end}=0.02\) m which corresponds to an imposed axial strain of \(\varepsilon_{ax}=20\) %.

    *Step, name=Loading, inc=10000
    *Static
    0.001, 1, 0.001, 0.001
    *Solver, simple
    *Body force, instant
    eall, grav, 0.0, 0., -1, 0.
    *Dload, instant
    eall, p3, -500
    *Dload, instant
    eall, p2, -500
    *Boundary, amplitude = LoadingRamp
    ntop, u2, -0.02
    *Boundary
    nleft, u1, 0.
    nbottom, u2, 0.
    *Output, print
    *Element output, elset=eall
    S, E, void_ratio
    *End Step
    

  • We end the input file by using the "End Step" command.

    *End Input
    

Complete input file

The complete input file is given below.

**=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=
**                                  numgeo                                    
**             Copyright (C) 2022 Jan Machacek, Patrick Staubach              
**=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=~~=

*Node
1, 0.0 , 0.00
2, 0.05, 0.00
3, 0.05, 0.1
4, 0.00, 0.10

*Nset, Nset = nall
1, 2, 3, 4, 5
*Nset, Nset = nleft
1, 4
*Nset, Nset = nright
2 , 3
*Nset, Nset = nbottom
1 , 2
*Nset, Nset = ntop
3 , 4

*Element, Type = U4-solid-ax
1, 1, 2, 3, 4

*Elset, Elset=eall
1

** ----------------------------------------

*Solid Section, elset = eall, material=soil

** ----------------------------------------

*Material, name = soil, phases = 1

*Mechanical = Sanisand-2
100,0.934,0.019,0.7,1.25,0.89,0.01,125
0.05,7.05,0.968,1.1,0.704,3.5,4,600

*Density
2.65

** ----------------------------------------

*Initial conditions, type = stress, geostatic
eall, 0.0, -500, 0.1, -500, 1., 1.

*Initial conditions, type = state variables
eall, void_ratio, 0.960

** ----------------------------------------

*Amplitude, name = LoadingRamp, type = ramp
0.0, 0.0, 1.0, 1.0

** ----------------------------------------

*Step, name=Geostatic, inc=1
*Geostatic

*Solver, simple

*Body force, instant
eall, grav, 0.0, 0., -1, 0.
*Dload, instant
eall, p3, -500
*Dload, instant
eall, p2, -500

*Boundary
nleft, u1, 0.
nbottom, u2, 0.

*Output, print
*Element output, elset=eall
S, E, void_ratio, fyield, flag-integration, stress-p, stress-q

*End Step

** ----------------------------------------

*Step, name=Loading, inc=10000
*Static
0.001, 1, 0.001, 0.001

*Solver, simple

*Body force, instant
eall, grav, 0.0, 0., -1, 0.
*Dload, instant
eall, p3, -500
*Dload, instant
eall, p2, -500

*Boundary, amplitude = LoadingRamp
ntop, u2, -0.02
*Boundary
nleft, u1, 0.
nbottom, u2, 0.

*Output, print
*Element output, elset=eall
S, E, void_ratio, fyield, flag-integration, stress-p, stress-q

*End Step

** ----------------------------------------

*End Input

  1. Y. F. Dafalias and M. T. Manzari, ‘Simple plasticity sand model accounting for fabric change effects’, Journal of Engineering mechanics, vol. 130, no. 6, pp. 622–634, 2004.