!**************************************************************************************************************!
! TITLE: CFVR2303 - Steel Checking according to LRFD
! SUBTITLE: Compression flexural buckling checking according to LRFD 2<sup>nd</sup> Edition
!
! DESCRIPTION: A 2D pinned steel frame with W16x31 and W12x120 sections is subjected to vertical forces of 1100 kips
! DESCRIPTION: at both corners.
! DESCRIPTION:
! DESCRIPTION: Determine the equivalent slenderness parameter, critical stress, nominal axial strength, total
! DESCRIPTION: criterion and section classification according to LRFD.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Steel
! KEYWORD5: LRFD 2
!
!**************************************************************************************************************!
   FINISH
   ~CFCLEAR,,1
   NomFile='CFVR2303'
   /TITLE, %NomFile%, LRFD: Compression Flexural Buckling Checking

!------------------------------------------------------------------
! Model definition
!------------------------------------------------------------------
! CivilFEM Setup: Code & Units
   ~CODESEL,LRFD,EC2,,,EC8-94
   ~UNITS,,MONE,EURO
   ~UNITS,,LENG,FT
   ~UNITS,,TIME,S
   ~UNITS,,FORC,KIPS
   ~UNITS,,PRES,,0,uuP
   ~UNITS,,MASS,,0,uuM

/PREP7
! Preprocessor
! --------------------------------------------------
! Materials
  ~CFMP,1,LIB,STEEL,ASTM,A572Gr50
! Element Types
  ET,1,Beam3
! Cross Section
  ~SSECLIB,1,1,51,161   ! W 16x31
  ~SSECLIB,2,1,51,209   ! W 12x136
! Beam & Shell Property
  ~BMSHPRO,1,BEAM,1,1,,,3,1,0,,Beam 1
  ~BMSHPRO,2,BEAM,2,2,,,3,1,0,,Beam 2
! Member property
  ~MEMBPRO,1,LRFD,ALL,15.00,2.2,2.2,1.0,1.0,0.0,
  ~MEMBPRO,1,NLMOD,ALL,0
  ~MEMBPRO,1,NAME,Member Property 1
! Nodes
  N,
  N,15,,15
  N,35,20,15
  N,50,20,0
  FILL,1,15,13,,,1,1,1
  FILL,15,35,19,,,1,1,1
  FILL,35,50,14,,,1,1,1
! Elements
! Beam 1
   TYPE,1
   MAT,1
   REAL,1
   ESYS,0
   SECNUM,
   E,15,16
   EGEN,20,1,1,,1
! Beam 2
   TYPE,1
   MAT,1
   REAL,2
   ESYS,0
   SECNUM,
   E,1,2
   EGEN,14,1,21,,1
   E,35,36
   EGEN,15,1,35,,1

! Solution
! --------------------------------------------------
/SOLU
! Constraints
  D,1,UX
  D,1,UY
  D,50,UX
  D,50,UY
! Apply Load
  F,35,FY,-1100
  F,15,FY,-1100
! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1                  ! First load step
! Compression Flexural Buckling
  ~CHKSTL,COMPFBK

!-----------------------------------------------------------------
! DATA CHECK
!-----------------------------------------------------------------
! Data comparison number
  NComp = 5
  NComp_ch = 0

! Matrix 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) = 'LAMBDA  '
  LABEL(2,1) = 'FCR     '
  LABEL(3,1) = 'PN      '
  LABEL(4,1) = 'CRT_TOT '
  LABEL(5,1) = 'CLS_COMP'

! Correct values
  VALUE(1,1)=  0.938
  VALUE(2,1)=  4982.0
  VALUE(3,1)=  1380.4
  VALUE(4,1)=  0.937
  VALUE(5,1)=  2

! Comparison
  ~CFGET,value( 1,2),ELEMENT,28,RESULT,LAMBDA  ,J
  ~CFGET,value( 2,2),ELEMENT,28,RESULT,FCR     ,J
  ~CFGET,value( 3,2),ELEMENT,28,RESULT,PN      ,J
  ~CFGET,value( 4,2),ELEMENT,28,RESULT,CRT_TOT ,J
  ~CFGET,value( 5,2),ELEMENT,28,RESULT,CLS_COMP,J

! Warning and error tolerances
  TOLER( 1, 1)= 1E-03 $ TOLER( 1, 2)= 1E-03
  TOLER( 2, 1)= 1E-00 $ TOLER( 2, 2)= 1E-00
  TOLER( 3, 1)= 1E-00 $ TOLER( 3, 2)= 1E-00
  TOLER( 4, 1)= 1E-03 $ TOLER( 4, 2)= 1E-03
  TOLER( 5, 1)= 1E-03 $ TOLER( 5, 2)= 1E-03

!----------------------------------------------------------------
! Results comparison
!----------------------------------------------------------------
  COMPARA.MAC
