!***************************************************************************************************!
! TITLE: CFVR1272 - Seismic margin in reinforced beam according to Eurocode 2 (2008)
! SUBTITLE: Check a reinforced concrete beam subjected to shear force 
!
! DESCRIPTION: A beam which is fixed at the right and simply supported at left end
! DESCRIPTION: has a rectangular reinforced concrete section
! DESCRIPTION: and it is subjected to a uniform distributed load of 6.75 Mp/m.
! DESCRIPTION:
! DESCRIPTION: The aim of this example is to obtain the scale factor for elastic (FSE) 
! DESCRIPTION: and permissible inelastic response (FSI) according to EC2-08 code.
! DESCRIPTION:
! DESCRIPTION: Inelastic energy absorption factors for shear is 1.25.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Reinforced Concrete
! KEYWORD5: Eurocode 2
!
!***************************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR1272'
 /TITLE,%NomFile%, SHEAR CHECKING ACCORDING TO HCLPF FOR Eurocode 2

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
~CFACTIV,NUCL,Y
~UNITS,,LENG,M
~UNITS,,TIME,S
~UNITS,,FORC,MP
~CODESEL,EC3-92,EC2-08,,,EC8-94

! Preprocessor
  /PREP7

! Parameters
  L=10         ! Length between supports, in m
  b=.3         ! Cross-section width in m.
  h=.5         ! Depth in m.
  Q=4.5    ! Uniform distributed load in Mp/m
  Q_NS = Q/8
  Q_S = Q/2

! Material Definition
 ~CFMP,3,LIB,CONCRETE,ACI,fc_4500
 ~CFMP,4,LIB,REINF,ACI,fy_60000

! Element Type Definition
  ET,1,Beam3                            ! Element Type 1: 2D Beam

! Cross-section definition
 ~CSECDMS,2,REC,3,0.5,0.3
! Reinforcement definition
 ~RNFDEF,2,1,4,4,,,0.6368E-02     ! Bot. reinf. for bending
 ~RNFDEF,2,2,4,2,,,0.2283E-02     ! Top reinf. for bending
 ~RNFDEF,2,SHEAR,4,,,.00128       ! Shear reinf.
! Code properties definition
  ~SECMDF,2,EC2PROP,REC     ,,5e-002
  ~SECMDF,2,EC2PROP,DUCT_SH ,,1.25,0,0,0 
! Beam & shell properties
  ~BMSHPRO,1,BEAM,2,2,,,3,,,,Beam property

! Model Construction
  MAT,3
  N,1                                   ! Nodes input
  N,21,L
  FILL,1,21
  E,1,2                                 ! Elements input
  EGEN,20,1,1,1
  D,1, , , , , ,UX,UY                   ! Boundary conditions
  D,21, , , , , ,UY
  
  ~CFSAVE,%NomFile%
  
  FINISH

/FILNAME,NON_SEISMIC
~CFRESUM,%NomFile%

/SOLU
  SFBEAM,ALL,1,PRES,Q_NS
  SOLVE               ! Calculation
  FINISH

  /FILNAME,SEISMIC
~CFRESUM,%NomFile%

/SOLU
  SFBEAM,ALL,1,PRES,Q_S
  SOLVE               ! Calculation
  FINISH
/FILNAME,NON_SEISMIC

/POST1

! Postprocessor
  ~CFSET,,1,1       ! Read first load step
  ~CFFILE2,4,SEISMIC.RCV

! Shear in Y checking according to EC2
  ~HCLPFCN,SHT,SHEAR,0, , ,1,,,,,,,,1,1
  
  ~PLHCLPF,BEAM,FSE
~CFGET,FSE, ELEMENT, 1 ,RESULT ,  FSE, I, , , 1 
~CFSAVE,%NomFile%

FINISH

/FILNAME,SEISMIC_SCALED
~CFRESUM,%NomFile%
/SOLU
  SFBEAM,ALL,1,PRES,Q_S*FSE
  SOLVE               ! Calculation
  
  FINISH

/FILNAME,NON_SEISMIC

/POST1

~CFSET,,1
~CFFILE2,4,SEISMIC_SCALED.RCV
 ~HCLPFCN,SHT,SHEAR,0, , ,1,,,,,,,,1,1
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 2
  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) = 'DUCT'
  LABEL(2,1) = 'FSE'

! Correct values
  VALUE(1,1)=1.25
  VALUE(2,1)=1.

! Comparison
! CivilFEM data
 ~CFGET,VALUE(1,2),SECTION,2,EC2PROP,DUCT_SH
 ~PLHCLPF,BEAM,FSE
 ~CFGET,VALUE(2,2), ELEMENT, 20 ,RESULT ,  FSE, J, , , 1 
 
! Warning and error tolerances
  TOLER( 1, 1)= 1E-02 $ TOLER( 1, 2)= 1E-02
  TOLER( 2, 1)= 5E-02 $ TOLER( 2, 2)= 5E-02
  
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
