!*****************************************************************************************************!
! TITLE: CFVR2855 - IS 800-07 test: Compression
! SUBTITLE: Compression buckling checking according to IS 800-07.
! DESCRIPTION: A fixed steel beam subjected to a Fy load of -250 kN, applied to an end of the beam.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 10 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a 2 UPN 180.
! DESCRIPTION:
! DESCRIPTION: The beam is made of Fe 410 steel which has a fy of 250000 kN/m<sup>2</sup>.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the cross section classification and compression
! DESCRIPTION: buckling criterion according to IS 800-07.

! ELEMENT TYPE: BEAM188
! MODULES:
! UNITS: User
! KEYWORD1: Cross Section
! KEYWORD2: Steel
! KEYWORD3: Code Checking/Design
! KEYWORD4: IS800
!
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR2855'
  /TITLE, %NomFile%, IS 800-07 test: Compression Buck 

! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,IS800-07

/PREP7
! Materials
  ~CFMP,1,LIB,STEEL,IS800,Fe 410  

  ! Element Types
  ET,1,BEAM188 

! Cross Sections
~SSECLIB,1,1,94,6   !2 UPN 180  
 
   ~MEMBPRO,1,IS800,ALL,10,1.0,1.000,1.000,0.000,1.000,1.000,1.000,1.000,,0,1.000,1.000,0

! Beam Properties
 ~BMSHPRO,1,BEAM,1,1,,,188,1,0,,

! Nodes
  N, 1
  N,2,10

! Elements
  E,1,2

  EPLOT
/SOLU
! Restraints
  D, 1,ALL

! Apply Load
  F,2,FX,-250

! Solve
  SOLVE
/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1       ! Read the first load step
! Plot FX
  ~PLLSFOR,F,X,-1
! Check for tension and compression
~CHKSTL,BUCK_CMP,-Z,PARTIAL 

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 8
  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) = 'CLASS1'
  LABEL(2,1) = 'P'
  LABEL(3,1) = 'Pd'
  LABEL(4,1) = 'Crit'
  LABEL(5,1) = 'ChiY'
  LABEL(6,1) = 'PhiY'
  LABEL(7,1) = 'LamY'
  LABEL(8,1) = 'AlpY'

! Correct values
! ---------------------------------------------------------------------------------
  VALUE(1,1)=1
  VALUE(2,1)=250
  VALUE(3,1)=268.60
  VALUE(4,1)=250/268.60
  VALUE(5,1)=0.211
  VALUE(6,1)=2.817
  VALUE(7,1)=2.06
  VALUE(8,1)=0.21

! Obtained values
! ---------------------------------------------------------------------------------
  ! Check Compression
    ~CFSET,1      !Read first alternative
   ~CFGET,VALUE(1,2),ELEMENT,1,RESULT,CLASS,I
   ~CFGET,VALUE(2,2),ELEMENT,1,RESULT,P,I
   ~CFGET,VALUE(3,2),ELEMENT,1,RESULT,PD,I   
   ~CFGET,VALUE(4,2),ELEMENT,1,RESULT,CRT_TOT,I
   ~CFGET,VALUE(5,2),ELEMENT,1,RESULT,CHI_Y,I   
   ~CFGET,VALUE(6,2),ELEMENT,1,RESULT,PHI_Y,I
   ~CFGET,VALUE(7,2),ELEMENT,1,RESULT,LAM_Y,I   
   ~CFGET,VALUE(8,2),ELEMENT,1,RESULT,ALP_Y,I

! Warning and error tolerances
  TOLER( 1, 1)= 1E-2 $ TOLER( 1, 2)= 1E-2
  TOLER( 2, 1)= 1E-2 $ TOLER( 2, 2)= 1E-2
  TOLER( 3, 1)= 1E-0 $ TOLER( 3, 2)= 1E-0
  TOLER( 4, 1)= 1E-2 $ TOLER( 4, 2)= 1E-2
  TOLER( 5, 1)= 1E-2 $ TOLER( 5, 2)= 1E-2
  TOLER( 6, 1)= 1E-2 $ TOLER( 6, 2)= 1E-2
  TOLER( 7, 1)= 1E-2 $ TOLER( 7, 2)= 1E-2
  TOLER( 8, 1)= 1E-2 $ TOLER( 8, 2)= 1E-2
  
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC

