!*************************************************************************************!
! TITLE: CFVR2608 - BS 5950 (2001) Lateral torsional buckling
! SUBTITLE: Lateral torsional buckling checking according to British Standard 5950 2001.
!
! DESCRIPTION: A pinned-pinned Steel beam which is subjected to a surface load of 500 kN/m
! DESCRIPTION:
! DESCRIPTION: The beam is 1 m length.
! DESCRIPTION:
! DESCRIPTION: The cross section is a L section with the following dimensions:
! DESCRIPTION:
! DESCRIPTION: - h = 0.2 m
! DESCRIPTION:
! DESCRIPTION: - tw = 0.018 m
! DESCRIPTION:
! DESCRIPTION: - b = 0.15 m
! DESCRIPTION:
! DESCRIPTION: - tf = 0.018 m
! DESCRIPTION:
! DESCRIPTION: The beam is made of Gr43 steel.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to obtain the cross section classification and
! DESCRIPTION: lateral torsional buckling checking criterion according to BS 5950 2001.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: BS 5950-01
!
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR2608'
  /TITLE, %NomFile%, BS 5950 (2001) Lateral torsional buckling

!--------------------------------------------------------------------------------------
! Model definition and solve
!--------------------------------------------------------------------------------------
! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,BS595001,BS8110,,,EC8-94

/PREP7
! Preprocessor
! --------------------------------------------------
! Materials
  ~CFMP,1,LIB,STEEL,BS5950,Gr43
! Element type
  ET,1,BEAM3 ! Type 1: 3D Beam
! Cross Sections
  ~SSECDMS,1,L,1,0.2,1.8e-002,0.15,1.8e-002,0
! Member Properties
  L        = 1
  KLTXY    = 1.0
  KLTXZ    = 1.0
  KCXY     = 1.0
  KCXZ     = 1.0
  CteRob   = 0
  n        = 1
  m        = 1
  DL       = 0
  CFBUCKXY = 1
  CFBUCKXZ = 1
  CHCKAXIS = 0
  Dpa      = 0
  mx       = 1
  my       = 1
  mlt      = 1
  ~MEMBPRO,1,BS595085,ALL,L,KLTXY,KLTXZ,KCXY,KCXZ,CteRob,n,m,DL,CFBUCKXY,CFBUCKXZ,CHCKAXIS,dpa,mx,my,mlt
! Beam properties
  ~BMSHPRO,1,BEAM,1,1,,,3,1,0,,Beam 1

! Nodes
  N, 1
  N,25,1
  FILL, 1,25
! Elements
  E,1,2
  EGEN,24,1,1
  EPLOT
/SOLU
! Solution
! --------------------------------------------------
! Displacements
  D,1, , , , , ,UX,UY
  D,25, , , , , ,UX,UY
  ! Apply Load
  SFBEAM,all,1,PRES,500, , , , , ,
  ! Solve
  SOLVE
/POST1
! Postprocessor
! --------------------------------------------------
! Read results
  ~CFSET,,1,1       ! Load first load step
! British Standard Check for lateral buckling
  ~CHKSTL,BUCK_LAT,-Z,

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 3
  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) = 'LAMBDA'
  LABEL(2,1) = 'MB'
  LABEL(3,1) = 'CRT_TOT'

! Correct values
  VALUE(1,1)=31.0232
  VALUE(2,1)=46.5410
  VALUE(3,1)=1.1097

! Obtained values
  ~CFSET,1      ! Load first alternative
  ~PLLSSTL,LAMBDA
  *GET,VALUE(1,2),ELEM,8,ETAB,CFETAB_I
  ~PLLSSTL,MB
  *GET,VALUE(2,2),ELEM,8,ETAB,CFETAB_I
  ~PLLSSTL,CRT_TOT
  *GET,VALUE(3,2),ELEM,8,ETAB,CFETAB_I

! Warning and error tolerances
  TOLER( 1, 1)= 1E-2 $ TOLER( 1, 2)= 1E-1
  TOLER( 2, 1)= 1E-2 $ TOLER( 2, 2)= 1E-1
  TOLER( 3, 1)= 1E-2 $ TOLER( 3, 2)= 1E-1

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
