!*****************************************************************************************************!
! TITLE: CFVR1014 - EC3-05 test: Bending and shear
! SUBTITLE: Bending and shear checking according to EN 1993-1-1:2005
!
! DESCRIPTION: A fixed steel beam subjected to a surface load of 1000 kN/m.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 1 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a IPE 400.
! DESCRIPTION:
! DESCRIPTION: The beam is made of Fe 430 steel which has a fy of 275000 kN/m<sup>2</sup>.
! DESCRIPTION:
! DESCRIPTION: Other load case is defined with surface load of 2000 kN/m
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the cross section classification and shear
! DESCRIPTION: criterion according to EN 1993-1-1:2005.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: Eurocode 3
!
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR1014'
  /TITLE, %NomFile%, EC3-05 test: Bending and Shear

! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,EC3-05,EC2-08,,,EC8-94

/PREP7
! Materials
  ~CFMP,1,LIB,STEEL,EC3,Fe 430   ! Fe 430 (EC3)
! Element Types
  ET,1,BEAM3         ! Type 1: 2D Beam
! Cross sections
  ~SSECLIB,1,1,1,14     ! IPE 400

! Beam Properties
 ~BMSHPRO,1,BEAM,1,1,,,3,1,0,,

! Nodes
  N, 1
  N,25,1
  FILL, 1,25
! Elements
  E,1,2
  EGEN,24,1,1
/SOLU
! Restraints
  D, 1,ALL
  D,25,ALL
! Apply Load
  SFBEAM,ALL,1,PRES,1000
! Solve
  SOLVE
! Apply load to increase the shear up to the plastic shear strength
  SFBEAM,ALL,1,PRES,2000
! Solve
  SOLVE
/POST1
! Read results
  ~CFSET,,1,1       ! Read the first load step
! Check in Bending + Shear
  ~CHKSTL,BEND_SHR,-Z,PARTIAL
! Read results
  ~CFSET,,2,1       ! Read the second load step
! Check in Bending + Shear
  ~CHKSTL,BEND_SHR,-Z,PARTIAL

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 9
  NComp_ch =  0

! Marix 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) = 'CLASS'
  LABEL(2,1) = 'S_AREA'
  LABEL(3,1) = 'VplRd'
  LABEL(4,1) = 'VEd'
  LABEL(5,1) = 'RHO'
  LABEL(6,1) = 'MvRd'
  LABEL(7,1) = 'MEd'
  LABEL(8,1) = 'Crit'
  LABEL(9,1) = 'CritVpl'
! Correct values
!--------------------------------------------------------------------------------------
  VALUE(1,1)=1
  VALUE(2,1)=4.27E-3
  VALUE(3,1)=616.32
  VALUE(4,1)=-500
  VALUE(5,1)=0.3875
  VALUE(6,1)=297.73
  VALUE(7,1)=83.33
  VALUE(8,1)=0.279
  VALUE(9,1)=1.622

! Obtained values
!--------------------------------------------------------------------------------------

 ~CFSET,1, 	! First alternative
 ~CFGET,VALUE( 1,2),ELEMENT,1,RESULT,CLASS,I
 ~CFGET,VALUE( 2,2),ELEMENT,1,RESULT,S_AREA,I
 ~CFGET,VALUE( 3,2),ELEMENT,1,RESULT,VPLRD,I
 ~CFGET,VALUE( 4,2),ELEMENT,1,RESULT,VED,I
 ~CFGET,VALUE( 5,2),ELEMENT,1,RESULT,RHO,I
 ~CFGET,VALUE( 6,2),ELEMENT,1,RESULT,MVRD,I
 ~CFGET,VALUE( 7,2),ELEMENT,1,RESULT,MED,I
 ~CFGET,VALUE( 8,2),ELEMENT,1,RESULT,CRT_TOT,I
 ~CFSET,2, 	! second alternative
 ~CFGET,VALUE( 9,2),ELEMENT,1,RESULT,CRT_TOT,I

! Warning and error tolerances
  TOLER( 1, 1)= 0    $ TOLER( 1, 2)= 0
  TOLER( 2, 1)= 1E-3 $ TOLER( 2, 2)= 1E-3
  TOLER( 3, 1)= 1E-0 $ TOLER( 3, 2)= 1E-0		! ROUNDING ERROR ACCEPTED
  TOLER( 4, 1)= 1E-2 $ TOLER( 4, 2)= 1E-2		
  TOLER( 5, 1)= 1E-2 $ TOLER( 5, 2)= 1E-2
  TOLER( 6, 1)= 1E-2 $ TOLER( 6, 2)= 1E-2		
  TOLER( 7, 1)= 1E-2 $ TOLER( 7, 2)= 1E-2
  TOLER( 8, 1)= 1E-2 $ TOLER( 8, 2)= 1E-2
  TOLER( 9, 1)= 1E-2 $ TOLER( 9, 2)= 1E-2

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
