!*****************************************************************************************************!
! TITLE: CFVR7909 - CTE DB SE-A test: Compression Buckling
! SUBTITLE: Compression Buckling checking according to CTE DB SE-A
!
! DESCRIPTION: A fixed steel beam subjected to a Fy load of -250 KN.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 1 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a L 100 x 100 x 12.
! DESCRIPTION:
! DESCRIPTION: The beam is made of Fe 460 steel which has a fy of 460000 kN/m<sup>2</sup>.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the cross section classification and compression
! DESCRIPTION: buckling criterion according to CTE DB SE-A.
!
! ELEMENT TYPE: BEAM4
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: CTE
!
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR7909'
  /TITLE, %NomFile%, CTE DB SE-A test: Compression Buckling

! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,CTESEA,EC2,,,EC8-94
/PREP7
! Preprocessor
! --------------------------------------------------
! Materials
 ~CFMP,1,LIB,STEEL,UNE,S 460

! Element Types
  ET,1,BEAM4 ! Type 1: 3D Beam

! Cross Sections
  ~SSECLIB,1,1,23,6   ! L 100 x 100 x 12

! Member properties
 ~MEMBPRO,1,CTESEA,ALL,10,1.0,1.0,1,1,1,1,0.8,1,1.0,1.0,0

! Beam properties
  ~BMSHPRO,1,BEAM,1,,,,4,1,0,,

! Nodes
  N, 1
  N,25,,10
  FILL, 1,25
! Elements
  E,1,2
  EGEN,24,1,1
  EPLOT
/SOLU
! Solution
! --------------------------------------------------
! Displacements
  D, 1,UX
  D, 1,UY
  D, 1,UZ
  D,25,UX
  D,25,UZ
  D,ALL,ROTY
! Apply Load
  F,25,FY,-250
! Solve
  SOLVE
/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1       ! Read the first load step

! Eurocode No.3 Check Buckling Compression
  ~CHKSTL,BUCK_CMP,-Z,PARTIAL

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 8
  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) = 'CLASS'
  LABEL( 2,1) = 'ALP_Z'
  LABEL( 3,1) = 'AREA'
  LABEL( 4,1) = 'LAM_Z'
  LABEL( 5,1) = 'PHI_Z'
  LABEL( 6,1) = 'CHI_Z'
  LABEL( 7,1) = 'NBRD'
  LABEL( 8,1) = 'CRT_TOT'

  ! Correct values 2 UPN section
!--------------------------------------------------------------------------------------
 ! VALUE( 1,1)=   1
 ! VALUE( 2,1)=   0.34
 ! VALUE( 3,1)=   2.271E-3
 ! VALUE( 4,1)=   4.938
 ! VALUE( 5,1)=   13.47
 ! VALUE( 6,1)=   0.03844
 ! VALUE( 7,1)=   38.25
 ! VALUE( 8,1)=   6.53

 ! Correct values I section
!--------------------------------------------------------------------------------------
 ! VALUE( 1,1)=   3
 ! VALUE( 2,1)=   0.34
 ! VALUE( 3,1)=   2.271e-3
 ! VALUE( 4,1)=   4.9337
 ! VALUE( 5,1)=   13.47
 ! VALUE( 6,1)=   0.03844
 ! VALUE( 7,1)=   38.25
 ! VALUE( 8,1)=   6.53

! Correct values L section
!--------------------------------------------------------------------------------------
  VALUE( 1,1)=   3
  VALUE( 2,1)=   0.34
  VALUE( 3,1)=   2.271e-3
  VALUE( 4,1)=   4.9337
  VALUE( 5,1)=   13.47
  VALUE( 6,1)=   0.03844
  VALUE( 7,1)=   38.25
  VALUE( 8,1)=   6.53

! Obtained values
!--------------------------------------------------------------------------------------
 ~PLLSSTL,CLASS
 *GET,VALUE( 1,2),ELEM,1,ETAB,CLASS_J
 ~PLLSSTL,ALP_Z
  *GET,VALUE( 2,2),ELEM,1,ETAB,CFETAB_J
 ~PLLSSTL,AREA
  *GET,VALUE( 3,2),ELEM,1,ETAB,CFETAB_J
 ~PLLSSTL,LAM_Z
  *GET,VALUE( 4,2),ELEM,1,ETAB,CFETAB_J
 ~PLLSSTL,PHI_Z
  *GET,VALUE( 5,2),ELEM,1,ETAB,CFETAB_J
 ~PLLSSTL,CHI_Z
  *GET,VALUE( 6,2),ELEM,1,ETAB,CFETAB_J
 ~PLLSSTL,NBRD
  *GET,VALUE( 7,2),ELEM,1,ETAB,CFETAB_J
 ~PLLSSTL,CRT_TOT
  *GET,VALUE( 8,2),ELEM,1,ETAB,CFETAB_J

! Warning and error tolerances
  TOLER( 1,1)= 1    $ TOLER( 1,2)= 1
  TOLER( 2,1)= 1E-2 $ TOLER( 2,2)= 1E-1
  TOLER( 3,1)= 1E-4 $ TOLER( 3,2)= 1E-3
  TOLER( 4,1)=  1E-2 $ TOLER( 4,2)= 1E-2
  TOLER( 5,1)= 1E-2 $ TOLER( 5,2)= 1E-1
  TOLER( 6,1)= 1E-3 $ TOLER( 6,2)= 1E-2
  TOLER( 7,1)= 1    $ TOLER( 7,2)= 1E1
  TOLER( 8,1)= 1E-2 $ TOLER( 8,2)= 1E-1

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
