!***********************************************************************
! TITLE: CFVR4101 - Linear design-diagram for concrete of ACI 359-04 code
! SUBTITLE: Comprobation of the linear design-diagram for concrete
!
! DESCRIPTION: This example performs the following comprobations:
! DESCRIPTION:
! DESCRIPTION:   1. That the type of design diagram enabled by default for
! DESCRIPTION:      ACI 359 code is the parabolic.
! DESCRIPTION:   2. That are defined correctly the points of the linear design
! DESCRIPTION:      diagram according to the ACI 359-04 code. Checking will only
! DESCRIPTION:      be done at certain age (variable AGE) of an arbitrary type
! DESCRIPTION:      of concrete.
!
! ELEMENT TYPE: NONE
! MODULES:
! UNITS:    BFT
! KEYWORD1: Materials
! KEYWORD2: ACI 359
!
!***********************************************************************

FINISH
~CFCLEAR,,1
NomFile ='CFVR4101'
/TITLE,%NomFile%,Linear design-diagram for concrete

~CODESEL,,ACI359,ACI359
~UNITS,BFT

/PREP7

! ----------------------------------------------------------------------
! Parameters
! ----------------------------------------------------------------------

AGE = 10     ! indicator corresponding to 75 days of concrete age
TOL = 1.E-12 ! relative error used to define tolerances

! ----------------------------------------------------------------------
! Material definition
! ----------------------------------------------------------------------

~CFMP,1,LIB,CONCRETE,ACI,fc_4500

!-----------------------------------------------------------------------
! Data check
!-----------------------------------------------------------------------

NCOMP    = 5
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) = 'TSDSSD'
LABEL(2) = 'EPS1'
LABEL(3) = 'EPS2'
LABEL(4) = 'SIG1'
LABEL(5) = 'SIG2'

! Correct values
!-----------------------------------------------------------------------
~CFGET,EMOD,MATERIAL,1,ACI_C,EC,,AGE

VALUE(1,1) = 4
VALUE(2,1) = -1.E-2
VALUE(3,1) =  0.E-2
VALUE(4,1) = EMOD*VALUE(2,1)
VALUE(5,1) = EMOD*VALUE(3,1)

! Warning and error tolerencaes
!-----------------------------------------------------------------------

TOLER(1,1) = 0                   $ TOLER(1,2) = 0
TOLER(2,1) = TOL*ABS(VALUE(2,1)) $ TOLER(2,2) = TOLER(2,1) 
TOLER(3,1) = TOL*ABS(VALUE(3,1)) $ TOLER(3,2) = TOLER(3,1)
TOLER(4,1) = TOL*ABS(VALUE(4,1)) $ TOLER(4,2) = TOLER(4,1)
TOLER(5,1) = TOL*ABS(VALUE(5,1)) $ TOLER(5,2) = TOLER(5,1)

! Obtained values
!-----------------------------------------------------------------------
~CFGET,VALUE(1,2),MATERIAL,1,ACI_C,TSDSSD
~CFMP,1,ACI_C,TSDSSD,,3
~CFGET,VALUE(2,2),MATERIAL,1,ACI_C,SDEPS,,1,AGE
~CFGET,VALUE(3,2),MATERIAL,1,ACI_C,SDEPS,,2,AGE
~CFGET,VALUE(4,2),MATERIAL,1,ACI_C,SDSGM,,1,AGE
~CFGET,VALUE(5,2),MATERIAL,1,ACI_C,SDSGM,,2,AGE

! Results comparison
!-----------------------------------------------------------------------
COMPARA.MAC

