!*************************************************************************************!
! TITLE: CFVR8683 - AISC15: Chapter H Design of Members for Combined Forces and Torsion.
! SUBTITLE: Compression check according to AISC/ASD15 -  ASTM A992 W-shape.
!
! DESCRIPTION: A W-shape column is subjected to combined tension and flexure.
! DESCRIPTION:
! DESCRIPTION: The unbraced length is 30 ft and the ends are pinned.
! DESCRIPTION: Assume the connections are made with no holes. 
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the axial and flexural strengths criteria
! DESCRIPTION: according to AISC15 (LRFD/ASD).
! DESCRIPTION: REFERENCE: Volume 1: Design Examples Version 15.1  
! DESCRIPTION: EXAMPLE H.3  W-SHAPE SUBJECT TO COMBINED AXIAL TENSION AND FLEXURE 
!
! ELEMENT TYPE: BEAM188
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: AISC15
!
!*************************************************************************************!
 FINISH
 ~CFCLEAR,,1
 NomFile='CFVR8683'
 /TITLE, %NomFile%, AISC15: Compression Check 
!--------------------------------------------------------------------------------------
! Model definition
!--------------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,IN
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KIPS! in, sec, Kips
  ~CODESEL,AISC15

! Parameters
  P  = 174		! Axial force kips
  M1  = 192*12  ! kip-in
  M2  = 67.6*12	! kip-in 
  Fyy = 50      ! ksi
  Fuu = 65      ! ksi

/PREP7
! Preprocessor
! --------------------------------------------------
! Materials
 ~CFMP,1,LIB,STEEL,ASTM,A36 
!  ASTM A992 
 ~CFMP,1,NAME,,,ASTM A992
 ~CFMP,1,USER
 ~CFMP,1,AISC15  ,Fy,,Fyy ,1,0,0
 ~CFMP,1,AISC15  ,Fu,,Fuu ,1,0,0
 
! Element Types
  ET,1,188  ! Type 1: 3D Beam
  
! Cross Section
  ~SSECLIB,1,1,51,188   !W 14x82  

! member property: effective length = 30 ft  Cb=1.41
  ~MEMBPRO,1,AISC15,ALL,30.00*12,1.00,1.00,1.00,1.41,30.00*12,  

! Beam & Shell Property
  ~BMSHPRO,1,BEAM,1,1,,,188,1,0,,Beam 1
  
! Nodes
  N,1
  N,2,,2
  
! Elements
  SECNUM,1
  REAL,1
  E,1,2  

  /SOLU
! Solution
! --------------------------------------------------
! Constrains
  D,1,ALL
  
! Apply Load
  F,2,FY,P
  F,ALL,MZ,M1
  F,ALL,MX,M2
! Solve
  SOLVE
  
  /POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1                ! First load case
  
! Checking
 ~CHKSTL,BEND_AXL,Z,LRFD   
 ~CHKSTL,BEND_AXL,Z,ASD 
 
 !--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 10
  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) = 'FIPNG'
  LABEL(2 ,1) = 'FIPNE'  
  LABEL(3 ,1) = 'CRT_AXL'
  LABEL(4 ,1) = 'MN_YLD_Z'
  LABEL(5 ,1) = 'MN_LTB_Z'
  LABEL(6 ,1) = 'CRT_BDZ '
  LABEL(7 ,1) = 'MN_YLD_Y'
  LABEL(8 ,1) = 'CRT_BDY'  
  LABEL(9 ,1) = 'CRT_LRFD'
  LABEL(10,1) = 'CRT_ASD'

! Correct values
  VALUE(1 ,1)=1085       ! available tensile yielding strength 
  VALUE(2 ,1)=1175       ! available tensile rupture strength 
  VALUE(3 ,1)=0.161      ! 174/(1200*0.9) CRT_AXL
  VALUE(4 ,1)=6950       !  nominal flexural strength due to yielding MN_YLD_Z
  VALUE(5 ,1)=6560       !  nominal flexural strength due to lateral-torsional buckling MN_LTB_Z
  VALUE(6 ,1)=0.39       ! 192*12/(6560*0.90) CRT_BDZ
  VALUE(7 ,1)=2240       ! nominal flexural strength due to yielding MN_YLD_Y
  VALUE(8 ,1)=0.40       ! 67.6*12/(2240*0.90) CRT_BDY
  VALUE(9 ,1)=0.873      ! LRFD CRITERION    H1-1a/H1-1b
  VALUE(10,1)=1.30       ! ASD CRITERION    H1-1a/H1-1b
  
! Comparison

~CFSET,1   ! LRFD 
 ~CFGET,VALUE(1,2),ELEMENT,1,RESULT,FIPNG,I 
 ~CFGET,VALUE(2,2),ELEMENT,1,RESULT,FIPNE,I  
 ~CFGET,VALUE(3,2),ELEMENT,1,RESULT,CRT_AXL,I 
 ~CFGET,VALUE(4,2),ELEMENT,1,RESULT,MN_YLD_Z,I 
 ~CFGET,VALUE(5,2),ELEMENT,1,RESULT,MN_LTB_Z,I 
 ~CFGET,VALUE(6,2),ELEMENT,1,RESULT,CRT_BDZ,I 
 ~CFGET,VALUE(7,2),ELEMENT,1,RESULT,MN_YLD_Y,I
 ~CFGET,VALUE(8,2),ELEMENT,1,RESULT,CRT_BDY,I
 ~CFGET,VALUE(9,2),ELEMENT,1,RESULT,CRT_TOT,I 
 
~CFSET,2  ! ASD 
 ~CFGET,VALUE(10,2),ELEMENT,1,RESULT,CRT_TOT,I

! Warning and error tolerances
*DO,JJ,1,10
 TOLER(JJ,1)= 0.04*VALUE(JJ,1) $ TOLER(JJ,2)= 0.04*VALUE(JJ,1)
*ENDDO

  
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC

 