!*************************************************************************************!
! TITLE: CFVR7318 - Steel checking according to ASME BPVC III Subsection NF
! SUBTITLE: Bending checking of a cantilever steel beam
!
! DESCRIPTION: A steel cantilever beam with built-up I shape section is subjected to
! DESCRIPTION: a vertical force in both directions at free end.
! DESCRIPTION: Ct reduction coefficient is taken as 0.85
! DESCRIPTION:
! DESCRIPTION: Determine the total criterion according to ASME BPVC III Subsection NF.
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM188
! MODULES:
! UNITS: SI
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Steel
! KEYWORD5: ASME BPVC III NF
!
!*************************************************************************************!

FINISH
~CFCLEAR,,1

   NomFile='CFVR7318'
 /TITLE, %NomFile%, Bending checking ASME BPVC III subsection NF
! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
~CFACTIV,NUCL,Y
~CODESEL,ASME_NF,EC2-91,EC2-91,,EC8-94

/PREP7

ET,1,Beam188,,,2

~CFMP,1,LIB,STEEL,ASTM,A441
~CFMP,1,USER
~CFMP,1,STEEL,STYPE,,1  ! Austenitic

~SSECDMS,1,I,1,0.40,0.015,0.30,0.015
~MEMBPRO,1,ASME_NF,ALL, 5.0, 2.0, 2.0, 1.0, 1.0, 1.0, 1.0, 1, 1, 1
~BMSHPRO,1,BEAM,1,1,,,188,1,1,,Beam 1

N,1,
N,2,5
E,1,2

/SHRINK,0
/ESHAPE,1.0

EPLOT

D,1,ALL

F,2,FY,-40000
F,2,FZ,-10000

/SOLU
SOLVE

/POST1
~CFSET,0,1,LAST

~CHKSTL,BENDING,Z

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 4
  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) = 'QS'
  LABEL(2,1) = 'QA'
  LABEL(3,1) = 'FB'
  LABEL(4,1) = 'CRT_TOT'

! Correct values
  VALUE(1,1)=1.00
  VALUE(2,1)=1.00
  VALUE(3,1)=223590000
  VALUE(4,1)=0.45

! Comparison
 ~PLLSSTL,QS
 *GET,VALUE(1,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,QA
 *GET,VALUE(2,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,FB
 *GET,VALUE(3,2),ELEM,1,ETAB,CFETAB_I
 ~PLLSSTL,CRT_TOT
 *GET,VALUE(4,2),ELEM,1,ETAB,CFETAB_I

! 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)= 1E3     $ TOLER( 3, 2)= 1E3  	! Rounding error accepted			
  TOLER( 4, 1)= 1E-03   $ TOLER( 4, 2)= 1E-03   ! Rounding error accepted

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
