!**************************************************************************************************************!
! TITLE: CFVR2306 - Steel checking according to LRFD
! SUBTITLE: Bending and shear checking according to LRFD 2<sup>nd</sup> Edition
!
! DESCRIPTION: A steel pinned-pěnned beam of 30 feet with W24x76 section is subjected to a vertical force of
! DESCRIPTION: 500 kips at the middle of beam.
! DESCRIPTION:
! DESCRIPTION: Determine the required flexural strength, plastic bending moment, total criterion and nominal
! DESCRIPTION: shear strength according to LRFD.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Steel
! KEYWORD5: LRFD 2
!
!**************************************************************************************************************!
   FINISH
   ~CFCLEAR,,1
   NomFile='CFVR2306'
   /TITLE, %NomFile%, LRFD: Bending and Shear Checking

!--------------------------------------------------------------------------------------
! Model definition
!--------------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
   ~CODESEL,LRFD,EC2,,,EC8-94
   ~UNITS,,MONE,EURO
   ~UNITS,,LENG,FT
   ~UNITS,,TIME,S
   ~UNITS,,FORC,KIPS
   ~UNITS,,PRES,,0,uuP
   ~UNITS,,MASS,,0,uuM

/PREP7
! Preprocessor
! --------------------------------------------------
! Materials
  ~CFMP,1,LIB,STEEL,ASTM,A572Gr50
! Element Types
  ET,1,Beam3
! Cross Section
  ~SSECLIB,1,1,51,109   ! W 24x76
! Beam & Shell Property
  ~BMSHPRO,1,BEAM,1,1,,,3,1,0,,Beam 1
! Member property
  ~MEMBPRO,1,LRFD,ALL,30.0,1.0,1.0,1.0,1.670,15.0,
  ~MEMBPRO,1,NLMOD,ALL,0
  ~MEMBPRO,1,NAME,Member Property 1
! Nodes
  N,1
  N,31,30,
  FILL,1,31,29,,,1,1,1,
! Elements
  E,1,2
  EGEN,30,1,1,1

! Solution
! --------------------------------------------------
/SOLU
! Constraints
  D,1,,,,,,UX,UY
  D,31,,,,,,UX,UY
  D,16,,,,,,UX
! Apply Load
  F,16,FY,-500

! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1                  ! First load step
! Axial+bending checking
  ~CHKSTL,BENDING
  ~CHKSTL,SHEAR

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 11
!  Paso  = 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) = 'MP      '
  LABEL(2,1) = 'MP      '
  LABEL(3,1) = 'MU     '
  LABEL(4,1) = 'CRT_YLD '
  LABEL(5,1) = 'CRT_TOT '
  LABEL(6,1) = 'CRT_WLB '
  LABEL(7,1) = 'CLS_COMP'
  LABEL(8,1) = 'AW      '
  LABEL(9,1) = 'VN      '
  LABEL(10,1) = 'CRT_TOT '
  LABEL(11,1) = 'CLS_COMP'

! Correct values
  VALUE(1,1)=  0.83333339D+03
  VALUE(2,1)=   0.83333339D+03
  VALUE(3,1)=   0.25000000D+04
  VALUE(4,1)=   0.33333331D+01
  VALUE(5,1)=   0.33333331D+01
  VALUE(6,1)=   0.33333331D+01
  VALUE(7,1)=   0.30000000D+01
  VALUE(8,1)=   0.73088889D-01
  VALUE(9,1)=   0.31574400D+03
  VALUE(10,1)=  0.87975631D+00
  VALUE(11,1)=  0.30000000D+01

! Comparison
  ~CFSET,1
  ~CFGET,value( 1,2),ELEMENT,10,RESULT,MP      ,J
  ~CFGET,value( 2,2),ELEMENT,10,RESULT,MP      ,J
  ~CFGET,value( 3,2),ELEMENT,10,RESULT,MU      ,J
  ~CFGET,value( 4,2),ELEMENT,10,RESULT,CRT_YLD ,J
  ~CFGET,value( 5,2),ELEMENT,10,RESULT,CRT_TOT ,J
  ~CFGET,value( 6,2),ELEMENT,10,RESULT,CRT_WLB ,J
  ~CFGET,value( 7,2),ELEMENT,10,RESULT,CLS_COMP,J
  ~CFSET,2
  ~CFGET,value( 8,2),ELEMENT,10,RESULT,AW      ,J
  ~CFGET,value( 9,2),ELEMENT,10,RESULT,VN      ,J
  ~CFGET,value( 10,2),ELEMENT,10,RESULT,CRT_TOT ,J
  ~CFGET,value( 11,2),ELEMENT,10,RESULT,CLS_COMP,J
  ~CFSET,2

! Warning and error tolerances
  TOLER( 1, 1)= 1E-03 $ TOLER( 1, 2)= 1E-03
  TOLER( 2, 1)= 1E-03 $ TOLER( 2, 2)= 1E-03
  TOLER( 3, 1)= 1E-03 $ TOLER( 3, 2)= 1E-03
  TOLER( 4, 1)= 1E-03 $ TOLER( 4, 2)= 1E-03
  TOLER( 5, 1)= 1E-03 $ TOLER( 5, 2)= 1E-03
  TOLER( 6, 1)= 1E-03 $ TOLER( 6, 2)= 1E-03
  TOLER( 7, 1)= 1E-03 $ TOLER( 7, 2)= 1E-03
  TOLER( 8, 1)= 1E-03 $ TOLER( 8, 2)= 1E-03
  TOLER( 9, 1)= 1E-03 $ TOLER( 9, 2)= 1E-03
  TOLER(10, 1)= 1E-03 $ TOLER(10, 2)= 1E-03
  TOLER(11, 1)= 1E-03 $ TOLER(11, 2)= 1E-03

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
