!*************************************************************************************!
! TITLE: CFVR4051 - Reinforced concrete check according to GB 50010 2010 Chinese code
! SUBTITLE: Shear checking without seismic action.
!
! DESCRIPTION: A concrete simply supported beam with rectangular shape section and
! DESCRIPTION: shear reinforcement is subjected to a uniform load and two concentrated loads.
! DESCRIPTION:
! DESCRIPTION: Determine the total criterion according to GB 50010-2010.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Reinforced Concrete
! KEYWORD5: GB 50010
!
!*************************************************************************************!

FINISH
~CFCLEAR,,1

NomFile='CFVR4051'
/TITLE, %NomFile%, Shear checking according to GB50010 code (2010 version)

!-------------------------------------------------------------------------------
! initial data
!-------------------------------------------------------------------------------
~UNITS,,LENG,MM 
~UNITS,,FORC,KN  
~CODESEL,,GB50010N

! Parameters
qL=10
Fp=120
L1=1500
L2=L1+1000
L3=L2+L1

/PREP7

! materials
~CFMP,1,LIB,CONCRETE,GB50010,C30
~CFMP,2,LIB,REINF,GB50010,HPB300

! element type
ET,1,BEAM3

! cross-section
~CSECDMS,1,REC,1,600.,250.
! reinforcement
~RNFDEF,1,SHEAR,2,0.000E+00,0.000E+00,,,,,341.000E+00,8.,2,0

! beam properties
~BMSHPRO,1,BEAM,1,1,,,3,1,0
~MEMBPRO,1,GB50010N,ALL,1,1,0.0

K,1,0
K,2,L1
K,3,L2
K,4,L3
L,1,2,(L1/1000)/4
L,2,3,((L2-L1)/1000)/4
L,3,4,(L1/1000)/4
LMESH,ALL

! loads  
DK,1,UX
DK,1,UY
DK,4,UY
FK,2,FY,-Fp
FK,3,FY,-Fp
SFBEAM,ALL,1,PRES,qL/1000  
ALLSEL

! resolution & postprocessing
/SOLU
SOLVE
/POST1
~CFSET,,1
~CHKCON,SHT,SHEAR

!-------------------------------------------------------------------------------
! data check
!-------------------------------------------------------------------------------

! arrays
NComp    = 8
NComp_ch = 0
*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) = 'VRD1'
LABEL(2) = 'CRVRD1'
LABEL(3) = 'VRD2'
LABEL(4) = 'CRVRD2'
LABEL(5) = 'VS'
LABEL(6) = 'VRD3'
LABEL(7) = 'CRVRD3'
LABEL(8) = 'CRT_TOT'

! correct data

VALUE(1,1) = 500.5
VALUE(2,1) = 0.2797
VALUE(3,1) = 140.140
VALUE(4,1) = 0.999
VALUE(5,1) = 44.575
VALUE(6,1) = 184.715
VALUE(7,1) = 0.757
VALUE(8,1) = 0.757


! CivilFEM data
~PLLSCON,VRD1
*GET,VALUE(1,2),ELEM,1,ETAB,CFETAB_I
~PLLSCON,CRVRD1
*GET,VALUE(2,2),ELEM,1,ETAB,CFETAB_I
~PLLSCON,VRD2
*GET,VALUE(3,2),ELEM,1,ETAB,CFETAB_I
~PLLSCON,CRVRD2
*GET,VALUE(4,2),ELEM,1,ETAB,CFETAB_I
~PLLSCON,VS
*GET,VALUE(5,2),ELEM,1,ETAB,CFETAB_I
~PLLSCON,VRD3
*GET,VALUE(6,2),ELEM,1,ETAB,CFETAB_I
~PLLSCON,CRVRD3
*GET,VALUE(7,2),ELEM,1,ETAB,CFETAB_I
~PLLSCON,CRT_TOT
*GET,VALUE(8,2),ELEM,1,ETAB,CFETAB_I

! results comparison
EREL = 5.E-3
*DO,I,1,NCOMP
  TOLER(I,1) = EREL*ABS(VALUE(I,1))
  TOLER(I,2) = TOLER(I,1)
*ENDDO

COMPARA.MAC