!*****************************************************************************************************!
! TITLE: CFVR4509 -   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  Q235.
! 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='CFVR4509'
   /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,Q235   !  GB50017  Q235
 ! Element Types
   ET,1,BEAM4           ! Type 1: 3D Beam
 ! Cross Sections
   ~SSECLIB,1,1,23,27  ! L 200 x 200 x 18 --> L Angle
 ! 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,25,UX
   D,25,UZ
   D,ALL,ROTY
 ! 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.134960369
  VALUE(2,1) = -268035.83283
  VALUE(3,1) = 1.307491867

! Obtained values
  ~PLLSSTL,FI
  *GET,VALUE(1,2),ELEM,13,ETAB,CFETAB_I
  ~PLLSSTL,SEQ
  *GET,VALUE(2,2),ELEM,13,ETAB,CFETAB_I
  ~PLLSSTL,CRT_TOT
  *GET,VALUE(3,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) = 1E-4 $ TOLER(3,2) = 1E-4

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
