!*****************************************************************************************************!
! TITLE: CFVR1072 - Seismic margin in structural steel check according to EC3-05
! SUBTITLE: Case of compression and flexural Buckling.
!
! DESCRIPTION: A fixed steel beam subjected to a Fy load of -250 kN, a bending moment Mz of
! DESCRIPTION: 50 m*kN and a bending moment Mx of -30 m*kN applied to an end of the beam.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 10 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a IPE 550.
! DESCRIPTION:
! DESCRIPTION: The beam is made of Fe 460 steel which has a fy of 460000 kN/m<sup>2</sup>.
! DESCRIPTION:
! DESCRIPTION: Member NOT susceptible to torsional deformations
! DESCRIPTION: The aim of this example is to obtain the scale factor for permissible inelastic
! DESCRIPTION: response (FSI) according to EN 1993-1-1:2005.
!
! ELEMENT TYPE: BEAM4
! MODULES:
! UNITS: User
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Steel
! KEYWORD4: Code Checking/Design
! KEYWORD5: Eurocode 3
!
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR1072'
  /TITLE, %NomFile%, Seismic margin in structural steel check according to EC3-05

! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------
! parameters
DUCT  = 1.3
FACT  = 0.35
FY_NS = -75.*FACT
MZ_NS = 10.*FACT
MX_NS = -5.*FACT
FY_S  = -250.*FACT
MZ_S  = 50.*FACT
MX_S  = -30.*FACT

! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,EC3-05,EC2-08,,,EC8-94
  
/PREP7
! Preprocessor
! --------------------------------------------------
! Materials
 ~CFMP,1,LIB,STEEL,EC3,Fe 430

! Element Types
  ET,1,BEAM4 ! Type 1: 3D Beam

! Cross Sections
~SSECLIB,1,1,1,17   ! IPE 550
~SECMDF,1,EC3PROP,DUCT,,DUCT

! Member properties
! ~MEMBPRO,1,EC3,ALL, L,    K,   KW,   C1,   C2,   C3,  CMY,  CMZ, CMLT,PSIVEC,LATB,CFBXY,CFBXZ,CHKAX  
  ~MEMBPRO,1,EC3,ALL,10,1.000,1.000,1.879,  0.0,  0.0,  0.6,  0.6,  0.6,   0.5,   1,  1.0,  1.0,    0,  

! Beam properties
  ~BMSHPRO,1,BEAM,1,,,,4,1,0,,

! Nodes
  N,1,0.,0.
  N,2,0,10.
! Elements
  E,1,2
  EPLOT
  
/SOLU
! Solution
! --------------------------------------------------
! Displacements
  D,1,UX
  D,1,UY
  D,1,UZ
  D,2,UX

  D,2,UZ
  D,ALL,ROTY
  
~CFSAVE,%NomFile%

FINISH

/FILNAME,NON_SEISMIC
~CFRESUM,%NomFile%

/SOLU

F,2,FY,FY_NS
F,1,MZ,MZ_NS
F,1,MX,MX_NS

SOLVE

FINISH

/FILNAME,SEISMIC
~CFRESUM,%NomFile%

/SOLU

F,2,FY,FY_S
F,1,MZ,MZ_S
F,1,MX,MX_S
SOLVE

FINISH

/FILNAME,NON_SEISMIC

/POST1

~CFSET,,1,1
~CFFILE2,4,SEISMIC.RCV
~HCLPFST,BUCK_BCM,-Z,PARTIAL,,1,1
~PLSHCLP,FSE
~CFGET,FSE, ELEMENT, 1 ,RESULT ,  FSE, I, , , 1 
~CFSAVE,%NomFile%

FINISH

/FILNAME,SEISMIC_SCALED
~CFRESUM,%NomFile%

/SOLU

F,2,FY,FY_S*FSE
F,1,MZ,MZ_S*FSE
F,1,MX,MX_S*FSE
SOLVE

FINISH

/FILNAME,NON_SEISMIC

/POST1

~CFSET,,1,1
~CFFILE2,4,SEISMIC_SCALED.RCV
~HCLPFST,BUCK_BCM,-Z,PARTIAL,,1,1

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------


! arrays
NComp    = 2
NComp_ch = 0
*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) = 'DUCT'
LABEL(2) = 'FSE'

! correct data
VALUE(1,1) = DUCT
VALUE(2,1) = 1.

! CivilFEM data
~CFGET,VALUE(1,2),SECTION,1,EC3PROP,DUCT
~PLSHCLP,FSE
~CFGET,VALUE(2,2), ELEMENT, 1 ,RESULT ,  FSE, I, , , 1 

! results comparison
TOLER(1,1) = 1.E-6*ABS(VALUE(1,1))
TOLER(1,2) = TOLER(1,1)
TOLER(2,1) = 5.E-2*ABS(VALUE(2,1))
TOLER(2,2) = TOLER(2,1)

COMPARA.MAC