!******************************************************************************!
! TITLE: CFVR7715 - AISC-ASD13: Flexure and Axial Compression Checking W Shape
! SUBTITLE: Combined flexure and axial compression checking according 
! SUBTITLE: to AISC-ASD13 W-shape cross section.
!
! DESCRIPTION: A cantilever steel beam is subjected to a axial compressive   
! DESCRIPTION: force of 20 kips, Mux of 720 kip-in., and Muy of 96 kip-in.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 168 in.
! DESCRIPTION: 
! DESCRIPTION: Section material properties:
! DESCRIPTION:   ASTM A992,  Fy = 50 ksi , Fu = 65 ksi
! DESCRIPTION:
! DESCRIPTION: Geometric properties:
! DESCRIPTION:   W 10x33
! DESCRIPTION 
! DESCRIPTION: The aim of the example is to obtain the flexure plus 
! DESCRIPTION: compression criterion according to AISC-ASD13.
! DESCRIPTION:
! DESCRIPTION: Reference:
! DESCRIPTION:   AISC, Design Examples, Version 13.0
! DESCRIPTION:   Example H.4, W Shape Subjected to Combined Axial Compression
! DESCRIPTION:   and Flexure
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM4
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: ASD 13
!
!*******************************************************************************

FINISH
~CFCLEAR,,1
NomFile='CFVR7715'
/TITLE, %NomFile%, AISC-ASD13: Flexure and Axial Compression Checking, W Shape

!-------------------------------------------------------------------------------
! Model definition
!-------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
~UNITS,,LENG,IN
~UNITS,,TIME,S
~UNITS,,FORC,KIPS
~UNITS,,PRES,,0 ,ksi
~CODESEL,ASD13
   

/PREP7

! Materials
~CFMP,1,LIB,STEEL,ASTM,A572Gr50  ! Properties similar to ASTM A992

! Element Types
ET,1,BEAM4  ! Type 1: 3D Beam

! Cross Section
~SSECLIB,1,1,51,239   !W 10x33 

! Beam & Shell Property
~BMSHPRO,1,BEAM,1,1,,, 4,1,0,,Beam 1

!Member Properties
~MEMBPRO,1,ASD13,ALL,168.0,1.000,1.000,1.140,1.000  


! Nodes
N,1,0.,0.
N,2,168.,0.

! Elements
E,1,2
  
/SOLU

D,1,ALL

!Loads
F,2,FX,-20 
F,2,MY,96
F,2,MZ,-720

SOLVE

/POST1
~CFSET,,1,1 
~CHKSTL,BEND_AXL

!-------------------------------------------------------------------------------------
! DATA CHECK
!-------------------------------------------------------------------------------------
! Data comparison number
NComp = 6
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) = 'PN'
LABEL(2,1) = 'CRT_AXL'
LABEL(3,1) = 'MPZ'
LABEL(4,1) = 'CRT_LTBZ'
LABEL(5,1) = 'MPY'
LABEL(6,1) = 'CRT_BDY'

! Correct values
VALUE(1,1) = 280.56
VALUE(2,1) = 20/(280.56/1.67)
VALUE(3,1) = 1940
VALUE(4,1) = 720/(1820/1.67)
VALUE(5,1) = 700
VALUE(6,1) = 96/(700/1.67)

! Comparison
~PLLSSTL,PN
*GET,VALUE(1,2),ELEM,1,ETAB,CFETAB_J
~PLLSSTL,CRT_AXL
*GET,VALUE(2,2),ELEM,1,ETAB,CFETAB_J
~PLLSSTL,MPZ
*GET,VALUE(3,2),ELEM,1,ETAB,CFETAB_J
~PLLSSTL,CRT_LTBZ
*GET,VALUE(4,2),ELEM,1,ETAB,CFETAB_J
~PLLSSTL,MPY
*GET,VALUE(5,2),ELEM,1,ETAB,CFETAB_J
~PLLSSTL,CRT_BDY
*GET,VALUE(6,2),ELEM,1,ETAB,CFETAB_J



! Warning and error tolerances
TOLER(1,1)= 0.01*VALUE(1,1) $ TOLER(1,2)= 0.01*VALUE(1,1)
TOLER(2,1)= 0.01*VALUE(2,1) $ TOLER(2,2)= 0.01*VALUE(2,1) 
TOLER(3,1)= 0.01*VALUE(3,1) $ TOLER(3,2)= 0.01*VALUE(3,1) 
TOLER(4,1)= 0.01*VALUE(4,1) $ TOLER(4,2)= 0.01*VALUE(4,1)
TOLER(5,1)= 0.01*VALUE(5,1) $ TOLER(5,2)= 0.01*VALUE(5,1)
TOLER(6,1)= 0.01*VALUE(6,1) $ TOLER(6,2)= 0.01*VALUE(6,1)

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC