!*************************************************************************************!
! TITLE: CFVR0925 - Shell shear reinforcement check according to Eurocode 2 (1991)
! SUBTITLE: Shell shear reinforcement check according to Eurocode 2 (1991).
!
! 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 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 Eurocode 2 (1991).
! DESCRIPTION:
!
! ELEMENT TYPE: Shell43
! MODULES:
! UNITS: User
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: Eurocode 2
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR0925'
  /TITLE, %NomFile%, Shell shear reinforcement check according to Eurocode 2 (1991)
! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------

! Setup
 ~UNITS,,MONE,EURO
 ~UNITS,,LENG,CM
 ~UNITS,,TIME,S
 ~UNITS,,FORC,KP
 ~CODESEL,,EC2-91,
 ~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.00
 ~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 = 18
  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) = 'VRD1'
  LABEL( 2,1) = 'CRVRD1'
  LABEL( 3,1) = 'VRD2'
  LABEL( 4,1) = 'CRVRD2'
  LABEL( 5,1) = 'VWD'
  LABEL( 6,1) = 'VRD3'
  LABEL( 7,1) = 'CRVRD3'
  LABEL( 8,1) = 'ASSB'
  LABEL( 9,1) = 'CRT_TOT'
  LABEL(10,1) = 'VRD1'
  LABEL(11,1) = 'CRVRD1'
  LABEL(12,1) = 'VRD2'
  LABEL(13,1) = 'CRVRD2'
  LABEL(14,1) = 'VWD'
  LABEL(15,1) = 'VRD3'
  LABEL(16,1) = 'CRVRD3'
  LABEL(17,1) = 'ASST'
  LABEL(18,1) = 'CRT_TOT'

! Correct values
  VALUE( 1,1)=146.446
  VALUE( 2,1)=1.942
  VALUE( 3,1)=1284.842
  VALUE( 4,1)=0.221
  VALUE( 5,1)=386.812
  VALUE( 6,1)=533.258
  VALUE( 7,1)=0.533
  VALUE( 8,1)=0.040
  VALUE( 9,1)=0.533
  VALUE(10,1)=146.446
  VALUE(11,1)=0.2189
  VALUE(12,1)=1284.842
  VALUE(13,1)=0.02496
  VALUE(14,1)=386.812
  VALUE(15,1)=533.258
  VALUE(16,1)=0.06013
  VALUE(17,1)=0.0045
  VALUE(18,1)=0.06013

! Comparison
 ESEL,S,ELEM,,100
 ~PLSHCON,VRD1
 *GET,VALUE(1,2),NODE,10,EPSW
 ~PLSHCON,CRVRD1
 *GET,VALUE(2,2),NODE,10,EPSW
 ~PLSHCON,VRD2
 *GET,VALUE(3,2),NODE,10,EPSW
 ~PLSHCON,CRVRD2
 *GET,VALUE(4,2),NODE,10,EPSW
 ~PLSHCON,VWD
 *GET,VALUE(5,2),NODE,10,EPSW
 ~PLSHCON,VRD3
 *GET,VALUE(6,2),NODE,10,EPSW
 ~PLSHCON,CRVRD3
 *GET,VALUE(7,2),NODE,10,EPSW
 ~PLSHCON,ASST
 *GET,VALUE(8,2),NODE,10,EPSW
 ~PLSHCON,CRT_TOT
 *GET,VALUE(9,2),NODE,10,EPSW
 ESEL,S,ELEM,,200
 ~PLSHCON,VRD1
 *GET,VALUE(10,2),NODE,20,EPSW
 ~PLSHCON,CRVRD1
 *GET,VALUE(11,2),NODE,20,EPSW
 ~PLSHCON,VRD2
 *GET,VALUE(12,2),NODE,20,EPSW
 ~PLSHCON,CRVRD2
 *GET,VALUE(13,2),NODE,20,EPSW
 ~PLSHCON,VWD
 *GET,VALUE(14,2),NODE,20,EPSW
 ~PLSHCON,VRD3
 *GET,VALUE(15,2),NODE,20,EPSW
 ~PLSHCON,CRVRD3
 *GET,VALUE(16,2),NODE,20,EPSW
 ~PLSHCON,ASSB
 *GET,VALUE(17,2),NODE,20,EPSW
 ~PLSHCON,CRT_TOT
 *GET,VALUE(18,2),NODE,20,EPSW

! Warning and error tolerances
  *DO,II,1,NComp
    TOLER(II,1)= 1E-03 $ TOLER(II,2)= 1E-03
  *ENDDO

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
