!*************************************************************************************!
! TITLE: CFVR3301 - Two Retaining Walls with a joint
! SUBTITLE: Two retaining walls with a joint between both.
!
! DESCRIPTION: The example models two retaining walls separated 100.9 meters, which are
! DESCRIPTION: built at the same time.
! DESCRIPTION: The soil between them is then excavated and an anchorage is placed between
! DESCRIPTION: the walls during the excavation.
! DESCRIPTION:
! DESCRIPTION: The terrain is considered to be discontinuous from one wall to the other.
! DESCRIPTION: The terrain corresponding to the first wall (terrain number 10) has no
! DESCRIPTION: water, its surface is at at level 17.0 m, and it has six
! DESCRIPTION: layers with the following properties:
! DESCRIPTION:
! DESCRIPTION: - Layer 1. Thickness 6 m. Soil type SC with a dry specific weight of
! DESCRIPTION:  11200 N/m<sup>2</sup>. Rankine pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: - Layer 2. Thickness 16 m. Soil type GW with a dry specific weight of
! DESCRIPTION:  10200 N/m<sup>2</sup>. Coulomb pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: - Layer 3. Thickness 3 m. Soil type ML with a dry specific weight of
! DESCRIPTION:  12600 N/m<sup>2</sup>. Rankine pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: - Layer 4. Thickness 5 m. Soil type PL with a dry specific weight of
! DESCRIPTION:  9000 N/m<sup>2</sup>. Coulomb pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: - Layer 5. Thickness 8 m. Soil type OH with a dry specific weight of
! DESCRIPTION:  12600 N/m<sup>2</sup>. Coulomb pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: - Layer 6. Thickness 20 m. Soil type OL with a dry specific weight of
! DESCRIPTION:  12600 N/m<sup>2</sup>. Coulomb pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: The terrain corresponding to the second wall (terrain number 15) has its
! DESCRIPTION: water level at -22.5 m from the surface, placed at level 0.0 m, and three
! DESCRIPTION: layers with the following properties:
! DESCRIPTION:
! DESCRIPTION: - Layer 1. Thickness 16 m. Soil type SC with a dry specific weight of
! DESCRIPTION:  11200 N/m<sup>2</sup>. Rankine pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: - Layer 2. Thickness 12 m. Soil type ML with a dry specific weight of
! DESCRIPTION:  12600 N/m<sup>2</sup>. Coulomb pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: - Layer 3. Thickness 20 m. Soil type OH with a dry specific weight of
! DESCRIPTION:  12600 N/m<sup>2</sup>. Rankine pressure coefficients are used for this layer.
! DESCRIPTION:
! DESCRIPTION: The walls are defined with a squared concrete section (1.0 m x 1.0 m) and
! DESCRIPTION: different reinforcement throughout its height. Wall 1 has its top at level
! DESCRIPTION: 20 m, and wall 2 has its top located at level 0 m.
! DESCRIPTION:
! DESCRIPTION: The construction process is defined as follows:
! DESCRIPTION:
! DESCRIPTION: - Step 1. Terrain on wall 1 is excavated to level 16 m.
! DESCRIPTION:
! DESCRIPTION: - Step 2. Terrain on wall 1 is excavated to level 12 m. Terrain on wall 2 is
! DESCRIPTION: excavated to level -5 m. Restrains are placed on wall 1 (level -8 m) and wall 2
! DESCRIPTION: (level -7.5 m) restoring the wall's shape to its initial location. An anchorage
! DESCRIPTION: is also placed on wall 1 (HE 100 A equivalent section at level 0, 10 meters
! DESCRIPTION: length and 160º from the horizontal).
! DESCRIPTION:
! DESCRIPTION: - Step 3. Terrain on wall 1 is excavated to level 8 m. Terrain on wall 2 is
! DESCRIPTION: excavated to level -10 m. A joint (HE 100 A) is placed between the two walls,
! DESCRIPTION: at level 10 m on wall 1 and -5 m on wall 2.
! DESCRIPTION:
! DESCRIPTION: - Step 4. Terrain on wall 1 is excavated to level 4 m. Terrain on wall 2 is
! DESCRIPTION: excavated to level -15 m.
! DESCRIPTION:
! DESCRIPTION: - Step 5. Terrain on wall 1 is excavated to level 0 m.
! DESCRIPTION:
! DESCRIPTION: - Step 6. Terrain on wall 1 is excavated to level -4 m. Terrain on wall 2 is
! DESCRIPTION: excavated to level -20 m.
! DESCRIPTION:
! DESCRIPTION: - Step 7. Terrain on wall 1 is excavated to level -8 m.
! DESCRIPTION:
!
! ELEMENT TYPE: LINK1, BEAM3, BEAM54
! MODULES: GETC
! UNITS: SI
! KEYWORD1: Geotechnics
! KEYWORD2: Retaining Walls
! KEYWORD3: Terrain
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  ~CFACTIV,GETC,Y
  NomFile='CFVR3301'
  /TITLE, %NomFile%, Two Retaining Walls with a joint

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
  ~UNITS,SI
  ~CODESEL,EC3-92,EHE-98,EHE-98,,EC8-04

/PREP7
*GET,VERSION,ACTIVE,,REV

! 1. ELEMENT TYPES
! --------------------------------------------------
ET,1,BEAM3
ET,2,LINK1
*IF,VERSION,GE,22.2,THEN
  ET,10,BEAM3
*ELSE
  ET,10,BEAM54
*ENDIF

! 2. MATERIALS
! --------------------------------------------------
! Steel
~CFMP,1,LIB,STEEL,UNE,S 235
~CFMP,21,LIB,STEEL,UNE,S 235
! Reinforced concrete
~CFMP,12,LIB,CONCRETE,EC2,C16/20
~CFMP,23,LIB,REINF,EC2,S400
! Soils and rocks
~CFMP,101,LIB,SOIL,,SC
~CFMP,102,LIB,SOIL,,GW
~CFMP,103,LIB,SOIL,,ML
~CFMP,104,LIB,SOIL,,PL
~CFMP,105,LIB,SOIL,,OH
~CFMP,106,LIB,SOIL,,OL
~CFMP,101,Soil,GAMD,,11200 ! SC
~CFMP,102,Soil,GAMD,,10200 ! GW
~CFMP,103,Soil,GAMD,,12600 ! ML
~CFMP,104,Soil,GAMD,,9000  ! PL
~CFMP,105,Soil,GAMD,,12600 ! OH
~CFMP,106,Soil,GAMD,,12600 ! OL

! 3. CROSS SECTIONS
! --------------------------------------------------
~SSECLIB,1,1,5,1   !HE 100 A
~CSECDMS,3,REC,12,1,1,0,0,0,0,0,0,2,23
~SECMDF,3,NAME,,,Section 1
~CSGEN,1,5,3,3,1
~RNFMDF,4,RBDEF,RKEY,0
~RNFMDF,4,1,AST,0.002
~RNFMDF,4,2,AST,0.002
~SECMDF,4,NAME,,,Section 2
~RNFMDF,5,RBDEF,RKEY,0
~RNFMDF,5,1,AST,1.8E-3
~RNFMDF,5,2,AST,1.8E-3
~SECMDF,5,NAME,,,Section 3
~RNFMDF,6,RBDEF,RKEY,0
~RNFMDF,6,1,AST,1.6E-3
~RNFMDF,6,2,AST,1.6E-3
~SECMDF,6,NAME,,,Section 4
~RNFMDF,7,RBDEF,RKEY,0
~RNFMDF,7,1,AST,1.4E-3
~RNFMDF,7,2,AST,1.4E-3
~SECMDF,7,NAME,,,Section 5

! 4. BEAM & SHELL PROPERTIES
! --------------------------------------------------
! Joint
~BMSHPRO, 1,BEAM,1,1,,,3,1,0,,Beam 1
! Anchor
~BMSHPRO,42,BEAM,1,1,,,1,1,0,,Beam 2
! Wall
*IF,VERSION,GE,22.2,THEN
  ~BMSHPRO,21,BEAM,3,3,,,3,1,0,,Wall 1st section
  ~BMSHPRO,22,BEAM,4,4,,,3,1,0,,Wall 2nd section
  ~BMSHPRO,23,BEAM,5,5,,,3,1,0,,Wall 3rd section
  ~BMSHPRO,24,BEAM,6,6,,,3,1,0,,Wall 4th section
  ~BMSHPRO,25,BEAM,7,7,,,3,1,0,,Wall 5th section
*ELSE
  ~BMSHPRO,21,BEAM,3,3,,,54,1,0,,Wall 1st section
  ~BMSHPRO,22,BEAM,4,4,,,54,1,0,,Wall 2nd section
  ~BMSHPRO,23,BEAM,5,5,,,54,1,0,,Wall 3rd section
  ~BMSHPRO,24,BEAM,6,6,,,54,1,0,,Wall 4th section
  ~BMSHPRO,25,BEAM,7,7,,,54,1,0,,Wall 5th section
*ENDIF

! 5. TERRAINS
! --------------------------------------------------
  ~TERDEF,  10,NEW, 6, 0, Y, 17
  ~TERDEF,  10,LAYER, 1,101,  6, 0,  DB
  ~TERDEF,  10,LAYER, 2,102, 16, 0,CLMB
  ~TERDEF,  10,LAYER, 3,103,  3, 0,  DB
  ~TERDEF,  10,LAYER, 4,104,  5, 0,CLMB
  ~TERDEF,  10,LAYER, 5,105,  8, 0,CLMB
  ~TERDEF,  10,LAYER, 6,106, 20, 0,CLMB
  ~TERDEF,  15,NEW, 3, 0, Y, 0, 0,0, 1,-22.5
  ~TERDEF,  15,LAYER, 1,101, 16, 0,  DB
  ~TERDEF,  15,LAYER, 2,103, 12, 0,CLMB
  ~TERDEF,  15,LAYER, 3,105, 20, 0,  DB

! 6. WALL
! --------------------------------------------------
  ~WALLINI, 10, 7, 0, 0, 10, 5, 20, 10, 100.9, 15, 2, 0, 15

  ~WALLGEN, 1, 1, 10, 12, 10, 21
  ~WALLGEN, 1, 2,  8, 12, 10, 22
  ~WALLGEN, 1, 3, 10, 12, 10, 23
  ~WALLGEN, 1, 4,  9, 12, 10, 24
  ~WALLGEN, 1, 5, 10, 12, 10, 25
  ~WALLGEN, 2, 1, 15, 12, 10, 21
  ~WALLGEN, 2, 2, 20, 12, 10, 22

  ~WALLSTP, 1, 1,  16
  ~WALLSTP, 2, 1,  12
  ~WALLSTP, 3, 1,   8
  ~WALLSTP, 4, 1,   4
  ~WALLSTP, 5, 1,   0
  ~WALLSTP, 6, 1,  -4
  ~WALLSTP, 7, 1,  -8
  ~WALLSTP, 2, 2,  -5
  ~WALLSTP, 3, 2, -10
  ~WALLSTP, 4, 2, -15
  ~WALLSTP, 6, 2, -20

  ~WALLANC, 2, 1,   -8, 0
  ~WALLANC, 2, 2, -7.5, 0
  ~WALLANC, 2, 1,    0, 1, 160, 10.0, 1, 2, 42

  ~WALLJNT, 3, 10, -5, 21, 1, 1

  ~WALLMOD, 6

  /PBC,ALL, ,1
  /SHRINK,0.1

! 7. SOLUTION
! --------------------------------------------------
/SOLU
  D,7,ALL,0
  D,9,ALL,0
  NEQIT,150
  ~WALLSOL, ALL

! 8. RESULTS
! --------------------------------------------------
/POST1

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp    = 42
  NComp_ch = 0

! Marix dim.
  *DIM,LABEL,CHAR,Ncomp,1
  *DIM,LABEL_CH,CHAR,Ncomp_ch,1
  *DIM,VALUE,,Ncomp,3
  *DIM,VALUE_CH,CHAR,Ncomp_ch,3
  *DIM,TOLER,,Ncomp,2

! Labels
!--------------------------------------------------------------------------------------
  LABEL( 1)  = 'N_Node'
  LABEL( 2)  = 'N_Elem'
  LABEL( 3)  = 'UX_1'
  LABEL( 4)  = 'UY_1'
  LABEL( 5)  = 'UX_2'
  LABEL( 6)  = 'UY_2'
  LABEL( 7)  = 'UX_4'
  LABEL( 8)  = 'UY_4'
  LABEL( 9)  = 'UX_7'
  LABEL(10)  = 'UY_7'
  LABEL(11)  = 'UX_9'
  LABEL(12)  = 'UY_9'
  LABEL(13)  = 'UX_20'
  LABEL(14)  = 'UY_20'
  LABEL(15)  = 'N_Node'
  LABEL(16)  = 'N_Elem'
  LABEL(17)  = 'UX_1'
  LABEL(18)  = 'UY_1'
  LABEL(19)  = 'UX_2'
  LABEL(20)  = 'UY_2'
  LABEL(21)  = 'UX_4'
  LABEL(22)  = 'UY_4'
  LABEL(23)  = 'UX_7'
  LABEL(24)  = 'UY_7'
  LABEL(25)  = 'UX_9'
  LABEL(26)  = 'UY_9'
  LABEL(27)  = 'UX_20'
  LABEL(28)  = 'UY_20'
  LABEL(29)  = 'N_Node'
  LABEL(30)  = 'N_Elem'
  LABEL(31)  = 'UX_1'
  LABEL(32)  = 'UY_1'
  LABEL(33)  = 'UX_2'
  LABEL(34)  = 'UY_2'
  LABEL(35)  = 'UX_4'
  LABEL(36)  = 'UY_4'
  LABEL(37)  = 'UX_7'
  LABEL(38)  = 'UY_7'
  LABEL(39)  = 'UX_9'
  LABEL(40)  = 'UY_9'
  LABEL(41)  = 'UX_20'
  LABEL(42)  = 'UY_20'

! Correct data, obtained data
!--------------------------------------------------------------------------------------
! Load Step 1
~CFSET,,1
   VALUE( 1,1) =  229           $  *GET,VALUE( 1,2),NODE,0,COUNT     ! N_Node
   VALUE( 2,1) =  228           $  *GET,VALUE( 2,2),ELEM,0,COUNT     ! N_Elem
   VALUE( 3,1) =  6.0653E-3     $  *GET,VALUE( 3,2),NODE, 1,U,X      ! UX_1
   VALUE( 4,1) =  0             $  *GET,VALUE( 4,2),NODE, 1,U,Y      ! UY_1
   VALUE( 5,1) =  0             $  *GET,VALUE( 5,2),NODE, 2,U,X      ! UX_2
   VALUE( 6,1) =  0             $  *GET,VALUE( 6,2),NODE, 2,U,Y      ! UY_2
   VALUE( 7,1) =  1.3601E-4     $  *GET,VALUE( 7,2),NODE, 4,U,X      ! UX_4
   VALUE( 8,1) =  0             $  *GET,VALUE( 8,2),NODE, 4,U,Y      ! UY_4
   VALUE( 9,1) =  0             $  *GET,VALUE( 9,2),NODE, 7,U,X      ! UX_7
   VALUE(10,1) =  0             $  *GET,VALUE(10,2),NODE, 7,U,Y      ! UY_7
   VALUE(11,1) =  0             $  *GET,VALUE(11,2),NODE, 9,U,X      ! UX_9
   VALUE(12,1) =  0             $  *GET,VALUE(12,2),NODE, 9,U,Y      ! UY_9
   VALUE(13,1) =  3.80125E-3    $  *GET,VALUE(13,2),NODE,20,U,X      ! UX_20
   VALUE(14,1) =  0             $  *GET,VALUE(14,2),NODE,20,U,Y      ! UY_20

! Load Step 5
~CFSET,,5
   VALUE(15,1) =  229           $  *GET,VALUE(15,2),NODE,0,COUNT     ! N_Node
   VALUE(16,1) =  228           $  *GET,VALUE(16,2),ELEM,0,COUNT     ! N_Elem
   VALUE(17,1) =  8.1462E-1     $  *GET,VALUE(17,2),NODE, 1,U,X      ! UX_1
   VALUE(18,1) =  5.8088E-4     $  *GET,VALUE(18,2),NODE, 1,U,Y      ! UY_1
   VALUE(19,1) =  4.7406E-4     $  *GET,VALUE(19,2),NODE, 2,U,X      ! UX_2
   VALUE(20,1) = -2.7204E-5     $  *GET,VALUE(20,2),NODE, 2,U,Y      ! UY_2
   VALUE(21,1) =  1.4175E-1     $  *GET,VALUE(21,2),NODE, 4,U,X      ! UX_4
   VALUE(22,1) =  4.9376E-4     $  *GET,VALUE(22,2),NODE, 4,U,Y      ! UY_4
   VALUE(23,1) =  0             $  *GET,VALUE(23,2),NODE, 7,U,X      ! UX_7
   VALUE(24,1) =  0             $  *GET,VALUE(24,2),NODE, 7,U,Y      ! UY_7
   VALUE(25,1) =  0             $  *GET,VALUE(25,2),NODE, 9,U,X      ! UX_9
   VALUE(26,1) =  0             $  *GET,VALUE(26,2),NODE, 9,U,Y      ! UY_9
   VALUE(27,1) =  0.69728       $  *GET,VALUE(27,2),NODE,20,U,X      ! UX_20
   VALUE(28,1) =  5.8082E-4     $  *GET,VALUE(28,2),NODE,20,U,Y      ! UY_20

! Load Step 7
~CFSET,,7
   VALUE(29,1) =  229           $  *GET,VALUE(29,2),NODE,0,COUNT     ! N_Node
   VALUE(30,1) =  228           $  *GET,VALUE(30,2),ELEM,0,COUNT     ! N_Elem
   VALUE(31,1) =  0.808827      $  *GET,VALUE(31,2),NODE, 1,U,X      ! UX_1
   VALUE(32,1) =  7.17465E-4    $  *GET,VALUE(32,2),NODE, 1,U,Y      ! UY_1
   VALUE(33,1) =  7.18868E-4    $  *GET,VALUE(33,2),NODE, 2,U,X      ! UX_2
   VALUE(34,1) = -2.80662E-5    $  *GET,VALUE(34,2),NODE, 2,U,Y      ! UY_2
   VALUE(35,1) =  1.68099E-1    $  *GET,VALUE(35,2),NODE, 4,U,X      ! UX_4
   VALUE(36,1) =  6.27654E-4    $  *GET,VALUE(36,2),NODE, 4,U,Y      ! UY_4
   VALUE(37,1) =  0             $  *GET,VALUE(37,2),NODE, 7,U,X      ! UX_7
   VALUE(38,1) =  0             $  *GET,VALUE(38,2),NODE, 7,U,Y      ! UY_7
   VALUE(39,1) =  0             $  *GET,VALUE(39,2),NODE, 9,U,X      ! UX_9
   VALUE(40,1) =  0             $  *GET,VALUE(40,2),NODE, 9,U,Y      ! UY_9
   VALUE(41,1) =  0.697241      $  *GET,VALUE(41,2),NODE,20,U,X      ! UX_20
   VALUE(42,1) =  7.17465E-4    $  *GET,VALUE(42,2),NODE,20,U,Y      ! UY_20

! Warning and error tolerances
  TOLER(  1,1) = 0     $  TOLER(  1,2) = 0
  TOLER(  2,1) = 0     $  TOLER(  2,2) = 0
  TOLER(  3,1) = .5E-3 $  TOLER(  3,2) = .5E-3
  TOLER(  4,1) = 1E-8  $  TOLER(  4,2) = 1E-8
  TOLER(  5,1) = 1E-8  $  TOLER(  5,2) = 1E-8
  TOLER(  6,1) = 1E-8  $  TOLER(  6,2) = 1E-8
  TOLER(  7,1) = .5E-3 $  TOLER(  7,2) = .5E-3
  TOLER(  8,1) = 1E-8  $  TOLER(  8,2) = 1E-8
  TOLER(  9,1) = 1E-7  $  TOLER(  9,2) = 1E-7
  TOLER( 10,1) = 1E-8  $  TOLER( 10,2) = 1E-8
  TOLER( 11,1) = 1E-8  $  TOLER( 11,2) = 1E-8
  TOLER( 12,1) = 1E-8  $  TOLER( 12,2) = 1E-8
  TOLER( 13,1) = 1E-3  $  TOLER( 13,2) = 1E-3
  TOLER( 14,1) = 1E-8  $  TOLER( 14,2) = 1E-8
  TOLER( 15,1) = 0     $  TOLER( 15,2) = 0
  TOLER( 16,1) = 0     $  TOLER( 16,2) = 0
  TOLER( 17,1) = .5E-2 $  TOLER( 17,2) = .5E-3
  TOLER( 18,1) = 1E-6  $  TOLER( 18,2) = 1E-6
  TOLER( 19,1) = 1E-5  $  TOLER( 19,2) = 1E-5
  TOLER( 20,1) = 1E-7  $  TOLER( 20,2) = 1E-7
  TOLER( 21,1) = 1E-3  $  TOLER( 21,2) = 1E-3
  TOLER( 22,1) = 1E-6  $  TOLER( 22,2) = 1E-6
  TOLER( 23,1) = 1E-7  $  TOLER( 23,2) = 1E-7
  TOLER( 24,1) = 1E-8  $  TOLER( 24,2) = 1E-8
  TOLER( 25,1) = 1E-8  $  TOLER( 25,2) = 1E-8
  TOLER( 26,1) = 1E-8  $  TOLER( 26,2) = 1E-8
  TOLER( 27,1) = 1E-4  $  TOLER( 27,2) = 1E-4
  TOLER( 28,1) = 1E-6  $  TOLER( 28,2) = 1E-6
  TOLER( 29,1) = 0     $  TOLER( 29,2) = 0
  TOLER( 30,1) = 0     $  TOLER( 30,2) = 0
  TOLER( 31,1) = 1E-5  $  TOLER( 31,2) = 1E-5
  TOLER( 32,1) = 1E-8  $  TOLER( 32,2) = 1E-8
  TOLER( 33,1) = 1E-8  $  TOLER( 33,2) = 1E-8
  TOLER( 34,1) = 1E-8  $  TOLER( 34,2) = 1E-8
  TOLER( 35,1) = 2E-6  $  TOLER( 35,2) = 2E-6
  TOLER( 36,1) = 1E-8  $  TOLER( 36,2) = 1E-8
  TOLER( 37,1) = 1E-7  $  TOLER( 37,2) = 1E-7
  TOLER( 38,1) = 1E-8  $  TOLER( 38,2) = 1E-8
  TOLER( 39,1) = 1E-8  $  TOLER( 39,2) = 1E-8
  TOLER( 40,1) = 1E-8  $  TOLER( 40,2) = 1E-8
  TOLER( 41,1) = 2E-6  $  TOLER( 41,2) = 2E-6
  TOLER( 42,1) = 1E-8  $  TOLER( 42,2) = 1E-8

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
