!*****************************************************************************************************!
! TITLE: CFVR4508 -   GB50017: Compression Buckling
! SUBTITLE:
!
! DESCRIPTION: A fixed-pinned steel beam is subjected to a compression load of 250 kN,
! DESCRIPTION: applied on one end of the beam.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 10 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a 2UPN 180.
! DESCRIPTION:
! DESCRIPTION: The beam is made of GB 50017  Q345.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the compression buckling
! 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='CFVR4508'
  /TITLE, %NomFile%, GB50017: Compression Buckling

! ---------------------------------------------------------------------------------
! 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,Q345   !  GB50017  Q345
! Element Types
  ET,1,BEAM4           ! Type 1: 3D Beam
! Cross Sections
  ~SSECLIB,1,1,94,6    ! B - Tubular Square / Box
! Member properties
  ~MEMBPRO,1,GB50017,ALL,0.0,0.0,0,0,10.0,1.0,1.0
! Beam properties
 ~BMSHPRO,1,BEAM,1,,,,4,1,0,,Beam properties

! Nodes
  N,1
  N,25,,10
  FILL,1,25
! Elements
  E,1,2
  EGEN,24,1,1
  EPLOT

/SOLU
! Solution
! --------------------------------------------------
! Displacements
  D, 1,UX
  D, 1,UY
  D, 1,UZ
  D, 1,ROTY
  D,25,UX
  D,25,UZ
! Apply Load
  F,25,FY,-250
! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1       ! Read first load step
! GB50017 Check in Buckling Compression
  ~CHKSTL,BUCK_CMP,

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp    =  3
  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) = 'FI'
  LABEL(2,1) = 'SEQ'
  LABEL(3,1) = 'CRT_TOT'

! Correct values
  VALUE(1,1) = 0.161942
  VALUE(2,1) = -275671
  VALUE(3,1) = 0.889261

! Obtained values
  ~PLLSSTL,FI
  *GET,VALUE(1,2),ELEM,12,ETAB,CFETAB_J
  ~PLLSSTL,SEQ
  *GET,VALUE(2,2),ELEM,12,ETAB,CFETAB_J
  ~PLLSSTL,CRT_TOT
  *GET,VALUE(3,2),ELEM,12,ETAB,CFETAB_J

! Warning and error tolerances
  TOLER(1,1) = 1E-4 $ TOLER(1,2) = 1E-4
  TOLER(2,1) = 1E+2 $ TOLER(2,2) = 1E+2
  TOLER(3,1) = 1E-4 $ TOLER(3,2) = 1E-4

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
