!*************************************************************************************!
! TITLE: CFVR0961 - Shell shear reinforcement check according to ACI 349 13
! SUBTITLE: Shell shear reinforcement check according to ACI 349 13.
!
! DESCRIPTION: The model is made up of two square shell elements of 1.0m x 1.0m.
! DESCRIPTION: Boundary conditions:
! DESCRIPTION:        + Node located at origin has its vertical movement restrained(perpendicular to the shells).
! DESCRIPTION:        + Node located at X=0 and Y=100 cm are completely restrained.
! DESCRIPTION:        + Node located at X=100 and Y=100 cm has its vertical movement restrained(perpendicular to the shells).
! DESCRIPTION: Applied loads:
! DESCRIPTION:        + Pressure of 3 kg/cm<sup>2</sup> on one of the elements.
! DESCRIPTION:        + Punctual tension force of  50 kp (X=200,Y=0).
! DESCRIPTION:        + Punctual compression force of 100 kp (X=200,Y=100).
! DESCRIPTION:
! DESCRIPTION:  There is no bending reinforcement in the slab.
! DESCRIPTION: The reinforcement checking code is the ACI 349 13.
! DESCRIPTION:
!
! ELEMENT TYPE: Shell43
! MODULES:
! UNITS: User
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: ACI 349 13
!*************************************************************************************!
   FINISH
  ~cfclear,,1
   NomFile='CFVR0961'
  /TITLE, %NomFile%, Shell shear reinforcement check according to ACI 349 13
! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------

! Setup
 ~UNITS,,MONE,EURO
 ~UNITS,,LENG,CM
 ~UNITS,,TIME,S
 ~UNITS,,FORC,KP
 ~CODESEL,,ACI34913
 ~CFCONFG,PLRES   ,SHELL   ,EPSW 
 ~CFCONFG,RESULT,CFSHF,1
 
  /PREP7
! Materials
  ~CFMP,5,LIB,CONCRETE,EC2,C40/50
  ~CFMP,5,ACI_14_C,Lambda  ,,0.8  
  ~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,UZ,0.0
  D,40,ALL,
  D,50,UZ,
! Solve
  /SOLU
  SFE,100,2,PRES,,3.0
  F,30,FY,50
  F,60,FX,-100
  SOLVE

  /POST1
! ---------------------------------------------------------------------------------
! Check with CivilFEM
! ---------------------------------------------------------------------------------
 ~CFSET,,1
 ~CHKCON,SHELL,SHEAR, , , ,1, , , , , ,0  ! Phi=.75 ; fy unlimited 
 ~CFSET,1
 
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 11
  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) = 'VC_X'
  LABEL( 2,1) = 'VS_X'
  LABEL( 3,1) = 'VN_X'
  LABEL( 4,1) = 'VFI_X'
  LABEL( 5,1) = 'CRT_X'
  LABEL( 6,1) = 'VC_Y'
  LABEL( 7,1) = 'VS_Y'
  LABEL( 8,1) = 'VN_Y'
  LABEL( 9,1) = 'VFI_Y'
  LABEL( 10,1) = 'CRT_Y'
  LABEL( 11,1) = 'CRT_TOT'

! Correct values
  VALUE( 1,1)=180.2875
  VALUE( 2,1)=247.136
  VALUE( 3,1)=426.85
  VALUE( 4,1)=320.14
  VALUE( 5,1)=0.834973
  VALUE( 6,1)=180.00375
  VALUE( 7,1)=247.136
  VALUE( 8,1)=427.13975
  VALUE( 9,1)=320.354813
  VALUE(10,1)=0.4145
  VALUE(11,1)=0.834973


! Comparison
 ESEL,S,ELEM,,100
 ~PLSHCON,VC_X 
 *GET,VALUE(1,2),NODE,10,EPSW
~PLSHCON,VS_X 
 *GET,VALUE(2,2),NODE,10,EPSW
~PLSHCON,VN_X  
 *GET,VALUE(3,2),NODE,10,EPSW
~PLSHCON,VFI_X 
 *GET,VALUE(4,2),NODE,10,EPSW
~PLSHCON,CRT_X  
 *GET,VALUE(5,2),NODE,10,EPSW
~PLSHCON,VC_Y 
 *GET,VALUE(6,2),NODE,10,EPSW
~PLSHCON,VS_Y 
 *GET,VALUE(7,2),NODE,10,EPSW
~PLSHCON,VN_Y   
 *GET,VALUE(8,2),NODE,10,EPSW
~PLSHCON,VFI_Y 
 *GET,VALUE(9,2),NODE,10,EPSW
~PLSHCON,CRT_Y  
 *GET,VALUE(10,2),NODE,10,EPSW
 ~PLSHCON,CRT_TOT  
 *GET,VALUE(11,2),NODE,10,EPSW
 

! Warning and error tolerances
  TOLER( 1,1)= 1E0   $ TOLER( 1,2)= 1E0
  TOLER( 2,1)= 1E0   $ TOLER( 2,2)= 1E0
  TOLER( 3,1)= 1E0   $ TOLER( 3,2)= 1E0
  TOLER( 4,1)= 1E0   $ TOLER( 4,2)= 1E0
  TOLER( 5,1)= 1E-03 $ TOLER( 5,2)= 1E-03
  TOLER( 6,1)= 1E0   $ TOLER( 6,2)= 1E0
  TOLER( 7,1)= 1E0   $ TOLER( 7,2)= 1E0
  TOLER( 8,1)= 1E0   $ TOLER( 8,2)= 1E0
  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

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
  
  