!*****************************************************************************************************!
! TITLE: CFVR4504 - GB50017: Axial + Bending Checking
! SUBTITLE:
!
! DESCRIPTION: A pinned-pinned steel beam is subjected to:
! DESCRIPTION:
! DESCRIPTION:                - compression load of 800 kips applied on the beam ends
! DESCRIPTION:                - bending moment Mz of 400 kips·ft applied on one beam end
! DESCRIPTION:                - bending moment Mz of 200 kips·ft applied on the other end
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 240 in.
! DESCRIPTION:
! DESCRIPTION: The cross section is a double T W 27x84.
! DESCRIPTION:
! DESCRIPTION: The beam is made of GB 50017  Q390 steel.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain axial + bending
! DESCRIPTION: checking criterion according to GB50017.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: GB 50017
!
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR4504'
  /TITLE, %NomFile%, GB50017: Axial + Bending Checking

! ---------------------------------------------------------------------------------
! Model definition
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~CODESEL,GB50017,EC2,,,EC8-94
  ~UNITS,,LENG,IN
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KIPS
  ~UNITS,,PRES,,0,uuP
  ~UNITS,,MASS,,0,uuM

  /PREP7
! Preprocessor
! --------------------------------------------------
! Materials
  ~CFMP,1,LIB,STEEL,GB50017,Q390   ! GB50017  Q390
! Element Types
  ET,1,Beam3
! Cross Section
  ~SSECLIB,1,1,51,91   ! W 27x84   I Double T
! Beam & Shell Property
  ~BMSHPRO,1,BEAM,1,1,,,3,1,0,,Beam 1
! Member property
  ~MEMBPRO,1,GB50017,ALL,0.0,0.0,0,0,240.0,1.0,1.0

! Nodes
  N,1
  N,20,,240
  FILL,1,20,18, , ,1,1,1,
! Elements
  E,1,2
  EGEN,19,1,1,1

! Solution
! --------------------------------------------------
/SOLU
! Constrains
  D,1, , , , , ,UX,UY, , , ,
  D,20, , , , , ,UX, , , , ,
! Apply Load
  F,20,FY,-800
  F,1,FY,800
  F,20,MZ,-420*12
  F,1,MZ,200*12
! Solve
  SOLVE

/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1                  ! First load case
! Axial+bending checking
  ~CHKSTL,BEND_AXL

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
  NComp    =  4
  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) = 'GAMY'
  LABEL(2,1) = 'GAMZ'
  LABEL(3,1) = 'SEQ'
  LABEL(4,1) = 'CRT_TOT'

! Correct values
  VALUE(1,1 ) = 1.2
  VALUE(2,1 ) = 1.05
  VALUE(3,1 ) = -4.8549713968E+01
  VALUE(4,1 ) = 9.9921938646E-01

! Obtained values
  ~PLLSSTL,GAMY
  *GET,VALUE(1,2),ELEM,10,ETAB,CFETAB_I
  ~PLLSSTL,GAMZ
  *GET,VALUE(2,2),ELEM,10,ETAB,CFETAB_I
  ~PLLSSTL,SEQ
  *GET,VALUE(3,2),ELEM,10,ETAB,CFETAB_I
  ~PLLSSTL,CRT_TOT
  *GET,VALUE(4,2),ELEM,10,ETAB,CFETAB_I

! Warning and error tolerances
  TOLER(1,1 ) = 1E-4 $ TOLER(1,2 ) = 1E-4
  TOLER(2,1 ) = 1E-5 $ TOLER(2,2 ) = 1E-5
  TOLER(3,1 ) = 1E-2 $ TOLER(3,2 ) = 1E-2
  TOLER(4,1 ) = 1E-5 $ TOLER(4,2 ) = 1E-5

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
