!*****************************************************************************************************!
! TITLE: CFVR4503 - Checking Bending with GB50017
! SUBTITLE:
!
! DESCRIPTION: A pinned-pinned Steel beam is subjected to a surface load of 2.4kp/ft
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 50 ft.
! DESCRIPTION:
! DESCRIPTION: The cross section is a double T W 27x84.
! DESCRIPTION:
! DESCRIPTION: The beam is made of GB 50017  Q390 steel.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain bending
! DESCRIPTION: checking criterion according to GB 50017.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: GB 50017
!
!*************************************************************************************
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR4503'
  /TITLE, %NomFile%, Check Bending with GB50017

! ---------------------------------------------------------------------------------
! Model definition
! ---------------------------------------------------------------------------------
! CivilFEM SETUP
  ~CODESEL,GB50017,EC2,,,EC8-94
  ~UNITS,,LENG,FT
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KIPS
  ~UNITS,,PRES,,0,uuP
  ~UNITS,,MASS,,0,uuM

/PREP7
  LVIGA = 50   ! Beam length (ft)
  NELEM = 10   ! Number of elements
! Load
  Wu = 1.2*(0.2+0.09) + 1.6*0.8   ! Factored load

! Section W 27*84
  ~SSECLIB,1,1,51,91   ! W 27x84   I Double T
! Material
  ~CFMP,1,LIB,STEEL,GB50017,Q390   ! GB50017  Q390
! Element type
  ET,1,Beam3
! Beam properties
  ~BMSHPRO,1,BEAM,1,1,,,3,1,0,,Beam 1
! Member properties
  ~MEMBPRO,1,GB50017,ALL,,,2,1

! Model
  N,1,
  N,NELEM+1,LVIGA,0
  NGEN,NELEM,1,1,,,LVIGA/NELEM
  E,1,2
  EGEN,NELEM,1,1,,

  /SOLU
  D,1,UX
  D,1,UY
  D,NELEM+1,UY
  SFBEAM,ALL,1,PRES,Wu
  SOLVE

  /POST1
  ~CFSET,,1
  ~CHKSTL,BENDING

!--------------------------------------------------------------------------------------
! 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) = 'GAMY'
  LABEL(2,1) = 'GAMZ'
  LABEL(3,1) = 'SEQ'
  LABEL(4,1) = 'CRT_TOT'

! Correct values
  VALUE(1,1) = 1.20
  VALUE(2,1) = 1.05
  VALUE(3,1) = -3.7667039E+03
  VALUE(4,1) = 0.538360476

! Obtained values
  ~PLLSSTL,GAMY
  *GET,VALUE(1,2),ELEM,5,ETAB,CFETAB_I
  ~PLLSSTL,GAMZ
  *GET,VALUE(2,2),ELEM,5,ETAB,CFETAB_I
  ~PLLSSTL,SEQ
  *GET,VALUE(3,2),ELEM,5,ETAB,CFETAB_I
  ~PLLSSTL,CRT_TOT
  *GET,VALUE(4,2),ELEM,5,ETAB,CFETAB_I

! Warning and error tolerances
  TOLER(1,1) = 1E-3 $ TOLER(1,2) = 1E-3
  TOLER(2,1) = 1E-3 $ TOLER(2,2) = 1E-3
  TOLER(3,1) = 1E0  $ TOLER(3,2) = 1E0
  TOLER(4,1) = 1E-3 $ TOLER(4,2) = 1E-3

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
