!*************************************************************************************!
! TITLE: CFVR0936 - Shell shear reinforcement check according to EHE-08
! SUBTITLE: Shell shear reinforcement check according to EHE-08.
!
! 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: The shear reinforcement are 12 mm bars each 14 cm in both directions.
! DESCRIPTION:
! DESCRIPTION: The applied load is a pressure of 3 kg/cm<sup>2</sup> on one of the elements.
! DESCRIPTION:
! DESCRIPTION: The checking results from the shell model are compared to the results from a
! DESCRIPTION: beam with the equivalent shear forces applied.
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: The reinforcement checking code is the EHE-08.
! DESCRIPTION:
!
! ELEMENT TYPE: SHELL43, BEAM44
! MODULES:
! UNITS: User
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: Eurocode 2
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR0936'
  /TITLE, %NomFile%, Shell shear reinforcement check according EHE-08
! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------

! Setup
 ~UNITS,,MONE,EURO
 ~UNITS,,LENG,CM
 ~UNITS,,TIME,S
 ~UNITS,,FORC,KP
 ~CODESEL,EC3-92,EHE-08,EC2-08,,EC8-94
 ~CFCONFG,RESULT,CFSHF,1

  /PREP7
! Materials
  ~CFMP,5,LIB,CONCRETE,EC2,C40/50
  ~CFMP,2,LIB,REINF,EC2,S400
! Element types
  ET,2,SHELL43
  ET,12,BEAM44

! Shell Vertex
  t=25     ! Thickness
  r=4      ! Cover
 ~SHLRNF,1,t,5,2,r,0.0,0.0,0.0,0.0,0,0,45.0
 ~SHLSHR,1,2,,12,,,14,14
! Beam & Shell property
 ~BMSHPRO,10,SHELL,1,1,1,1,43,,,,Shell property

! Equivalent beam cross section
 ~CSECDMS,1,REC,5,t,1,0,0,0,0,0,0,2,2
 ~RNFDEF,1,SHEAR,2,0.0,0.0,((1.2/2)**2)*3.1416/14/14,0.0
 ~SECMDF,1,EHEPROP,D_Y ,,t-r
 ~SECMDF,1,EHEPROP,D_Z ,,0.0
 ~SECMDF,1,EHEPROP,RHO1,,8e-53
 ~BMSHPRO,11,BEAM,1,1,,,44,1,0,,Beam 11
 ~SECMDF,1,MECHPROP,HMAT,,5,7
 ~SECMDF,1,STRPROP,ASEC,,5

! 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
  N,100,0,0,100
  N,200,100,0,100
  N,300,0,100,100

! Elements
  MAT,5
  REAL,10
  TYPE,2
  EN,100, 10, 20, 50, 40
  EN,200, 20, 30, 60, 50
  REAL,11
  TYPE,12
  EN,300,100,200,300

! Boundary conditions
  D,10,ALL,0.0
  D,40,ALL,0.0
  D,50,UZ,0.0
  D,100,ALL,0.0
! Solve
  /SOLU
  SFE,100,2,PRES,,3.0
  SOLVE

! Solve beam equivalent states
  SFEDELE,ALL,ALL,ALL
  F,200,FZ,-284.379
  SOLVE
  F,200,FZ,SQRT(29.921**2+11.523**2)
  SOLVE

  /POST1
! ---------------------------------------------------------------------------------
! Check with CivilFEM
! ---------------------------------------------------------------------------------
 ~CFSET,,1
 ~CHKCON,SHELL,SHEAR
 ~CFSET,,2
 ~CHKCON,SHT,SHEAR
 ~CFSET,,3
 ~CHKCON,SHT,SHEAR

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 14
  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) = 'CRT_TOT'
  LABEL( 8,1) = 'VU1'
  LABEL( 9,1) = 'CRTVU1'
  LABEL(10,1) = 'VCU'
  LABEL(11,1) = 'VSU'
  LABEL(12,1) = 'VU2'
  LABEL(13,1) = 'CRTVU2'
  LABEL(14,1) = 'CRT_TOT'

! Comparison
 ~CFSET,1
 ~CFGET,VALUE(1,2) ,ELEMENT,100,RESULT,VU1,I
 ~CFGET,VALUE(2,2) ,ELEMENT,100,RESULT,CRTVU1,I
 ~CFGET,VALUE(3,2) ,ELEMENT,100,RESULT,VCU,I
 ~CFGET,VALUE(4,2) ,ELEMENT,100,RESULT,VSU,I
 ~CFGET,VALUE(5,2) ,ELEMENT,100,RESULT,VU2,I
 ~CFGET,VALUE(6,2) ,ELEMENT,100,RESULT,CRTVU2,I
 ~CFGET,VALUE(7,2) ,ELEMENT,100,RESULT,CRT_TOT,I
 ~CFGET,VALUE(8,2) ,ELEMENT,200,RESULT,VU1,I
 ~CFGET,VALUE(9,2) ,ELEMENT,200,RESULT,CRTVU1,I
 ~CFGET,VALUE(10,2),ELEMENT,200,RESULT,VCU,I
 ~CFGET,VALUE(11,2),ELEMENT,200,RESULT,VSU,I
 ~CFGET,VALUE(12,2),ELEMENT,200,RESULT,VU2,I
 ~CFGET,VALUE(13,2),ELEMENT,200,RESULT,CRTVU2,I
 ~CFGET,VALUE(14,2),ELEMENT,200,RESULT,CRT_TOT,I
 ~CFSET,2
 ~CFGET,VALUE(1,1),ELEMENT,300,RESULT,VU1,J
 ~CFGET,VALUE(2,1),ELEMENT,300,RESULT,CRTVU1,J
 ~CFGET,VALUE(3,1),ELEMENT,300,RESULT,VCU,J
 ~CFGET,VALUE(4,1),ELEMENT,300,RESULT,VSU,J
 ~CFGET,VALUE(5,1),ELEMENT,300,RESULT,VU2,J
 ~CFGET,VALUE(6,1),ELEMENT,300,RESULT,CRTVU2,J
 ~CFGET,VALUE(7,1),ELEMENT,300,RESULT,CRT_TOT,J
 ~CFSET,3
 ~CFGET,VALUE(8,1) ,ELEMENT,300,RESULT,VU1,J
 ~CFGET,VALUE(9,1) ,ELEMENT,300,RESULT,CRTVU1,J
 ~CFGET,VALUE(10,1),ELEMENT,300,RESULT,VCU,J
 ~CFGET,VALUE(11,1),ELEMENT,300,RESULT,VSU,J
 ~CFGET,VALUE(12,1),ELEMENT,300,RESULT,VU2,J
 ~CFGET,VALUE(13,1),ELEMENT,300,RESULT,CRTVU2,J
 ~CFGET,VALUE(14,1),ELEMENT,300,RESULT,CRT_TOT,J

! Warning and error tolerances
  *DO,II,1,NComp
    TOLER(II,1)= 1E-03 $ TOLER(II,2)= 1E-03
  *ENDDO
  TOLER( 5,1) = 1.E-2 $ TOLER( 5,2) = 1.E-2 
  TOLER(12,1) = 1.E-2 $ TOLER(12,2) = 1.E-2

 ! The value VALUE(3,*) should be nearly 0. therefore the tolerance should be greater
 ! than the result
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
