!*************************************************************************************!
! TITLE: CFVR1002 - Eurocode 3 1992 test: Pure bending
! SUBTITLE: Bending check according to Eurocode 3 1992
!
! DESCRIPTION: A pinned-pinned steel beam is subjected to a distributed load of 2.75kN/m
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 12 m.
! DESCRIPTION: the cross section is an IPE 200.
! DESCRIPTION:
! DESCRIPTION: The beam is made of Fe 430 steel which has a fy of 275000 kN/m<sup>2</sup>.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the cross section classification, and bending
! DESCRIPTION: checking criterion according to Eurocode 3 1992.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: Eurocode 3
!
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR1002'
  /TITLE, %NomFile%, Eurocode 3 1992 test: Pure bending

! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,EC3-92

/PREP7
! Preprocessor
! --------------------------------------------------
! 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,7   !IPE 200
! Beam & Shell properties
  ~BMSHPRO,1,BEAM,1,1,,,3,1,0,
! Nodes
  N, 1
  N,25,12
  FILL, 1,25
! Elements
  E,1,2
  EGEN,24,1,1
  EPLOT

/SOLU
! Solution
! --------------------------------------------------
! Displacements
  D, 1,UX
  D, 1,UY
  D,25,UY
! Apply Load
  SFBEAM,ALL,1,PRES,2.75
! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1       ! Read the first load step

! Plot bending moment MZ
  ~PLLSFOR,M,Z,-3
! Check in Bending
  ~CHKSTL,BENDING,-Z,PARTIAL

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
  NComp    =  4
  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) = 'Msd'
  LABEL(3,1) = 'McRd'
  LABEL(4,1) = 'CRT_TOT'

! Correct values
!--------------------------------------------------------------------------------------
  VALUE(1,1)=1
  VALUE(2,1)=-49.5
  VALUE(3,1)=55.15
  VALUE(4,1)=0.89755

! Obtained values
!--------------------------------------------------------------------------------------
 ~PLLSSTL,CLASS
 *GET,VALUE(1,2),ELEM,13,ETAB,CLASS_I
 ~PLLSSTL,MSD
 *GET,VALUE(2,2),ELEM,13,ETAB,CFETAB_I
 ~PLLSSTL,MCRD
 *GET,VALUE(3,2),ELEM,13,ETAB,CFETAB_I
 ~PLLSSTL,CRT_TOT
 *GET,VALUE(4,2),ELEM,13,ETAB,CFETAB_I

! Warning and error tolerances
  TOLER( 1, 1)= 0    $ TOLER( 1, 2)= 0
  TOLER( 2, 1)= 1E-5 $ TOLER( 2, 2)= 1E-4
  TOLER( 3, 1)= 1E-5 $ TOLER( 3, 2)= 1E-4
  TOLER( 4, 1)= 1E-5 $ TOLER( 4, 2)= 1E-5

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
