!*************************************************************************************!
! TITLE: CFVR8855 - Compression checking according to AASHTO 2012
! SUBTITLE: Compression checking of a cantilever steel beam
!
! DESCRIPTION: A steel cantilever beam with built-up channel shape section is subjected
! DESCRIPTION: to an axial compression force of 1 MN at free end.
! DESCRIPTION:
! DESCRIPTION: Determine the total criterion according to AASHTO 2012.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM188
! MODULES:
! UNITS: SI
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Steel
! KEYWORD5: AASHTO12
!
!*************************************************************************************!
FINISH
~CFCLEAR,,1
   NomFile='CFVR8855'
 /TITLE, %NomFile%, Compression checking according to AASHTO 2012

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP

~CODESEL,AASHTO12,EC2-91,EC2-91,,EC8-94

/PREP7

ET,1,Beam188,,,2

~CFMP,1,LIB,STEEL,ASTM,A441
~SSECDMS,1,C,1,0.6,0.01,0.25,0.015	! Channel by dimensions
~MEMBPRO,1,AASHTO12,ALL,2.0,2.000,2.000,1.000,1.000,0.000,1.000,1.000,0.000,
~BMSHPRO,1,BEAM,1,1,,,188,1,1,,Beam 1

N,1,
N,2,2
E,1,2

/SHRINK,0
/ESHAPE,1.0

EPLOT

D,1,ALL

F,2,FX,-1e6

/SOLU
SOLVE

/POST1
~CFSET,0,1,LAST

~CHKSTL,COMPFBK

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 7
  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) = 'QS'
  LABEL(2,1) = 'QA'
  LABEL(3,1) = 'Q'
  LABEL(4,1) = 'PO'
  LABEL(5,1) = 'PE'
  LABEL(6,1) = 'PN'
  LABEL(7,1) = 'CRT_TOT'

! Correct values
  VALUE(1,1)= 0.797
  VALUE(2,1)= 0.897
  VALUE(3,1)= 0.715
  VALUE(4,1)= 3.25e6
  VALUE(5,1)= 10.57e6
  VALUE(6,1)= 2.86e6
  VALUE(7,1)= 0.388

! Comparison

~CFGET,VALUE(1,2),ELEMENT,1,RESULT,QS,I
~CFGET,VALUE(2,2),ELEMENT,1,RESULT,QA,I
~CFGET,VALUE(3,2),ELEMENT,1,RESULT,Q,I
~CFGET,VALUE(4,2),ELEMENT,1,RESULT,PO,I
~CFGET,VALUE(5,2),ELEMENT,1,RESULT,PE,I
~CFGET,VALUE(6,2),ELEMENT,1,RESULT,PN,I
~CFGET,VALUE(7,2),ELEMENT,1,RESULT,CRT_TOT,I

! Warning and error tolerances
TOLER(1,1)= 0.005*VALUE(1,1) $ TOLER(1,2)= 0.005*VALUE(1,1)
TOLER(2,1)= 0.005*VALUE(2,1) $ TOLER(2,2)= 0.005*VALUE(2,1) 
TOLER(3,1)= 0.005*VALUE(3,1) $ TOLER(3,2)= 0.005*VALUE(3,1) 
TOLER(4,1)= 0.005*VALUE(4,1) $ TOLER(4,2)= 0.005*VALUE(4,1) 
TOLER(5,1)= 0.005*VALUE(5,1) $ TOLER(5,2)= 0.005*VALUE(5,1) 
TOLER(6,1)= 0.005*VALUE(6,1) $ TOLER(5,2)= 0.005*VALUE(6,1) 
TOLER(7,1)= 0.005*VALUE(7,1) $ TOLER(5,2)= 0.005*VALUE(7,1) 
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC




