!*************************************************************************************!
! TITLE: CFVR8661 - 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 continuously braced. 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-1B  W-SHAPE FLEXURAL MEMBER DESIGN IN MAJOR AXIS BENDING, CONTINUOUSLY BRACED 
!
! ELEMENT TYPE: BEAM188
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: AISC15
!
!*************************************************************************************!
 FINISH
 ~CFCLEAR,,1
 NomFile='CFVR8661'
 /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: 
  ~MEMBPRO,1,AISC15,ALL,35,1.00,1.00,1.00,1.000,0,  

! 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 = 8
  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) = 'CLS_BEND'
  LABEL(5,1) = 'CRT_LRFD'
  LABEL(6,1) = 'CRT_ASD'
  LABEL(7,1) = 'CRT_YLDL'
  LABEL(8,1) = 'CRT_YLDA'  

! 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)=1.00           ! COMPACT BEAM
  VALUE(5,1)=0.70			   ! LRFD CRITERION   
  VALUE(6,1)=1.05   ! ASD CRITERION   
  VALUE(7,1)=0.70   ! Yielding CRITERION LRFD
  VALUE(8,1)=1.05    ! Yielding 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,CLS_BEND,I
 ~CFGET,VALUE(5,2),ELEMENT,1,RESULT,CRT_TOT,I
 ~CFGET,VALUE(7,2),ELEMENT,1,RESULT,CRT_YLD,I
 
~CFSET,2  ! ASD 
 ~CFGET,VALUE(6,2),ELEMENT,1,RESULT,CRT_TOT,I
 ~CFGET,VALUE(8,2),ELEMENT,1,RESULT,CRT_YLD,I

! Warning and error tolerances
*DO,JJ,1,8
 TOLER(JJ,1)= 0.04*VALUE(JJ,1) $ TOLER(JJ,2)= 0.04*VALUE(JJ,1)
*ENDDO
  
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC 