!*************************************************************************************!
! TITLE: CFVR0927 - Shell shear reinforcement check according to EHE
! SUBTITLE: Shell shear reinforcement check according to the Spanish code EHE.
!
! DESCRIPTION: The model is made up of two square shell elements of 1.0m x 1.0m.
! DESCRIPTION: The nodes of one side are completely restrained and one of the nodes
! DESCRIPTION: between both element has its vertical movement restrained
! DESCRIPTION: (perpendicular to the shells).
! DESCRIPTION:
! DESCRIPTION: There is no shear reinforcement in the slab.
! DESCRIPTION:
! DESCRIPTION: The applied loads is a pressure of 3 kg/cm<sup>2</sup> on one of the elements.
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: The reinforcement checking code is the Spanish code EHE.
! DESCRIPTION:
!
! ELEMENT TYPE: Shell43
! MODULES:
! UNITS: User
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: EHE
!*************************************************************************************!
   FINISH
  ~cfclear,,1
   NomFile='CFVR0927'
  /TITLE, %NomFile%, Shell shear reinforcement check according to EHE
! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------

! Setup
 ~UNITS,,MONE,EURO
 ~UNITS,,LENG,CM
 ~UNITS,,TIME,S
 ~UNITS,,FORC,KP
 ~CODESEL,,EHE-08
 ~CFCONFG,PLRES   ,SHELL   ,EPSW 
 ~CFCONFG,RESULT,CFSHF,1

  /PREP7
! Materials
  ~CFMP,5,LIB,CONCRETE,EC2,C40/50
  ~CFMP,2,LIB,REINF,EC2,S400
! Element types
  ET,2,SHELL43
! Shell Vertex
  t=25     ! Thickness
  r=4      ! Cover
  th = 0   ! Reinforcement angle
 ~SHLRNF,1,t,5,2,r,0.0,0.0,0.0,0.0,0,th,45
 ~SHLSHR,1,2,,12,,,14,14
! Beam & Shell property
 ~BMSHPRO,10,SHELL,1,1,1,1,43,,,,Shell property

! Nodes
  N,10,0,0
  N,20,100,0
  N,30,200,0
  N,40,0,100
  N,50,100,100
  N,60,200,100
! Elements
  MAT,5 $ REAL,10 $ TYPE,2
  EN,100, 10, 20, 50, 40
  EN,200, 20, 30, 60, 50
! Boundary conditions
  D,10,ALL,0.0
  D,40,ALL,0.0
  D,50,UZ,0.0
! Solve
  /SOLU
  SFE,100,2,PRES,,3.0
  SOLVE

  /POST1
! ---------------------------------------------------------------------------------
! Check with CivilFEM
! ---------------------------------------------------------------------------------
 ~CFSET,,1
 ~CHKCON,SHELL,SHEAR
 ~CFSET,1

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 16
  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) = 'VU1'
  LABEL( 2,1) = 'CRTVU1'
  LABEL( 3,1) = 'VCU'
  LABEL( 4,1) = 'VSU'
  LABEL( 5,1) = 'VU2'
  LABEL( 6,1) = 'CRTVU2'
  LABEL( 7,1) = 'ASST'
  LABEL( 8,1) = 'CRT_TOT'
  LABEL( 9,1) = 'VU1'
  LABEL(10,1) = 'CRTVU1'
  LABEL(11,1) = 'VCU'
  LABEL(12,1) = 'VSU'
  LABEL(13,1) = 'VU2'
  LABEL(14,1) = 'CRTVU2'
  LABEL(15,1) = 'ASSB'
  LABEL(16,1) = 'CRT_TOT'

! Correct values
  VALUE( 1,1)=1713
  VALUE( 2,1)=0.166
  VALUE( 3,1)=0
  VALUE( 4,1)=386.8
  VALUE( 5,1)=386.8
  VALUE( 6,1)=0.735
  VALUE( 7,1)=0.02565
  VALUE( 8,1)=0.735
  VALUE( 9,1)=1713
  VALUE(10,1)=0.0187
  VALUE(11,1)=0
  VALUE(12,1)=386.8
  VALUE(13,1)=386.8
  VALUE(14,1)=0.0829
  VALUE(15,1)=0.0
  VALUE(16,1)=0.0829

! Comparison
 ESEL,S,ELEM,,100
 ~PLSHCON,VU1
 *GET,VALUE(1,2),NODE,10,EPSW
 ~PLSHCON,CRTVU1
 *GET,VALUE(2,2),NODE,10,EPSW
 ~PLSHCON,VCU
 *GET,VALUE(3,2),NODE,10,EPSW
 ~PLSHCON,VSU
 *GET,VALUE(4,2),NODE,10,EPSW
 ~PLSHCON,VU2
 *GET,VALUE(5,2),NODE,10,EPSW
 ~PLSHCON,CRTVU2
 *GET,VALUE(6,2),NODE,10,EPSW
 ~PLSHCON,ASST
 *GET,VALUE(7,2),NODE,10,EPSW
 ~PLSHCON,CRT_TOT
 *GET,VALUE(8,2),NODE,10,EPSW
 ESEL,S,ELEM,,200
 ~PLSHCON,VU1
 *GET,VALUE(9,2),NODE,20,EPSW
 ~PLSHCON,CRTVU1
 *GET,VALUE(10,2),NODE,20,EPSW
 ~PLSHCON,VCU
 *GET,VALUE(11,2),NODE,20,EPSW
 ~PLSHCON,VSU
 *GET,VALUE(12,2),NODE,20,EPSW
 ~PLSHCON,VU2
 *GET,VALUE(13,2),NODE,20,EPSW
 ~PLSHCON,CRTVU2
 *GET,VALUE(14,2),NODE,20,EPSW
 ~PLSHCON,ASSB
 *GET,VALUE(15,2),NODE,20,EPSW
 ~PLSHCON,CRT_TOT
 *GET,VALUE(16,2),NODE,20,EPSW

! Warning and error tolerances
  TOLER( 1,1)= 1E0   $ TOLER( 1,2)= 1E0
  TOLER( 2,1)= 1E-03 $ TOLER( 2,2)= 1E-03
  TOLER( 3,1)= 1E-03 $ TOLER( 3,2)= 1E-03
  TOLER( 4,1)= 1E0   $ TOLER( 4,2)= 1E0
  TOLER( 5,1)= 1E0   $ TOLER( 5,2)= 1E0
  TOLER( 6,1)= 1E-03 $ TOLER( 6,2)= 1E-03
  TOLER( 7,1)= 1E-03 $ TOLER( 7,2)= 1E-03
  TOLER( 8,1)= 1E-03 $ TOLER( 8,2)= 1E-03
  TOLER( 9,1)= 1E0   $ TOLER( 9,2)= 1E0
  TOLER(10,1)= 1E-03 $ TOLER(10,2)= 1E-03
  TOLER(11,1)= 1E-03 $ TOLER(11,2)= 1E-03
  TOLER(12,1)= 1E0   $ TOLER(12,2)= 1E0
  TOLER(13,1)= 1E0   $ TOLER(13,2)= 1E0
  TOLER(14,1)= 1E-03 $ TOLER(14,2)= 1E-03
  TOLER(15,1)= 1E-03 $ TOLER(15,2)= 1E-03
  TOLER(16,1)= 1E-03 $ TOLER(16,2)= 1E-03

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
