!*****************************************************************************************************!
! TITLE: CFVR4501 - Bending checking according to GB50017
! SUBTITLE:
!
! DESCRIPTION: A pinned-pinned Steel beam is subjected to a surface load of 2.75kp/cm and a surface load on
! DESCRIPTION: face 2 of 3 kp/cm
! DESCRIPTION:
! DESCRIPTION: The beam is 1200 m length.
! DESCRIPTION:
! DESCRIPTION: The cross section is a pipe P 1 1/2.
! DESCRIPTION:
! DESCRIPTION: The beam is made of GB 50017 Q345 steel.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain bending
! DESCRIPTION: checking criterion according to GB50017.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: GB 50017
!
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR4502'
  /TITLE, %NomFile%, GB50017: Bending check according to GB50017

! ---------------------------------------------------------------------------------
! Model definition
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,MP
  ~CODESEL,GB50017,EC2,,,EC8-94

/PREP7
! Preprocessor
! ----------------------------------------------------------------------------------
! Materials
  ~CFMP,1,LIB,STEEL,GB50017,Q345   ! GB50017  Q345
! Element Types
  ET,1,BEAM3         ! Type 1: 2D Beam
! Sections
  ~SSECLIB,1,1,62,5   ! P 1 1/2 --> Pipe
! Member Properties
  ~MEMBPRO,1,GB50017,ALL,
! Beam properties
  ~BMSHPRO,1,BEAM,1,,,,3,1,0,,Beam properties

! Nodes
  N, 1
  N,11,6
  FILL, 1,11
! Elements
  REAL,1
  E,1,2
  EGEN,10,1,-1
  EPLOT

/SOLU
! Solution
! --------------------------------------------------
! Displacements
  D, 1,UX
  D, 1,UY
  D,11,UY
! Apply Loads
  F,11,FX,-40.0
  F,11,MZ,-40*.48
! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,       ! Read first load step
! GB50017 Check for bending
  ~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.15
  VALUE(2,1) = 1.15
  VALUE(3,1) = 1.2488898645E+06
  VALUE(4,1) = 39.50782513

! 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-4 $ TOLER(1,2) = 1E-4
  TOLER(2,1) = 1E-5 $ TOLER(2,2) = 1E-5
  TOLER(3,1) = 1E-4 $ TOLER(3,2) = 1E-4
  TOLER(4,1) = 1E-5 $ TOLER(4,2) = 1E-5

!-------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
