!*******************************************************************************
! TITLE: CFVR0998 - Shell VF reinforcement check according to EC2
! SUBTITLE: Bending and axial check taking into account only torsional moments.
!
! DESCRIPTION: The model is made up of a square shell element of 6.0m x 1.0m.
! DESCRIPTION: The nodes of one side are completely restrained.
! DESCRIPTION:
! DESCRIPTION: A surface load of 179402 N/m is applied on the
! DESCRIPTION: element.
! DESCRIPTION:
! DESCRIPTION: The results are compared with those of two beams.
! DESCRIPTION:
! DESCRIPTION: The reinforcement checking code is the EC2.
!
! ELEMENT TYPE: Shell181
! MODULES:
! UNITS: User
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: EC2
!*******************************************************************************
   FINISH
  ~cfclear,,1
   NomFile='CFVR0998'
  /TITLE, %NomFile%, Shell VF reinforcement check according to EC2

! ------------------------------------------------------------------------------
! Model definition and solve
! ------------------------------------------------------------------------------

! Setup
 ~UNITS,SI
 ~CODESEL,,EC2-08

  /PREP7
! Materials
 ~CFMP,5,LIB,CONCRETE,EHE,HA-30
 ~CFMP,2,LIB,REINF,EHE,B 500 S
! Element types
  ET,10,SHELL181
  ET,20,Beam188

! Shell Vertex
  t=0.5        ! Thickness
  r_sup=0.1        ! Top Cover 
  r_inf=0.2       ! Bottom Cover
  th = 0        ! Reinforcement angle
  AtReinf_sup= 2.036E-03
  AtReinf_inf= 8.847E-03
 ~SHLRNF,10,t,5,2,,AtReinf_sup,AtReinf_inf,0.0,0.0,0.0,0.0,45.00,,,,,,,,,r_sup,r_inf,0.0,0.0,Shell property

 ! Cross-section definition
 ~CSECDMS,20,REC,5,t,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0  
 ~RNFDEF,20,1,2,2,0,r_sup,AtReinf_sup, , , , , ,  
 ~RNFDEF,20,2,2,4,0,r_inf,AtReinf_inf, , , , , ,  

 ! Beam & Shell property
 ~BMSHPRO,10,SHELL,10,,,,181,,,,Shell property
  KEYOPT,10,3,2  
 ~BMSHPRO,20, BEAM,20,,,,188,,,,Beam property
  KEYOPT,20,3,3   

 ! Shell Nodes
  K,10,0.0,0.0
  K,20,6.0,0.0
  K,40,6.0,1.0
  K,50,0.0,1.0    
  A,10,20,40,50
  ! Beam Nodes
  K,100,0.0,.5,2
  K,200,6,.5,2  ! Beam Length 6m
  L,100,200
  
  ESIZE,0.1
! Elements
  MAT,5
  TYPE,10
  SECNUM,10
  AMESH,ALL
  !Beam
  MAT,5
  TYPE,20
  SECNUM,20
  LMESH,5
 ! /ESHAPE,1.0 

! Shell Boundary conditions
   DL,4, ,UX,
   DL,4, ,UZ,
   DL,4, ,UY,
   DL,4, ,ROTX,
   DL,2, ,UX, 
   DL,2, ,UZ,   
   DL,2, ,UY,    

! Beam Boundary conditions
  DK,100, , , ,0,UX,UY,UZ,ROTX, , , ,   
  DK,200, , , ,0,UX,UY,UZ, , , , ,  

  FINISH
  /SOLU
  
! Pressure on shells
  ESEL,S,ENAME,,181
  SFA,1,2,PRES,179402
  ESEL,S,ENAME,,188
  SFBEAM,ALL,2,PRES,179402, , , , , ,0 
  ALLSEL
  SOLVE

  FINISH
  /POST1
  ! Postprocessor
  ~CFSET,,1         ! Read first load step
  ! Bending + Axial checking for rectangular sections according to Eurocode 2
  ~CHKCON,2DB, ,0,0,0,   
  ! Virtual Frame (VF Method)
  ~CHKCON,SHELL,VF, ,1,0, 
!-------------------------------------------------------------------------------
! Data check
!-------------------------------------------------------------------------------
! Data comparison number
  NComp = 1
  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) = 'CRT_X'

! Comparison
  ~CFSET,1
  ~CFGET,VALUE(1,1),ELEMENT,631,RESULT,CRT_X,I ! Total Criterion X direction in Beam element
  ~CFSET,2 
  ~CFGET,VALUE(1,2),ELEMENT,329,RESULT,CRT_X,I ! Total Criterion X direction in Shell element
  
! Warning and error tolerances
  TOLER(1,1)= 0.025*VALUE(1,1) $ TOLER(1,2)= 0.025*VALUE(1,1)

!-------------------------------------------------------------------------------
! Results comparison
!-------------------------------------------------------------------------------
  COMPARA.MAC
