!*************************************************************************************!
! TITLE: CFVR2209 - Reinforced concrete checking according to British Standard 8110
! SUBTITLE: Combined shear & torsion checking.
!
! DESCRIPTION: A concrete cantilever beam with rectangular shape section and
! DESCRIPTION: shear & torsion reinforcement is subjected to a vertical load and
! DESCRIPTION: torsion moment at free end.
! DESCRIPTION:
! DESCRIPTION: Determine the total criterion according to BS 8110.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM4
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Reinforced Concrete
! KEYWORD5: BS 8110
!
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR2209'
  /TITLE, %NomFile%, COMBINED SHEAR + TORSION CHECKING ACCORDING TO BS8110

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,,BS8110

! Preprocessor
  /PREP7

! Parameters
  L= 1         ! Length in m
  b= 0.4       ! Cross-section width in m.
  h= 0.3       ! Depth in m.
  T= 15        ! Torsional moment in KN*m
  Q= 100       ! Maximum concomitant design shear force in KN

! Material Definition
  ~CFMP,1,LIB,CONCRETE,BS8110,C25
  ~CFMP,2,LIB,REINF,BS8110,Gr460A

! Element Type Definition
  ET,1,Beam4                                  ! Element Type 1: 3D Beam

! Cross-section definition
  ~CSECDMS,1,REC,1,h,b

! Reinforcement definition
  ~RNFDEF,1,TORSION,2, , ,0.10,12, ,16,4  ! Torsional reinfor.
  ~RNFDEF,1,SHEAR,2,0.0,0.0, , , , ,2e-2,6,2,2  ! Shear reinfor.

! Beam properties
  ~BMSHPRO,1,BEAM,1,1,,,4,0,0,,Beam properties

! Model Construction
  N,1
  N,5,L
  FILL,1,5
  E,1,2
  EGEN,4,1,1,1
! Boundary conditions
  D,1,ALL,0

/SOLU
! Solution
  F,5,FY,-Q
  F,5,MX,T
  SOLVE

/POST1
! Postprocessor
  ~CFSET,,1,1       ! Read first load step

! Shear in Y & Torsion checking according to BS8110
  ~CHKCON,SHT,BOTH

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparision number
  NComp = 10
  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) = 'VC'
  LABEL( 3,1) = 'VS'
  LABEL( 4,1) = 'VU2'
  LABEL( 5,1) = 'CRTSHR'
  LABEL( 6,1) = 'TU1'
  LABEL( 7,1) = 'TU2'
  LABEL( 8,1) = 'ALT'
  LABEL( 9,1) = 'CRTTRS'
  LABEL(10,1) = 'CRT_TOT'

! Correct Values
  VALUE( 1,1) = 416.000
  VALUE( 2,1) =  44.900
  VALUE( 3,1) = 321.250
  VALUE( 4,1) = 366.150
  VALUE( 5,1) =   0.273
  VALUE( 6,1) =  31.400
  VALUE( 7,1) =  25.490
  VALUE( 8,1) =   6.107E-4
  VALUE( 9,1) =   0.759
  VALUE(10,1) =   0.759

! Comparison
 ~PLLSCON,VU1
 *GET,VALUE(1,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,VC
 *GET,VALUE(2,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,VS
 *GET,VALUE(3,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,VU2
 *GET,VALUE(4,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,CRTSHR
 *GET,VALUE(5,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,TU1
 *GET,VALUE(6,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,TU2
 *GET,VALUE(7,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,ALT
 *GET,VALUE(8,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,CRTTRS
 *GET,VALUE(9,2),ELEM,4,ETAB,CFETAB_J
 ~PLLSCON,CRT_TOT
 *GET,VALUE(10,2),ELEM,4,ETAB,CFETAB_J

! Warning and error tolerances
  TOLER( 1,1)= 1E-3 $ TOLER( 1,2)= 1E-3
  TOLER( 2,1)= 1E-3 $ TOLER( 2,2)= 1E-3
  TOLER( 3,1)= 1E-2 $ TOLER( 3,2)= 1E-2  ! Rounding error accepted
  TOLER( 4,1)= 1E-2 $ TOLER( 4,2)= 1E-2  ! Rounding error accepted
  TOLER( 5,1)= 1E-3 $ TOLER( 5,2)= 1E-3
  TOLER( 6,1)= 1E-1 $ TOLER( 6,2)= 1E-1  ! Rounding error accepted
  TOLER( 7,1)= 1E-2 $ TOLER( 7,2)= 1E-2  ! Rounding error accepted
  TOLER( 8,1)= 1E-5 $ TOLER( 8,2)= 1E-5
  TOLER( 9,1)= 1E-3 $ TOLER( 9,2)= 1E-3
  TOLER(10,1)= 1E-3 $ TOLER(10,2)= 1E-3

!--------------------------------------------------------------------------------------
! Results Comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
