!**************************************************************************************************************!
! TITLE: CFVR1428 - Concrete Pre-desing for rectangular sections
! SUBTITLE: Predesign a reinforced concrete rectangular sections by parameters
!
! DESCRIPTION: A beam fixed in all nodes and formed by seven different sections
! DESCRIPTION: is subjected to a several load cases(Axial forces and bending moments on Z axis direction):
! DESCRIPTION:
! DESCRIPTION:  -N1 = -2.00E6 Kp.
! DESCRIPTION:
! DESCRIPTION:  -M1 = 0.00 Kp*cm.
! DESCRIPTION:
! DESCRIPTION:  -N2 = -1.50E6 Kp.
! DESCRIPTION:
! DESCRIPTION:  -M2 = 9.00E6 Kp*cm.
! DESCRIPTION:
! DESCRIPTION:  -N3 = -5.00E5 Kp.
! DESCRIPTION:
! DESCRIPTION:  -M3 = 1.50E7 Kp*cm.
! DESCRIPTION:
! DESCRIPTION:  -N4 = 0.00 Kp.
! DESCRIPTION:
! DESCRIPTION:  -M4 =5.00E6 Kp*cm.
! DESCRIPTION:
! DESCRIPTION:  -N5 = 1.00E5 Kp.
! DESCRIPTION:
! DESCRIPTION:  -M5 = 5.00E6 Kp*cm.
! DESCRIPTION:
! DESCRIPTION:  -N6 = 2.00E5 Kp.
! DESCRIPTION:
! DESCRIPTION:  -M6 = 2.50E6 Kp*cm.
! DESCRIPTION:
! DESCRIPTION:  -N7 = 2.50E5 Kp.
! DESCRIPTION:
! DESCRIPTION:  -M7 = 0.00 Kp*cm.
! DESCRIPTION:
! DESCRIPTION: The aim of this example is to obtain the reinforcement for the different cross sections
! DESCRIPTION: adapted to the existing load states.
!
! ELEMENT TYPE: BEAM3
! MODULES:
! UNITS: User
! KEYWORD1: Cross Section
! KEYWORD2: Code Checking/Design
! KEYWORD3: Reinforced Concrete
! KEYWORD4: EHE
!
!***************************************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR1428'
  /TITLE, %NomFile%, Concrete Pre-desing for rectangular sections

! Parameters
  WIDTH=50   ! Rectangular section width
  HEIGHT=80  ! Rectangular section height
  NE1=1      ! Number of elements in span 1
  N1=-2.00E6
  M1=0
  N2=-1.50E6
  M2=9.00E6
  N3=-5.00E5
  M3=1.50E7
  N4= 0.00
  M4=5.00E6
  N5= 1.00E5
  M5=5.00E6
  N6= 2.00E5
  M6=2.50E6
  N7= 2.50E5
  M7=0

! CivilFEM setup
  ~CODESEL,EC3-92,EHE-98,EC2-91,,EC8-94
  ~UNITS,,MONE,EURO
  ~UNITS,,LENG,CM
  ~UNITS,,TIME,S
  ~UNITS,,FORC,KP
  ~UNITS,,PRES,,0 ,uuP
  ~UNITS,,MASS,,0 ,uuM

/PREP7
! Preprocessor
! -------------------------------------------------------------------
! Element type
  ET,1,BEAM3
! Model
  REAL,1
  TYPE,1
  MAT,1
! Materials
  ~CFMP,1,LIB,CONCRETE,EHE,HA-35
  ~CFMP,2,LIB,REINF,EHE,B500S

! Sections
 *DO,I,1,7,1
   ~CSECDMS,I,REC,1,HEIGHT,WIDTH
 *ENDDO
! Beam properties
  *DO,I,1,7,1
     ~BMSHPRO,I,BEAM,I,I,,,3,1,0,,Beam 1
  *ENDDO

! Model
  REAL,1
  N,1,0,0
  N,2,100,0,0
  E,1,2
  REAL,2
  N,3,0,100,0
  N,4,100,100,0
  E,3,4
  REAL,3
  N,5,0,200,0
  N,6,100,200,0
  E,5,6
  REAL,4
  N,7,0,300,0
  N,8,100,300,0
  E,7,8
  REAL,5
  N,9,0,400,0
  N,10,100,400,0
  E,9,10
  REAL,6
  N,11,0,500,0
  N,12,100,500,0
  E,11,12
  REAL,7
  N,13,0,600,0
  N,14,100,600,0
  E,13,14
! Boundary conditions
  NSEL,S,LOC,X,0
  D,ALL,ALL
  ALLSEL
! Loads
  F, 2,FX,N1
  F, 4,FX,N2
  F, 6,FX,N3
  F, 8,FX,N4
  F,10,FX,N5
  F,12,FX,N6
  F,14,FX,N7
  F, 2,MZ,M1
  F, 4,MZ,M2
  F, 6,MZ,M3
  F, 8,MZ,M4
  F,10,MZ,M5
  F,12,MZ,M6
  F,14,MZ,M7

/SOLU
! Solution
  SOLVE

/POST1
! Postprocessor
  ~CFSET,,1

! Predesign
  McTop = 4.00
  McBot = 4
  KFILL = 1
  FiTop = 0.00
  FiBot = 0.00
  RNFMAT=2
  ~CLPRD, 0, McTop, McBot, RNFMAT, KFILL, MATRIX, FiTop, FiBot

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 14
  NComp_ch = 0

! Matrix dim.
  *DIM,LABEL,CHAR,Ncomp,1
  *DIM,LABEL_CH,CHAR,Ncomp_ch,1
  *DIM,VALUE,,Ncomp,6
  *DIM,VALUE_CH,CHAR,Ncomp_ch,3
  *DIM,TOLER,,Ncomp,6

! Labels
!--------------------------------------------------------------------------------------
  LABEL( 1)  = 'ASBOT_1'
  LABEL( 2)  = 'ASTOP_1'
  LABEL( 3)  = 'ASBOT_2'
  LABEL( 4)  = 'ASTOP_2'
  LABEL( 5)  = 'ASBOT_3'
  LABEL( 6)  = 'ASTOP_3'
  LABEL( 7)  = 'ASBOT_4'
  LABEL( 8)  = 'ASTOP_4'
  LABEL( 9)  = 'ASBOT_5'
  LABEL(10)  = 'ASTOP_5'
  LABEL(11)  = 'ASBOT_6'
  LABEL(12)  = 'ASTOP_6'
  LABEL(13)  = 'ASBOT_7'
  LABEL(14)  = 'ASTOP_7'

! Correct data, obtained data
!-------------------------------------------------------------------------------
  VALUE( 1,1) = 0.15814E3  $  ~CFGET,value( 1,2),SECTION,1,RNFBEN,AST,,1
  VALUE( 2,1) = 0.15021E3  $  ~CFGET,value( 2,2),SECTION,1,RNFBEN,AST,,2
  VALUE( 3,1) = 0.73559E2  $  ~CFGET,value( 3,2),SECTION,2,RNFBEN,AST,,1
  VALUE( 4,1) = 0.12201E3  $  ~CFGET,value( 4,2),SECTION,2,RNFBEN,AST,,2
  VALUE( 5,1) = 0.13200E2  $  ~CFGET,value( 5,2),SECTION,3,RNFBEN,AST,,1
  VALUE( 6,1) = 0.28036E2  $  ~CFGET,value( 6,2),SECTION,3,RNFBEN,AST,,2
  VALUE( 7,1) = 0.15535E2  $  ~CFGET,value( 7,2),SECTION,4,RNFBEN,AST,,1
  VALUE( 8,1) = 0.39600E1  $  ~CFGET,value( 8,2),SECTION,4,RNFBEN,AST,,2
  VALUE( 9,1) = 0.26753E2  $  ~CFGET,value( 9,2),SECTION,5,RNFBEN,AST,,1
  VALUE(10,1) = 0.39600E1  $  ~CFGET,value(10,2),SECTION,5,RNFBEN,AST,,2
  VALUE(11,1) = 0.30387E2  $  ~CFGET,value(11,2),SECTION,6,RNFBEN,AST,,1
  VALUE(12,1) = 0.21466E2  $  ~CFGET,value(12,2),SECTION,6,RNFBEN,AST,,2
  VALUE(13,1) = 0.28194E2  $  ~CFGET,value(13,2),SECTION,7,RNFBEN,AST,,1
  VALUE(14,1) = 0.28194E2  $  ~CFGET,value(14,2),SECTION,7,RNFBEN,AST,,2

! Warning and error tolerances
  *DO,II,1,NComp
    TOLER(II, 1)= 1E-2 $ TOLER(II, 2)= 1E-2
  *ENDDO

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
