!***********************************************************************!
! TITLE: CFVR3304 - Retaining Wall 3D Geometry checking
! SUBTITLE: Retaining wall depth + anchorages length checking
!
! DESCRIPTION: This example test the geometry of the model generated with
! DESCRIPTION: the Retaining Wall tool in Geotechnial Module, comparing
! DESCRIPTION: the size of the model with the variables introduced.
! DESCRIPTION:
! DESCRIPTION: The example loads the test model which creates the following structural materials:
! DESCRIPTION:
! DESCRIPTION: - C40/50 concrete for the wall.
! DESCRIPTION:
! DESCRIPTION: - S400 steel for the reinforcement and anchorages.
! DESCRIPTION:
! DESCRIPTION: - Fe 430 steel for the anchorages shapes.
! DESCRIPTION:
! DESCRIPTION: The terrain is defined with four layers:
! DESCRIPTION:
! DESCRIPTION: - Layer 1: Sand Well Graded. 2 m thickness.
! DESCRIPTION:
! DESCRIPTION: - Layer 2: Gravel Well Graded. 8 m thickness.
! DESCRIPTION:
! DESCRIPTION: - Layer 3: Diorite. 5 m thickness.
! DESCRIPTION:
! DESCRIPTION: - Layer 4: Sand. 6 m thickness.
! DESCRIPTION:
! DESCRIPTION: The wall is 1 m thick.
! DESCRIPTION:
! DESCRIPTION: The construction process is defined as follows:
! DESCRIPTION:
! DESCRIPTION: - Step 1: Terrain is excavated to level 1000m.
! DESCRIPTION:
! DESCRIPTION: - Step 2: Terrain is excavated to level 999m.
! DESCRIPTION:
! DESCRIPTION: - Step 3: Terrain is excavated to level 998m. An anchorage is 
! DESCRIPTION: placed at level 998,5m.
! DESCRIPTION:
! DESCRIPTION: - Step 4: Terrain is excavated to level 997m.
! DESCRIPTION:
! DESCRIPTION: - Step 5: Terrain is excavated to level 996m.
! DESCRIPTION:
! DESCRIPTION: - Step 6: Terrain is excavated to level 995m.
! DESCRIPTION:
! DESCRIPTION: - Step 7: Terrain is excavated to level 994m.
! DESCRIPTION:
! DESCRIPTION: - Step 8: Terrain is excavated to level 993m.
! DESCRIPTION:
! DESCRIPTION: - Step 9: Terrain is excavated to level 992m.
! DESCRIPTION:
! DESCRIPTION: - Step 10: Terrain is excavated to level 991m. An anchorage is 
! DESCRIPTION: placed at level 991,5m.
! DESCRIPTION:
! DESCRIPTION: - Step 11: Terrain is excavated to level 990m.
! DESCRIPTION:
! ELEMENT TYPE: SOLID185, SHELL63, LINK8, TARGE170, CONTA173
! MODULES: GETC
! UNITS: SI
! KEYWORD1: Retaining Walls
!
!***********************************************************************!
 FINISH
 ~CFCLEAR,,1
 ~CFACTIV,GETC,Y
 NomFile='CFVR3304'
 /TITLE, %NomFile%, Retaining Wall 3D Geometry checking
 ~CODESEL,EC3-92,EC2-91,EC2-91,,EC8-94

!------------------------------------------------------------------------
! Initial data
!------------------------------------------------------------------------
/prep7
~RTNWGUI,Test3D

!------------------------------------------------------------------------
! Obtained values
!------------------------------------------------------------------------
ESEL,S,TYPE,,3
*GET,NESEL3,ELEM,,COUNT
IE = 0
mlengthAnchorage = 0
*DO,I,1,NESEL3
  IE = ELNEXT(IE)
  IE1 = NELEM(IE,1)
  IE2 = NELEM(IE,2)
  mlengthAnchorage = DISTND(IE1,IE2) + mlengthAnchorage
*ENDDO
*GET,maxX,NODE,0,MXLOC,X
*GET,minX,NODE,0,MNLOC,X
mlength = maxX - minX
*GET,maxY,NODE,0,MXLOC,Y
*GET,minY,NODE,0,MNLOC,Y
mdupanddown = maxY - minY
*GET,maxZ,NODE,0,MXLOC,Z
*GET,minZ,NODE,0,MNLOC,Z
mterraindepth = maxZ - minZ
ESEL,S,TYPE,,2 
*GET,NESEL,ELEM,,COUNT
IE = ELNEXT(IE)
NSLE,S,ALL,POS
*DO,I,2,NESEL
	IE = ELNEXT(IE)
	NSLE,A,ALL,POS
*ENDDO
*GET,maxZ,NODE,0,MXLOC,Z
*GET,minZ,NODE,0,MNLOC,Z
	mdepth = maxZ - minZ
/IMAGE,SAVE,%NomFIle%,BMP
!------------------------------------------------------------------------
! DATA CHECK
!------------------------------------------------------------------------
! Data comparison number
  Ncomp    =  5
  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) = 'RWDEPTH'
  LABEL(2,1) = 'LENGTH'
  LABEL(3,1) = 'DUPDOWN'
  LABEL(4,1) = 'ANCHORS'
  LABEL(5,1) = 'TERDEPTH'

! Correct values
!------------------------------------------------------------------------
  VALUE(1,1)=9.5
  VALUE(2,1)=9
  VALUE(3,1)=16
  VALUE(4,1)=24
  VALUE(5,1)=21

! Obtained values
!------------------------------------------------------------------------
  VALUE(1,2) = mdepth
  VALUE(2,2) = mlength
  VALUE(3,2) = mdupanddown
  VALUE(4,2) = mlengthAnchorage
  VALUE(5,2) = mterraindepth

! 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

!------------------------------------------------------------------------
! Results comparison
!------------------------------------------------------------------------
  COMPARA.MAC
