!**************************************************************************************************************!
! TITLE: CFVR2308 - Steel checking according to LRFD
! SUBTITLE: W-Shape beam subjected to combined torsion, flexure, shear and axial compression force
! SUBTITLE: according to LRFD 2<sup>nd</sup> Edition
!
! DESCRIPTION: A steel pinned-pinned beam with an unbraced length of 30 feet with W 14x82 section is subjected 
! DESCRIPTION: to uniform dead load of 0.45 kip/ft and a uniform live load of 0.69 kip/ft and both 0.20 kip/ft 
! DESCRIPTION: for the other perpendicular plane. These loads have 0.3 ft of eccentricity to take into account
! DESCRIPTION: torsional forces.
! DESCRIPTION:
! DESCRIPTION: Determine the section classification, required normal and shear stress and total criterion 
! DESCRIPTION: according to LRFD.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM188
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Steel
! KEYWORD5: LRFD 2
!
!**************************************************************************************************************!
   FINISH
   ~CFCLEAR,,1
   NomFile='CFVR2308'
   /TITLE, %NomFile%,LRFD: Combined torsion flex+shear+axial Checking

!--------------------------------------------------------------------------------------
! Model definition
!--------------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
   ~CODESEL,LRFD	
   ~UNITS,,LENG,ft
   ~UNITS,,TIME,S
   ~UNITS,,FORC,KIPS
   ~UNITS,,PRES,,0 ,ksi

/PREP7
! Parameters
  LBEAM = 30   ! Length of the beam (ft)
  C_b = 1.14   ! Bending coefficient
  Lb  = 30     ! Lateral support length
  NELEM = 10   ! Number of elements

! LoadS
  Pu  = 1.2*29.0 + 1.6*87.0  ! tension load (kips)
  Wuy = 1.2*0.45 + 1.6*0.69  ! Nominal loads (kip/ft)
  Wuz = 1.2*0.20 + 1.6*0.20  ! Nominal loads (kip/ft)

 ! Material
  ~CFMP,1,LIB,STEEL,ASTM,A572Gr50
! Hot rolled section
  ~SSECLIB,1,1,51,188   !W 14x82

! Element type
  ET,1,Beam188
  
! Member properties
  ~MEMBPRO,1,LRFD,ALL,LBEAM,1.0,1.0,1.0,C_b,Lb  
  
! Beam Properties
  ~BMSHPRO,1,BEAM,1,1,,,188,1,0,,Beam 1
  ~BMSHOFF,1,2,0,0.3,0,0.3

! Model
  N,1,
  N,NELEM+1,LBEAM,0
  NGEN,NELEM,1,1,,,LBEAM/NELEM
  E,1,2
  EGEN,NELEM,1,1,,

/SOLU
  D,1,UX
  D,1,UY
  D,1,UZ
  D,1,ROTX
  D,NELEM+1,UY
  D,NELEM+1,UZ

! Apply tension Load
  F,NELEM+1,Fx,-Pu

! Pressure
  SFBEAM,ALL,2,PRES,Wuy
  SFBEAM,ALL,1,PRES,Wuz
  SOLVE

/POST1
  ~CFSET,,1
  ~CHKSTL,BDAXSHTR

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp =  6
  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) = 'FUN     '
  LABEL(2,1) = 'FUV     '
  LABEL(3,1) = 'FCRFBK  '
  LABEL(4,1) = 'FCRFTBK '
  LABEL(5,1) = 'CRT_TOT '
  LABEL(6,1) = 'CLS_BEND'

! Correct values
  VALUE(1,1)=  5279
  VALUE(2,1)=  2374
  VALUE(3,1)=  5558
  VALUE(4,1)=  1715
  VALUE(5,1)=  1.63
  VALUE(6,1)=  1

! Comparison
 ~PLLSSTL,FUN
 *GET,VALUE(1,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,FUV
 *GET,VALUE(2,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,FCRFBK
 *GET,VALUE(3,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,FCRFTBK
 *GET,VALUE(4,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,CRT_TOT
 *GET,VALUE(5,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,CLS_BEND
 *GET,VALUE(6,2),ELEM,1,ETAB,CLASS_I

 
! Warning and error tolerances
  TOLER( 1, 1)= 1E+01 $ TOLER( 1, 2)= 1E+01		
  TOLER( 2, 1)= 1E+01 $ TOLER( 2, 2)= 1E+01
  TOLER( 3, 1)= 1E+01 $ TOLER( 3, 2)= 1E+01
  TOLER( 4, 1)= 1E+01 $ TOLER( 4, 2)= 1E+01
  TOLER( 5, 1)= 1E-01 $ TOLER( 5, 2)= 1E-01
  TOLER( 6, 1)= 1E-01 $ TOLER( 6, 2)= 1E-01		
  

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
