!**************************************************************************************************************!
! TITLE: CFVR1426 - Concrete Pre-desing for rectangular sections
! SUBTITLE: Predesign a reinforced concrete rectangular sections by parameters
!
! DESCRIPTION: The aim of this example is to obtain the reinforcement for different cross sections
! DESCRIPTION: adapted to the existing loads.
! DESCRIPTION: Parameters to bearing in mind:
! DESCRIPTION: - Width.
! DESCRIPTION: - Height.
! DESCRIPTION: - Distance to the bottom reinforcement.
! DESCRIPTION: - Distance to the top reinforcement.
! DESCRIPTION: - Axil.
! DESCRIPTION: - Moment.
! DESCRIPTION: - Design calculus resistance of concrete.
! DESCRIPTION: - Design calculus resistance of steel.
! DESCRIPTION: - Type of section.
!
! ELEMENT TYPE: None
! MODULES:
! UNITS: SI
! KEYWORD1: Cross Section
! KEYWORD2: Reinforced Concrete
!
!***************************************************************************************************************!
  FINISH
  ~CFCLEAR,,1
  NomFile='CFVR1426'
 /TITLE,%NomFile%,Concrete Pre-design for rectangular sections

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
~UNITS,SI
~CODESEL,EC3-92,EHE-98,,,EC8-94

! Preprocessor
  /PREP7

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 20
  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) = 'Rei bot0'
  LABEL(2,1) = 'Minestb0'
  LABEL(3,1) = 'Mingeob0'
  LABEL(4,1) = 'Minmecb0'
  LABEL(5,1) = 'Rei bot1'
  LABEL(6,1) = 'Minestb1'
  LABEL(7,1) = 'Mingeob1'
  LABEL(8,1) = 'Minmecb1'
  LABEL(9,1) = 'Rei bot2'
  LABEL(10,1) = 'Minestb2'
  LABEL(11,1) = 'Mingeob2'
  LABEL(12,1) = 'Minmecb2'
  LABEL(13,1) = 'Rei bot3'
  LABEL(14,1) = 'Minestb3'
  LABEL(15,1) = 'Mingeob3'
  LABEL(16,1) = 'Minmecb3'
  LABEL(17,1) = 'Rei bot4'
  LABEL(18,1) = 'Minestb4'
  LABEL(19,1) = 'Mingeob4'
  LABEL(20,1) = 'Minmecb4'

!
! Case 1
!
 B=0.5
 H=0.8
 MCTOP=0.05
 MCBOT=0.06
 ND=0
 MD=3000
 Fcd=10000
 Fyd=20000

! Correct values
 VALUE(1,1)=0.2327744565
 VALUE(2,1)=0.2327744565
 VALUE(3,1)=0.00132
 VALUE(4,1)=0.00833333

 ~calserc,B,H,MCTOP,MCBOT,ND,MD,results,Fcd,Fyd,0
 VALUE(1,2)=results(1)
 VALUE(2,2)=results(3)
 VALUE(3,2)=results(5)
 VALUE(4,2)=results(7)
!
! Case 2
!
 B=0.5
 H=0.8
 MCTOP=0.05
 MCBOT=0.06
 ND=1000
 MD=3000
 Fcd=10000
 Fyd=20000

! Correct values
 VALUE(5,1)=0.256620
 VALUE(6,1)=0.256620
 VALUE(7,1)=0.0008
 VALUE(8,1)=0.00833333

 ~calserc,B,H,MCTOP,MCBOT,ND,MD,results,Fcd,Fyd,1
 VALUE(5,2)=results(1)
 VALUE(6,2)=results(3)
 VALUE(7,2)=results(5)
 VALUE(8,2)=results(7)
!
! Case 3
!
 B=0.5
 H=0.8
 MCTOP=0.05
 MCBOT=0.06
 ND=0
 MD=0
 Fcd=10000
 Fyd=20000

! Correct values
  VALUE(9,1)=0.0004
  VALUE(10,1)=0
  VALUE(11,1)=0.0004
  VALUE(12,1)=0.00

~calserc,B,H,MCTOP,MCBOT,ND,MD,results,Fcd,Fyd,2
 VALUE(9,2)=results(1)
 VALUE(10,2)=results(3)
 VALUE(11,2)=results(5)
 VALUE(12,2)=results(7)
!
! Case 4
!
 B=0.5
 H=0.8
 MCTOP=0.05
 MCBOT=0.06
 ND=9000
 MD=12000
 Fcd=10000
 Fyd=20000

! Correct values
 VALUE(13,1)=0.02
 VALUE(14,1)=0.02
 VALUE(15,1)=0.00032
 VALUE(16,1)=0.48E-3

 ~calserc,0.2,0.4,0.05,0.06,2000,0,results,3000,50000,3
 VALUE(13,2)=results(1)
 VALUE(14,2)=results(3)
 VALUE(15,2)=results(5)
 VALUE(16,2)=results(7)
!
! Case 5
!
 ! Correct values
 VALUE(17,1)=0.02
 VALUE(18,1)=0.02
 VALUE(19,1)=0.000096
 VALUE(20,1)=0.48E-3

 ~calserc,0.2,0.4,0.05,0.06,2000,0,results,3000,50000,4
 VALUE(17,2)=results(1)
 VALUE(18,2)=results(3)
 VALUE(19,2)=results(5)
 VALUE(20,2)=results(7)

! Warning and error tolerances
  TOLER( 1, 1)= 1E-04 $ TOLER( 1, 2)= 1E-04
  TOLER( 2, 1)= 1E-04 $ TOLER( 2, 2)= 1E-04
  TOLER( 3, 1)= 1E-04 $ TOLER( 3, 2)= 1E-04
  TOLER( 4, 1)= 1E-04 $ TOLER( 4, 2)= 1E-04
  TOLER( 5, 1)= 1E-04 $ TOLER( 5, 2)= 1E-04
  TOLER( 6, 1)= 1E-04 $ TOLER( 6, 2)= 1E-04
  TOLER( 7, 1)= 1E-04 $ TOLER( 7, 2)= 1E-04
  TOLER( 8, 1)= 1E-04 $ TOLER( 8, 2)= 1E-04
  TOLER( 9, 1)= 1E-04 $ TOLER( 9, 2)= 1E-04
  TOLER( 10, 1)= 1E-04 $ TOLER( 10, 2)= 1E-04
  TOLER( 11, 1)= 1E-04 $ TOLER( 11, 2)= 1E-04
  TOLER( 12, 1)= 1E-04 $ TOLER( 12, 2)= 1E-04
  TOLER( 13, 1)= 1E-06 $ TOLER( 13, 2)= 1E-06
  TOLER( 14, 1)= 1E-06 $ TOLER( 14, 2)= 1E-06
  TOLER( 15, 1)= 1E-06 $ TOLER( 15, 2)= 1E-06
  TOLER( 16, 1)= 1E-06 $ TOLER( 16, 2)= 1E-06
  TOLER( 17, 1)= 1E-06 $ TOLER( 17, 2)= 1E-06
  TOLER( 18, 1)= 1E-06 $ TOLER( 18, 2)= 1E-06
  TOLER( 19, 1)= 1E-06 $ TOLER( 19, 2)= 1E-06
  TOLER( 20, 1)= 1E-06 $ TOLER( 20, 2)= 1E-06


!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
