!*************************************************************************************!
! TITLE: CFVR4056 - Reinforced concrete design according to GB 50010 2010 Chinese code
! SUBTITLE: Combined shear and torsion design.
!
! DESCRIPTION: A concrete cantilever beam with T shape section and
! DESCRIPTION: shear & torsion reinforcement is subjected to a vertical load and
! DESCRIPTION: torsion moment at free end.
! DESCRIPTION:
! DESCRIPTION: Determine the area per unit length of torsional transverse reinforcement,
! DESCRIPTION: total area of torsional longitudinal reinforcement 
! DESCRIPTION: and the area per unit length of shear reinforcement according to GB 50010-2010.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM4
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Reinforced Concrete
! KEYWORD5: GB 50010
!
!*************************************************************************************!
FINISH
~CFCLEAR,,1

NomFile='CFVR4056'
/TITLE, %NomFile%, Combined shear and torsion design according to GB50010 code (2010 version)

!-------------------------------------------------------------------------------
! initial data
!-------------------------------------------------------------------------------
~UNITS,,LENG,MM
~UNITS,,FORC,KN
~CODESEL,,GB50010N

/PREP7

! materials
~CFMP,1,LIB,CONCRETE,GB50010,C30
~CFMP,2,LIB,REINF,GB50010,HPB300
~CFMP,3,LIB,REINF,GB50010,HRB335

! element type
ET,1,BEAM4

! cross-section
mc=25.
h=500.
tw=250.
bf=400.
tf=100.
~CSECDMS,1,T,1,h,tw,bf,tf
~SECMDF,1,GB50010P,REC,,mc
~RNFDEF,1,SHEAR,2
~RNFDEF,1,TORSION,3

! beam properties
~BMSHPRO,1,BEAM,1,1,,,4,1

! mesh
N,1,0
N,2,2000.
N,3,0.,0.,1.
E,1,2,3

! loads
V = 100.
T = 24000.
D,1,ALL
F,2,FY,V
F,2,MX,T

! resolution & postprocessing
/SOLU
SOLVE
/POST1
~CFSET,,1,1
~DIMCON,SHT,BOTH

!-------------------------------------------------------------------------------
! data check
!-------------------------------------------------------------------------------

! arrays
NComp    = 12
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)  = 'TRD1'    
LABEL(4)  = 'CRTRD1'  
LABEL(5)  = 'VRD2'      
LABEL(6)  = 'CRVRD2' 
LABEL(7)  = 'TRD2'        
LABEL(8)  = 'CRTRD2'        
LABEL(9) = 'ASSH'    
LABEL(10) = 'ASTT'      
LABEL(11) = 'ASLT'    
                        
! correct data          
VALUE(1,1)  = 166.7072781
VALUE(2,1)  = 0.599853835
VALUE(3,1)  = 3.02E+04
VALUE(4,1)  = 7.95E-01
VALUE(5,1)  = 59.434375
VALUE(6,1)  = 1.682527998
VALUE(7,1)  = 6.89E+03
VALUE(8,1)  = 3.482356424
VALUE(9,1)  = 0.31630117
VALUE(10,1) = 4.73E-01
VALUE(11,1) = 7.11E+02

              
! CivilFEM data
~PLLSCON,VRD1
*GET,VALUE(1,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,CRVRD1
*GET,VALUE(2,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,TRD1
*GET,VALUE(3,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,CRTRD1
*GET,VALUE(4,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,VRD2
*GET,VALUE(5,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,CRVRD2
*GET,VALUE(6,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,TRD2
*GET,VALUE(7,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,CRTRD2
*GET,VALUE(8,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,ASSH
*GET,VALUE(9,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,ASTT
*GET,VALUE(10,2),ELEM,1,ETAB,CFETAB_J
~PLLSCON,ASLT
*GET,VALUE(11,2),ELEM,1,ETAB,CFETAB_J

! results comparison
EREL = 1.E-2
*DO,I,1,NCOMP
  TOLER(I,1) = EREL*ABS(VALUE(I,1))
  TOLER(I,2) = TOLER(I,1)
*ENDDO

COMPARA.MAC
