!*************************************************************************************!
! TITLE: CFVR1325 - Cracking checking according to ACI 318
! SUBTITLE: Check a reinforced concrete beam for cracking according to ACI 318
!
! DESCRIPTION: A fixed beam which has a rectangular reinforced concrete section is subjected to
! DESCRIPTION: an axial compression force of 750000 N and a bending moment of 562500 Nm.
! 
! DESCRIPTION: The aim of the example is to obtain the check criterion according to ACI 318.
!
! ELEMENT TYPE: BEAM44
! MODULES:
! UNITS: SI
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Reinforced Concrete
! KEYWORD5: ACI 318
!
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1
   NomFile='CFVR1325'
 /TITLE,%NomFile%, Cracking checking according to ACI 318

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
 ~UNITS,SI
 ~CODESEL,,ACI
 
 !Parameters
 Phi=25.0
 Etype=44
 a=1
 b=0.6
 Cc=0.04
 r=(3*a)/4
 Smax=0.5

! Preprocessor
  /PREP7

! Material Definition
 ~CFMP,1,LIB,CONCRETE,ACI,fc_3500
 ~CFMP,2,LIB,REINF,ACI,fy_70000
 
! Element Type Definition
  ET,1, Etype

! Cross-section definition
~CSECDMS,1,REC,1,a,b
~RNFDEF,1,1,2,2, , Cc, , ,Phi,4, , ,4  
~RNFDEF,1,2,2,4, , Cc, , ,Phi,8, , ,4 
*DO,II,1,3
~TREFINE,1  
*ENDDO
~SECMDF,1,ACIPROP ,CC,,Cc,1
~SECMDF,1,ACIPROP ,CC,,Cc,2
~SECMDF,1,ACIPROP,CC,,Cc,3
~SECMDF,1,ACIPROP,CC,,Cc,4

! Beam & Shell property
~BMSHPRO,1,BEAM,1,1,,, Etype,,,,Beam property

! Model Construction
N,1                 ! Nodes input
N,5,5
FILL,1,5
E,1,2               ! Elements input
EGEN,4,1,1,1
D,1,ALL             ! Boundary conditions
ALLSEL

/SOLU
N  = 750000  ! Axial force
Mz = N*r     ! Mz Bending moment
F,5,FX,-N
F,5,MZ,Mz
SOLVE               

/POST1
! Postprocessor
~CFSET,,1,1      
~CHKCON,CRACK,,,Smax,   ! Alernative 1
  
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
 NComp = 3
 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)  = 'FS'  
LABEL( 2)  = 'S'
LABEL( 3)  = 'CRT_TOT'

! Correct data, obtained data
!--------------------------------------------------------------------------------------
VALUE( 1,1) = 87595508.82
VALUE( 2,1) = 0.98
VALUE( 3,1) = 0.51

~PLLSCON,FS,1,
*GET,VALUE( 1,2),ELEM,4,ETAB,CFETAB_J
~PLLSCON,S,1,
*GET,VALUE( 2,2),ELEM,4,ETAB,CFETAB_J
~PLLSCON,CRT_TOT,1,
*GET,VALUE( 3,2),ELEM,4,ETAB,CFETAB_J
  
! Warning and error tolerances
TOLER(  1,1) = 1E7                   $  TOLER(  1,2) = 1E7
TOLER(  2,1) = 5E-2                  $  TOLER(  2,2) = 5E-2
TOLER(  3,1) = 5E-2                  $  TOLER(  3,2) = 5E-2


!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
COMPARA.MAC