!*****************************************************************************************************!
! TITLE: CFVR4514 -   GB50017: Axial Checking
! SUBTITLE:
!
! DESCRIPTION: A cantilever steel beam with a support in the middle section, is subjected to a
! DESCRIPTION: compression load of -500 kN applied on one end of the beam.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 25 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a U channel, UAP 130
! DESCRIPTION:
! DESCRIPTION: The beam is made of GB 50017  Q235
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the axial
! DESCRIPTION: 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='CFVR4514'
  /TITLE, %NomFile%, GB50017: Axial 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,21,3   ! UAP 130 --> U Channel
! 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
! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1       ! Read first load step
! GB50017 Axial Checking
  ~CHKSTL,AXIAL,

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
  NComp    =  2
  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) = 'SEQ'
  LABEL(2,1) = 'CRT_TOT'

! Correct values
  VALUE(1,1) = -2.857142857143E+05
  VALUE(2,1) = 1.328903654

! Obtained values
  ~PLLSSTL,SEQ
  *GET,VALUE(1,2),ELEM,13,ETAB,CFETAB_I
  ~PLLSSTL,CRT_TOT
  *GET,VALUE(2,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

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
