!*****************************************************************************************************!
! TITLE: CFVR1073 - Seismic margin in structural steel check according to EC3-05
! SUBTITLE: Case of Axial, Shear and Biaxial bending checking according to EN 1993-1-1:2005
!
! DESCRIPTION: A cantilever steel beam subjected to a Fx load of -500 kN,a bending moment My 
! DESCRIPTION: of 30 kN*m and a bending moment of 80 kN*m applied to an end of the beam.
! DESCRIPTION:
! DESCRIPTION: The beam has a length of 1 m.
! DESCRIPTION:
! DESCRIPTION: The cross section is a HE 200 B.
! DESCRIPTION:
! DESCRIPTION: The beam is made of Fe 430 steel which has a fy of 275000 kN/m<sup>2</sup>.
! DESCRIPTION:
! 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='CFVR1073'
  /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 = -100.*FACT
MZ_NS = 5.*FACT
MX_NS = 20.*FACT
FY_S  = -500.*FACT
MZ_S  = 30.*FACT
MX_S  = 80.*FACT

! CivilFEM Setup: Code & Units
  ~UNITS,,LENG,M
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KN
  ~CODESEL,EC3-05,EC2-08,,,EC8-94
/PREP7
! Materials
  ~CFMP,1,LIB,STEEL,EC3,Fe 430      ! Fe 430

! Element type
  ET,1,BEAM4 ! Type 1: 3D Beam

! Cross Sections
~SSECLIB,1,1,6,6   !HE 200 B
~SECMDF,1,EC3PROP,DUCT,,DUCT

! Beam properties
  ~BMSHPRO,1,BEAM,1,1,,,4,1,0,,Beam 1

! Nodes
 N, 1
 N,25,1
! FILL,1,25
! Elements
!  E,1,2
 ! EGEN,24,1,1
 E,1,25
  EPLOT
  
/SOLU
! Restraints
  D, 1,ALL
  
~CFSAVE,%NomFile%

FINISH

/FILNAME,NON_SEISMIC
~CFRESUM,%NomFile%

/SOLU

F,25,FX,FX_NS
F,25,MY,MY_NS
F,25,MZ,MZ_NS

SOLVE

FINISH

/FILNAME,SEISMIC
~CFRESUM,%NomFile%

/SOLU

F,25,FX,FX_S
F,25,MY,MY_S
F,25,MZ,MZ_S
SOLVE

FINISH

/FILNAME,NON_SEISMIC

/POST1

~CFSET,,1,1
~CFFILE2,4,SEISMIC.RCV
~HCLPFST,BD_AX_SH,-Z,PARTIAL,,1,1
~PLSHCLP,FSE
~CFGET,FSE, ELEMENT, 1 ,RESULT ,  FSE, I, , , 1 
~CFSAVE,%NomFile%

FINISH

/FILNAME,SEISMIC_SCALED
~CFRESUM,%NomFile%

/SOLU

F,25,FX,FX_S*FSE
F,25,MY,MY_S*FSE
F,25,MZ,MZ_S*FSE

SOLVE

FINISH

/FILNAME,NON_SEISMIC
  
  /POST1
~CFSET,,1,1
~CFFILE2,4,SEISMIC_SCALED.RCV
~HCLPFST,BD_AX_SH,-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