!*************************************************************************************!
! TITLE: CFVR3402 - Dam with seepage surface
! SUBTITLE: Dam model with seepage surface (water table).
!
! DESCRIPTION: An earth dam is modeled by a plane model. The aim of the example is to
! DESCRIPTION: obtain the saturation line.
! DESCRIPTION:
! DESCRIPTION: The model is made off a single material taken from CivilFEM's
! DESCRIPTION: database (soil SC type):
!
! ELEMENT TYPE: PLANE42
! MODULES: GETC
! UNITS: SI
! KEYWORD1: Geotechnics
! KEYWORD2: Seepage Analysis
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
  ~CFACTIV,GETC,Y
  NomFile='CFVR3402'
  /TITLE, %NomFile%, Dam with Seepage surface

! ---------------------------------------------------------------------------------
! Model definition
! ---------------------------------------------------------------------------------
! Activate Seepage Analysis
~SEEPAGE,2D

/PREP7
! Preprocessor
! --------------------------------------------------
! Materials: Soil
  ~CFMP,1,LIB,SOIL,,SC

! Keypoints
  K,1,0,0
  K,2,500,0
  K,3,0,90
  K,4,100,90
  K,5,230,160
  K,6,270,160
  K,7,390.714285,95
  K,8,400,90
  K,9,500,90

! Lines
  L,1,2
  L,1,3
  L,3,4
  *REPEAT,6,1,1
  L,9,2

! Water Table

  X1     =211.4285 ! X initial point
  Y1     =150      ! Y initial point
  Z1     =  0      ! Z initial point
  X2     = 387     ! X end point
  Y2     = 97      ! Y end point
  Z2     =  0      ! Z end point
  NPOINTS= 12      ! Number of points dividing line
  Line1 =  4      ! Line over first point rest
  Line2 =  6      ! Line over second point rest
	 MAT    =  1      ! Material

  ~WATTAB,X1,Y1,Z1,X2,Y2,Z2,MAT,NPOINTS,Line1,Line2,FIXED,EXIT

! Finite element Model
  MAT   = 1
  ESIZE = 10
  L1    = 1
  L2    = 2
  L3    = 3
  L4    = 4
  L5    = 7
  L6    = 8
  L7    = 9
  L8    = 6
  ~SEEPMOD,ADD,MAT ,WT ,ESIZE,L1 ,L2 ,L3 ,L4,L5,L6,L7,L8

 ! Solution
 ! --------------------------------------------------
 ! Displacements
  /SOLU
   HEAD1 = 95
   HEAD2 = 150
   SLine = 6

  ~DLHEAD,add,7,head1
  ~DLHEAD,add,8,head1
  ~dlseep,ADD,SLine
  ~DLHEAD,add,4,head2
  ~DLHEAD,add,3,head2

  ~WTSOLVE
/post1
  file,file,seep
  set,last

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 13
  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)  = 'POINT 1 '
  LABEL(2,1)  = 'POINT 2 '
  LABEL(3,1)  = 'POINT 3 '
  LABEL(4,1)  = 'POINT 4 '
  LABEL(5,1)  = 'POINT 5 '
  LABEL(6,1)  = 'POINT 6 '
  LABEL(7,1)  = 'POINT 7 '
  LABEL(8,1)  = 'POINT 8 '
  LABEL(9,1)  = 'POINT 9 '
  LABEL(10,1) = 'POINT 10'
  LABEL(11,1) = 'POINT 11'
  LABEL(12,1) = 'POINT 12'
  LABEL(13,1) = 'POINT 13'

ksel,s,kp,,11,23
nslk,s
*do,ii,11,23
  xx=KX(ii)
  yy=KY(ii)
  zz=0
  NN=node(xx,yy,zz)
  ! Geometric heights
  VALUE(ii-10,2)=ky(ii)
  ! Piezometric heights
  *get,VALUE(ii-10,1),node,nn,head
*enddo

! Warning and error tolerances
  *DO,II,1,13
    TOLER(II,1) = 1.0 $ TOLER(II,2) = 1.0
  *ENDDO

!--------------------------------------------------------------------------------------
! Results Comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
