!*****************************************************************************************************!
! TITLE: CFVR4505 - GB50017: Axial Bending Checking
! SUBTITLE:
!
! DESCRIPTION: A cantilever steel beam is subjected to a compression load of 500 kN,
! DESCRIPTION: a bending moment My of 30 KNm and a bending moment Mz of 80 kNm applied on one end
! DESCRIPTION: of the beam.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 1 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a B Tubular Square/Box, TS 10x10.
! DESCRIPTION:
! DESCRIPTION: The beam is made of GB 50017  Q235 steel.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain axial + 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='CFVR4505'
  /TITLE, %NomFile%, GB50017: Axial Bending Checking

! ---------------------------------------------------------------------------------
! Model definition
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,GB50017,EC2,,,EC8-94

/PREP7
! Preprocessor
! --------------------------------------------------
! Materials
  ~CFMP,1,LIB,STEEL,GB50017,Q235   !  GB50017  Q235
! Element type
  ET,1,BEAM4          ! Type 1: 3D Beam
! Cross Sections
  ~SSECLIB,1,1,61,29  ! TS 10x10 --> B Tubular Square/Box
! Beam properties
  ~BMSHPRO,1,BEAM,1,,,,4,1,0,,Beam properties

! Nodes
  N, 1
  N,25,1
  FILL, 1,25
! Elements
  E,1,2
  EGEN,24,1,1

/SOLU
! Solution
! --------------------------------------------------
! Displacements
  D, 1,ALL
! Apply Load
  F,25,FX,-500
  F,25,MY,30
  F,25,MZ,80
! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1       ! Read first load step
! GB50017 Checking in Axial+Biaxial bending
  ~CHKSTL,BEND_AXL,

!--------------------------------------------------------------------------------------
! 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.05
  VALUE(2,1) = 1.05
  VALUE(3,1) = -1.2868855721E+05
  VALUE(4,1) = 5.9855142887E-01

! Obtained values
  ~PLLSSTL,GAMY
  *GET,VALUE(1,2),ELEM,13,ETAB,CFETAB_I
  ~PLLSSTL,GAMZ
  *GET,VALUE(2,2),ELEM,13,ETAB,CFETAB_I
  ~PLLSSTL,SEQ
  *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) = 1E-4 $ TOLER(1,2) = 1E-4
  TOLER(2,1) = 1E-5 $ TOLER(2,2) = 1E-5
  TOLER(3,1) = 1E3  $ TOLER(3,2) = 1E3
  TOLER(4,1) = 1E-3 $ TOLER(4,2) = 1E-3

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
