!***************************************************************************************************!
! TITLE: CFVR2955 - Shear design plus axial force according to SP 63.13330.2012
! SUBTITLE: Design a reinforced concrete beam subjected to shear force and axial force according to SP 63.13330.2012
!
! DESCRIPTION: A pinned-pinned beam has a rectangular reinforced concrete section,
! DESCRIPTION: and it is subjected to a uniform distributed load of 150 kN/m and different axial N forces.
! DESCRIPTION: The length of the beam is 5m.
!
! DESCRIPTION: The aim of the example is to obtain the check criterion according to SP 63.13330.2012.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Reinforced Concrete
! KEYWORD5: SP 63133
!
!***************************************************************************************************!
   FINISH
  ~CFCLEAR,,1
  NomFile='CFVR2955'
  /TITLE,%NomFile%, SHEAR DESIGN ACCORDING TO SP 63.13330.2012

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,,SP63133

! Preprocessor
  /PREP7

! Parameters
  L=5          ! Length between supports, in m
  Q=150        ! Uniform distributed load in kN/m

! Material Definition
~CFMP,1,LIB,CONCRETE,SP63133,B35
~CFMP,2,LIB,REINF,SP63133,A400  

! Element Type Definition
  ET,1,Beam3                               ! Element Type 1: 2D Beam

! Cross-section definition
~CSECDMS,1,REC,1,0.75,0.5
~SECMDF,1,SP63133P,REC,,0.05		! Mechanical cover for properties calculations   
~RNFDEF,1,SHEAR,2,,,1E-04       	! Shear Reinforcement=1cm2/m

! Beam properties
 ~BMSHPRO,1,BEAM,1,1,,,3,1,,,Beam Property

! Model Construction
  N,1                     ! Nodes input
  N,26,L
  FILL,1,26

  E,1,2                   ! Elements input
  EGEN,25,1,1,1

  D,1, , , , , ,UX,UY     ! Boundary conditions
  D,26,UY

/SOLU
  SFBEAM,ALL,1,PRES,Q
  
  !CASE 1: 
  N=-875
  F,26,Fx,N
  SOLVE                   ! Calculation
  !CASE 2: 
  N=-3000
  F,26,Fx,N
  SOLVE                   ! Calculation
  !CASE 3: 
  N=-7350
  F,26,Fx,N
  SOLVE                   ! Calculation
  !CASE 4: 
  N=450
  F,26,Fx,N
  SOLVE                   ! Calculation

/POST1

! Postprocessor
  ~CFSET,,1,1       ! Read first load step
! Shear in Y checking for rectangular sections according to SP 63.13330.2012
  ~DIMCON,SHT,SHEAR

  ~CFSET,,2,1       ! Read first load step
! Shear in Y checking for rectangular sections according to SP 63.13330.2012
  ~DIMCON,SHT,SHEAR

  ~CFSET,,3,1       ! Read first load step
! Shear in Y checking for rectangular sections according to SP 63.13330.2012
  ~DIMCON,SHT,SHEAR
  
   ~CFSET,,4,1       ! Read first load step
! Shear in Y checking for rectangular sections according to SP 63.13330.2012
  ~DIMCON,SHT,SHEAR

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 12
  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) = 'PHI_N_1'
  LABEL(2 ,1) = 'QSW_1'
  LABEL(3 ,1) = 'ASSH_1'
  LABEL(4  ,1) = 'PHI_N_2'
  LABEL(5  ,1) = 'QSW_2'
  LABEL(6  ,1) = 'ASSH_2'
  LABEL(7 ,1) = 'PHI_N_3'
  LABEL(8 ,1) = 'QSW_3'
  LABEL(9 ,1) = 'ASSH_3'
  LABEL(10,1) = 'PHI_N_4'
  LABEL(11,1) = 'QSW_4'
  LABEL(12,1) = 'ASSH_4'

! Correct values
  VALUE(1,1)=1.119
  VALUE(2,1)=107.621
  VALUE(3,1)=5.525E-04
  VALUE(4,1)=1.25
  VALUE(5,1)=72.5
  VALUE(6 ,1)=3.722E-04
  VALUE(7 ,1)=3.82E-03
  VALUE(8 ,1)=2**100
  VALUE(9 ,1)=2**100
  VALUE(10,1)=0.538
  VALUE(11,1)=469.526
  VALUE(12,1)=2.411E-03


! Comparison
*DO,I,0,3
 ~CFSET,1+I 
 ~PLLSCON,PHI_N
  *GET,VALUE(1+I*3,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSCON,QSW
  *GET,VALUE(2+I*3,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSCON,ASSH
  *GET,VALUE(3+I*3,2),ELEM,1,ETAB,CFETAB_I
*ENDDO

! Warning and error tolerances
  TOLER( 1, 1) = VALUE( 1,  1)*0.01 $ TOLER(1  , 2)= VALUE( 1,  1)*0.01
  TOLER( 2, 1) = VALUE( 2,  1)*0.01 $ TOLER(2  , 2)= VALUE( 2,  1)*0.01
  TOLER( 3, 1) = VALUE( 3,  1)*0.01 $ TOLER(3  , 2)= VALUE( 3,  1)*0.01
  TOLER( 4, 1) = VALUE( 4,  1)*0.01 $ TOLER(4  , 2)= VALUE( 4,  1)*0.01
  TOLER( 5 , 1)= VALUE( 5 , 1)*0.01 $ TOLER(5  , 2)= VALUE( 5 , 1)*0.01
  TOLER( 6 , 1)= VALUE( 6 , 1)*0.01 $ TOLER(6  , 2)= VALUE( 6 , 1)*0.01
  TOLER( 7 , 1)= VALUE( 7 , 1)*0.03 $ TOLER(7  , 2)= VALUE( 7 , 1)*0.03
  TOLER( 8 , 1)= VALUE( 8 , 1)*0.03 $ TOLER(8  , 2)= VALUE( 8 , 1)*0.03
  TOLER( 9 , 1)= VALUE( 9 , 1)*0.03 $ TOLER(9  , 2)= VALUE( 9 , 1)*0.03
  TOLER( 10, 1)= VALUE( 10, 1)*0.01 $ TOLER(10 , 2)= VALUE( 10, 1)*0.01
  TOLER( 11, 1)= VALUE( 11, 1)*0.01 $ TOLER(11 , 2)= VALUE( 11, 1)*0.01
  TOLER( 12, 1)= VALUE(12,1)*0.01 $ TOLER( 12, 2)= VALUE(12,1)*0.01

  

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
