!*************************************************************************************!
! TITLE: CFVR5312 - Tunnel 2D wizard 
! SUBTITLE: Single tunnel check using the wizard
!
! DESCRIPTION: A single tunnel type 1 without invert and no gable end nor elephant 
! DESCRIPTION: foot is defined with the wizard.
! DESCRIPTION:
! DESCRIPTION: 3 anchorages and trusses are defined and excavation type A is selected.
! DESCRIPTION:
! DESCRIPTION: A terrain with 4 layers will surround the tunnel
! DESCRIPTION:
! DESCRIPTION: CFVR5312.tnCF file is needed to load tunnel parameters into the wizard
! DESCRIPTION:
! 
! ELEMENT TYPE: PLANE182
! MODULES: GETC
! UNITS: User
! KEYWORD1: Tunnels
! KEYWORD2: Geotechnics
!*************************************************************************************!

!------------------------------------------------------------------------------------------
! Initial data
!------------------------------------------------------------------------------------------
FINISH
~CFCLEAR,,1
/FILNAME,CFVR5312
NomFile='CFVR5312'
/TITLE, %NomFile%, Tunnel 2D wizard check

! Civil Setup
~UNITS,,LENG,M
~UNITS,,TIME,S
~UNITS,,FORCE,MP
~CFACTIV,GETC,YES     ! Active geotechnical module

! Parameters
th1= 6		! Soil SW
th2= 9		! Soil GW
th3= 12		! Rock Diorite
th4= 18		! Soil SP

FINISH
/PREP7

! Elements defined by tunnel wizard
! Type 1-3-->PLANE182
! Type 4-->BEAM3
! Type 5-->LINK1

! Materials
~CFMP,1,LIB,CONCRETE,EC2,C40/50   ! Concrete 
~CFMP,3,LIB,SOIL,,SW              ! Soil: Sand Well Graded (SW)
~CFMP,4,LIB,SOIL,,GW              ! Soil: Gravel Well Graded (GW)
~CFMP,5,LIB,ROCK,,Diorite         ! Soil: Diorite
~CFMP,6,LIB,SOIL,,SP,0,0,0        ! Soil: Sand
~CFMP,7,LIB,STEEL,EC3,Fe 360      ! Steel for trusses  
~CFMP,8,LIB,PREST,EHE,Y1860S3     ! Steel for bolts 

! Terrain definition (Water table =149.0 ; Overload 150 ;beta =0)
~TERDEF,8,NEW,4,0,Y,60,0.0,10,1,59     
~TERDEF,8,LAYER,1,3, th1,0 ,DB  ,0     
~TERDEF,8,LAYER,2,4, th2,0 ,DB  ,0                                                        
~TERDEF,8,LAYER,3,5, th3,0 ,DB  ,0                                                      
~TERDEF,8,LAYER,4,6, th4,0 ,DB  ,0                                                      

! B & S Properties for trusses
~SSECLIB,21,7,1,3                         
~BMSHPRO,21,BEAM,21,21,,,3,21,0,,Beam 21  

! B & S Properties for bolts
~CBDMS  ,22,8,0.045                       
~BMSHPRO,22,BEAM,22,22,,,1,22,0,,Link 22  

! Load parameters for tunnel wizard
~TNLWND,CFVR5312,tnCF

FINISH
/POST1

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
NComp = 10
NComp_ch = 0

! Matrix 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,1) = 'Dleft'		
LABEL( 2,1) = 'Dright'		
LABEL( 3,1) = 'Dbottom'		
LABEL( 4,1) = 'MatTypC'
LABEL( 5,1) = 'MatTypSW'	
LABEL( 6,1) = 'MatTypGWSB'	
LABEL( 7,1) = 'MatTypDiSB'		
LABEL( 8,1) = 'MatTypSPSB'
LABEL( 9,1) = 'MatTypAnch'	
LABEL(10,1) = 'NumAnch'

! Correct values
VALUE( 1,1) =  5.0
VALUE( 2,1) =  5.0
VALUE( 3,1) =  5.0
VALUE( 4,1) =  1 
VALUE( 5,1) =  3
VALUE( 6,1) =  12
VALUE( 7,1) =  13
VALUE( 8,1) =  14
VALUE( 9,1) =  8
VALUE(10,1) =  3
      
! CivilFEM values
CMSEL,S,TUNNEL_1_L  
KSLL
*GET, TMXKPX, KP, 0, MXLOC, X
*GET, TMNKPX, KP, 0, MNLOC, X
*GET, TMNKPY, KP, 0, MNLOC, Y

CMSEL,S,PHASE0_A
LSLA
KSLL
*GET, SMXKPX, KP, 0, MXLOC, X
*GET, SMNKPX, KP, 0, MNLOC, X
*GET, SMNKPY, KP, 0, MNLOC, Y

! Dleft, Dright and Dbottom values
VALUE( 1,2)=SMXKPX-TMXKPX
VALUE( 2,2)=TMNKPX-SMNKPX
VALUE( 3,2)=TMNKPY-SMNKPY

! Materials Check
~TPHASE, 4, 2,  
*GET, ElemNum, ELEM,  0, NUM, MAX
*GET, VALUE( 4,2), ELEM, ElemNum, ATTR, MAT		! Concrete

CMSEL,S,PHASE0_E
NSLE
*GET, MXNY,NODE, 0, MXLOC, Y
NSEL,R,LOC,Y,MXNY
ESLN,S,0,CORNER
*GET, ElemNum, ELEM,  0, NUM, MAX
*GET, VALUE( 5,2), ELEM, ElemNum, ATTR, MAT		! Soil SW

CMSEL,S,PHASE0_E
NSLE
NSEL,R,LOC,Y,MXNY-th1-th2/2
ESLN,S,0,CORNER
*GET, ElemNum, ELEM,  0, NUM, MAX
*GET, VALUE( 6,2), ELEM, ElemNum, ATTR, MAT		! Soil GW submerged

CMSEL,S,PHASE0_E
NSLE
NSEL,R,LOC,Y,MXNY-th1-th2-th3/2
ESLN,S,0,CORNER
*GET, ElemNum, ELEM,  0, NUM, MAX
*GET, VALUE( 7,2), ELEM, ElemNum, ATTR, MAT		! Diorite Rock submerged

CMSEL,S,PHASE0_E
NSLE
NSEL,R,LOC,Y,MXNY-th1-th2-th3-th4/2
ESLN,S,0,CORNER
*GET, ElemNum, ELEM,  0, NUM, MAX
*GET, VALUE( 8,2), ELEM, ElemNum, ATTR, MAT		! Soil SP submerged

! Anchorages
CMSEL,S,ANCHORS_E   
*GET, ElemNum, ELEM,  0, NUM, MAX
*GET, VALUE( 9,2), ELEM, ElemNum, ATTR, MAT		! Steel for anchorages 
*GET, VALUE(10,2), ELEM,  0, COUNT				! number of anchorages

! Warning and error tolerances
TOLER( 1,1)= 1E-2 $ TOLER( 1,2)= 1E-2
TOLER( 2,1)= 1E-2 $ TOLER( 2,2)= 1E-2
TOLER( 3,1)= 1E-2 $ TOLER( 3,2)= 1E-2 
TOLER( 4,1)= 1E-2 $ TOLER( 4,2)= 1E-2 
TOLER( 5,1)= 1E-2 $ TOLER( 5,2)= 1E-2 
TOLER( 6,1)= 1E-2 $ TOLER( 6,2)= 1E-2
TOLER( 7,1)= 1E-2 $ TOLER( 7,2)= 1E-2 
TOLER( 8,1)= 1E-2 $ TOLER( 8,2)= 1E-2 
TOLER( 9,1)= 1E-2 $ TOLER( 9,2)= 1E-2 
TOLER(10,1)= 1E-2 $ TOLER(10,2)= 1E-2 
!-------------------------------------------------------------------------------
! Results comparison
!-------------------------------------------------------------------------------

COMPARA.MAC