!*************************************************************************************!
! TITLE: CFVR8662 - AISC15: Chapter F Design of Members for Flexure .
! SUBTITLE: Bending check according to AISC15 - W-SHAPE FLEXURAL MEMBER DESIGN 
!
! DESCRIPTION: A W-shape beam is subjected to a bending moment.
! DESCRIPTION:
! DESCRIPTION: The beam is simply supported and braced at the ends and third points. The beam is ASTM A992 material.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the Available Flexural Strength
! DESCRIPTION: according to AISC15 (LRFD/ASD).
! DESCRIPTION: REFERENCE: Volume 1: Design Examples Version 15.1  
! DESCRIPTION: EXAMPLE  F.1-2B  W-SHAPE FLEXURAL MEMBER DESIGN IN MAJOR AXIS BENDING, BRACED AT THIRD POINTS 
!
! ELEMENT TYPE: BEAM188
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: AISC15
!
!*************************************************************************************!
 FINISH
 ~CFCLEAR,,1
 NomFile='CFVR8662'
 /TITLE, %NomFile%, AISC15: Bending Check 
!--------------------------------------------------------------------------------------
! Model definition
!--------------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,FT 
  ~UNITS,,FORC,KIPS   ! ft, Kips
  ~CODESEL,AISC15

! Parameters
  M  = 266		         ! Moment kip-ft
  Fyy = 50*12**2         ! ksf
  Fuu = 65*12**2         ! ksf

/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,148   !W 18x50  

! member property: Cb=1.01
  ~MEMBPRO,1,AISC15,ALL,35,1.00,1.00,1.00,1.01,35/3,  

! 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,ALL,MZ,M
  
! Solve
  SOLVE
  
  /POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1                ! First load case
  
! Checking
  ~CHKSTL,BENDING,Z,LRFD  
  ~CHKSTL,BENDING,Z,ASD  
 
 !--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 11
  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) = 'MU'
  LABEL(2,1) = 'MP'
  LABEL(3,1) = 'MN_YLD'
  LABEL(4,1) = 'MN_LTB'  
  LABEL(5,1) = 'CLS_BEND'
  LABEL(6,1) = 'CRT_LRFD'
  LABEL(7,1) = 'CRT_ASD'
  LABEL(8,1) = 'CRT_YLDL'  
  LABEL(9,1) = 'CRT_LTBL'  
  LABEL(10,1) = 'CRT_YLDA'  
  LABEL(11,1) = 'CRT_LTBA'    

! Correct values
  VALUE(1,1)= 266              ! required flexural strength
  VALUE(2,1)= 421            ! Plastic bending moment  
  VALUE(3,1)= 421            ! Nominal Flexural Strength for yielding limit state
  VALUE(4,1)= 339            ! Nominal Flexural Strength for lateral-torsional buckling limit state
  VALUE(5,1)= 1.00           ! COMPACT BEAM
  VALUE(6,1)= 0.87   ! LRFD CRITERION   
  VALUE(7,1)= 1.3  ! ASD CRITERION  
  VALUE(8 ,1)= 0.70  ! Yielding CRITERION LRFD   
  VALUE(9 ,1)= 0.87   ! lateral-torsional buckling limit state CRITERION LRFD     
  VALUE(10,1)= 1.05   ! Yielding CRITERION ASD   
  VALUE(11,1)= 1.3  ! lateral-torsional buckling limit state CRITERION ASD    
  
! Comparison

~CFSET,1   ! LRFD 
 ~CFGET,VALUE(1,2),ELEMENT,1,RESULT,MU,I 
 ~CFGET,VALUE(2,2),ELEMENT,1,RESULT,MP,I 
 ~CFGET,VALUE(3,2),ELEMENT,1,RESULT,MN_YLD,I  
 ~CFGET,VALUE(4,2),ELEMENT,1,RESULT,MN_LTB,I   
 ~CFGET,VALUE(5,2),ELEMENT,1,RESULT,CLS_BEND,I
 ~CFGET,VALUE(6,2),ELEMENT,1,RESULT,CRT_TOT,I
 ~CFGET,VALUE(8,2),ELEMENT,1,RESULT,CRT_YLD,I
 ~CFGET,VALUE(9,2),ELEMENT,1,RESULT,CRT_LTB,I 
 
~CFSET,2  ! ASD 
 ~CFGET,VALUE(7,2),ELEMENT,1,RESULT,CRT_TOT,I
 ~CFGET,VALUE(10,2),ELEMENT,1,RESULT,CRT_YLD,I
 ~CFGET,VALUE(11,2),ELEMENT,1,RESULT,CRT_LTB,I  

! Warning and error tolerances
*DO,JJ,1,11
 TOLER(JJ,1)= 0.04*VALUE(JJ,1) $ TOLER(JJ,2)= 0.04*VALUE(JJ,1)
*ENDDO

  
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC


 