!*************************************************************************************!
! TITLE: CFVR0917 - Shell reinforcement design according to AS3600
! SUBTITLE: Shell reinforcement design according to the Australian code AS3600 using the Wood-Armer method.
!
! DESCRIPTION: The model is made up of two square shell elements of 1.0m x 1.0m.
! DESCRIPTION: The nodes of one side are completely restrained and one of the nodes
! DESCRIPTION: between both element has its vertical movement restrained
! DESCRIPTION: (perpendicular to the shells).
! DESCRIPTION:
! DESCRIPTION: The applied loads are fixed displacements at the free side of the model.
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: The reinforcement design method is the Wood-Armer method. The values obtained
! DESCRIPTION: by CivilFEM are compared to the analytical values obtained in the log file.
! DESCRIPTION:
!
! ELEMENT TYPE: Shell63
! MODULES:
! UNITS: SI
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: AS3600
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR0917'
  /TITLE, %NomFile%, Shell reinforcement design according to AS3600
! ---------------------------------------------------------------------------------
! Model definition and analysis
! ---------------------------------------------------------------------------------

! Setup
 ~UNITS,SI
 ~CODESEL,,AS3600
 ~CFCONFG,PLRES   ,SHELL   ,EPSW 
 ~CFCONFG,RESULT,CFSHF,1

/PREP7
! Materials
 ~CFMP,5,LIB,CONCRETE,ACI,fc_4000
 ~CFMP,2,LIB,REINF,ACI,fy_70000
! Elements type
  ET,2,SHELL63
! Shell vertex
  phi= 0.9   ! Strength reduction factor
  t=0.12     ! Thickness
  r=0.03     ! Cover
  th = 0     ! Reinforcement angle
 ~SHLRNF,1,t,5,2,r,0.0,0.0,0.0,0.0,0,th,45
! Member Property
 ~MEMBPRO,1,AS3600,FI,phi
! Beam & Shell property
 ~BMSHPRO,10,SHELL,1,1,1,1,63,1,,,Shell property

! Nodes
  N,10,0.0,0.0
  N,20,1.0,0.0
  N,30,2.0,0.0
  N,40,0.0,1.0
  N,50,1.0,1.0
  N,60,2.0,1.0
! Elements
  MAT,5
  REAL,10
  TYPE,2
  EN,100, 10, 20, 50, 40
  EN,200, 20, 30, 60, 50
! Boundary conditions
  D,10,ALL,0.0
  D,40,ALL,0.0
  D,50,UZ,0.0
! Analysis
  /SOLU
  D,30,UZ,-0.025
  D,60,UX, 0.001
  D,60,UY, 0.001
  SOLVE

/POST1
! ---------------------------------------------------------------------------------
! Forces and moments calculation in element 100
! ---------------------------------------------------------------------------------
  *DIM,S  ,,6,3,4 ! Stesses (direction,layer,node)
  *DIM,ESF,,8,4   ! Forces and moments (Component,node) (Tx,Ty,Txy,Mx,My,Mxy,Nx,Ny)
  ESEL,S,ELEM,,100
! Stresses
  SHELL,TOP
  *VGET,S(1,1,1),NODE,10,S,X,,,4
  *VGET,S(1,1,2),NODE,20,S,X,,,4
  *VGET,S(1,1,3),NODE,50,S,X,,,4
  *VGET,S(1,1,4),NODE,40,S,X,,,4
  SHELL,MID
  *VGET,S(1,2,1),NODE,10,S,X,,,4
  *VGET,S(1,2,2),NODE,20,S,X,,,4
  *VGET,S(1,2,3),NODE,50,S,X,,,4
  *VGET,S(1,2,4),NODE,40,S,X,,,4
  SHELL,BOT
  *VGET,S(1,3,1),NODE,10,S,X,,,4
  *VGET,S(1,3,2),NODE,20,S,X,,,4
  *VGET,S(1,3,3),NODE,50,S,X,,,4
  *VGET,S(1,3,4),NODE,40,S,X,,,4
! Forces and moments
  *DO,I,1,4
    ESF(1,I)=t*(S(1,1,I)+4*S(1,2,I)+S(1,3,I))/6
    ESF(2,I)=t*(S(2,1,I)+4*S(2,2,I)+S(2,3,I))/6
    ESF(3,I)=t*(S(4,1,I)+4*S(4,2,I)+S(4,3,I))/6
    ESF(4,I)=-t**2*(S(1,1,I)-S(1,3,I))/12
    ESF(5,I)=-t**2*(S(2,1,I)-S(2,3,I))/12
    ESF(6,I)=-t**2*(S(4,1,I)-S(4,3,I))/12
    ESF(7,I)=t*(S(6,1,I)+4*S(6,2,I)+S(6,3,I))/6
    ESF(8,I)=t*(S(5,1,I)+4*S(5,2,I)+S(5,3,I))/6
  *ENDDO
! Design moments
  *DIM,Mxi,,4
  *DIM,Myi,,4
  *DIM,Mxs,,4
  *DIM,Mys,,4
  ! Lower reinforcement moments
    *DO,I,1,4
      Mxi(I)=ESF(4,I)-2*ESF(6,I)*TAN(th)+ESF(5,I)*(TAN(th))**2
      Mxi(I)=Mxi(I)+ABS((ESF(6,I)-ESF(5,I)*TAN(th))/COS(th))
      Myi(I)=ESF(5,I)/(COS(th))**2+ABS((ESF(6,I)-ESF(5,I)*TAN(th))/COS(th))
      *IF,Mxi(I),LT,0,THEN
         Mxi(I)=0
         Myi(I)=(ESF(6,I)-ESF(5,I)*TAN(th))**2
         Myi(I)=ABS(Myi(I)/(ESF(4,I)-2*ESF(6,I)*TAN(th)+ESF(5,I)*(TAN(th))**2))
         Myi(I)=(ESF(5,I)+Myi(I))/(COS(th))**2
         Myi(I)=(Myi(I)>0)
      *ENDIF
      *IF,Myi(I),LT,0,THEN
         Mxi(I)=ESF(5,I)*(TAN(th))**2+ABS((ESF(6,I)-ESF(5,I)*TAN(th))**2/ESF(5,I))
         Mxi(I)=Mxi(I)+2*ESF(6,I)*TAN(th)+Mxi(I)
         Mxi(I)=(Mxi(I)>0)
         Myi(I)=0
      *ENDIF
      Mxi(I)=Mxi(I)/phi
      Myi(I)=Myi(I)/phi
    *ENDDO
  ! Upper reinforcement moments
    *DO,I,1,4
      Mxs(I)=ESF(4,I)-2*ESF(6,I)*TAN(th)+ESF(5,I)*(TAN(th))**2
      Mxs(I)=Mxs(I)-ABS((ESF(6,I)-ESF(5,I)*TAN(th))/COS(th))
      Mys(I)=ESF(5,I)/(COS(th))**2-ABS((ESF(6,I)-ESF(5,I)*TAN(th))/COS(th))
      *IF,Mxs(I),GT,0,THEN
         Mxs(I)=0
         Mys(I)=(ESF(6,I)-ESF(5,I)*TAN(th))**2
         Mys(I)=ABS(Mys(I)/(ESF(4,I)-2*ESF(6,I)*TAN(th)+ESF(5,I)*(TAN(th))**2))
         Mys(I)=(ESF(5,I)-Mys(I))/(COS(th))**2
         Mys(I)=(Mys(I)<0)
      *ENDIF
      *IF,Mys(I),GT,0,THEN
         Mxs(I)=ESF(5,I)*(TAN(th))**2-ABS((ESF(6,I)-ESF(5,I)*TAN(th))**2/ESF(5,I))
         Mxs(I)=Mxs(I)+2*ESF(6,I)*TAN(th)+Mxs(I)
         Mxs(I)=(Mxs(I)<0)
         Mys(I)=0
      *ENDIF
      Mxs(I)=Mxs(I)/phi
      Mys(I)=Mys(I)/phi
    *ENDDO
! Designed reinforcement
  *DIM,Axi,,4
  *DIM,Ayi,,4
  *DIM,Axs,,4
  *DIM,Ays,,4
 ~CFGET,FCD,MATERIAL,5,ACI_C,FC_T,,7
 ~CFGET,FYD,MATERIAL,2,ACI_S,FY
 ~CFGET,EX,MATERIAL,2,DATGEN,EX

I=1
  ~SBPAR,Mxi(I),1.0,t,'ASBxi','ASTxi',r,r,FCD,FYD,EX
  ~SBPAR,Myi(I),1.0,t,'ASByi','ASTyi',r,r,FCD,FYD,EX
  ~SBPAR,Mxs(I),1.0,t,'ASBxs','ASTxs',r,r,FCD,FYD,EX
  ~SBPAR,Mys(I),1.0,t,'ASBys','ASTys',r,r,FCD,FYD,EX
   Axi(I)= (ASBxi > ASBxs)
   Ayi(I)= (ASByi > ASBys)
   Axs(I)= (ASTxs > ASTxi)
   Ays(I)= (ASTys > ASTyi)

I=2
  ~SBPAR,Mxi(I),1.0,t,'ASBxi','ASTxi',r,r,FCD,FYD,EX
  ~SBPAR,Myi(I),1.0,t,'ASByi','ASTyi',r,r,FCD,FYD,EX
  ~SBPAR,Mxs(I),1.0,t,'ASBxs','ASTxs',r,r,FCD,FYD,EX
  ~SBPAR,Mys(I),1.0,t,'ASBys','ASTys',r,r,FCD,FYD,EX
   Axi(I)= (ASBxi > ASBxs)
   Ayi(I)= (ASByi > ASBys)
   Axs(I)= (ASTxs > ASTxi)
   Ays(I)= (ASTys > ASTyi)

I=3
  ~SBPAR,Mxi(I),1.0,t,'ASBxi','ASTxi',r,r,FCD,FYD,EX
  ~SBPAR,Myi(I),1.0,t,'ASByi','ASTyi',r,r,FCD,FYD,EX
  ~SBPAR,Mxs(I),1.0,t,'ASBxs','ASTxs',r,r,FCD,FYD,EX
  ~SBPAR,Mys(I),1.0,t,'ASBys','ASTys',r,r,FCD,FYD,EX
   Axi(I)= (ASBxi > ASBxs)
   Ayi(I)= (ASByi > ASBys)
   Axs(I)= (ASTxs > ASTxi)
   Ays(I)= (ASTys > ASTyi)

I=4
  ~SBPAR,Mxi(I),1.0,t,'ASBxi','ASTxi',r,r,FCD,FYD,EX
  ~SBPAR,Myi(I),1.0,t,'ASByi','ASTyi',r,r,FCD,FYD,EX
  ~SBPAR,Mxs(I),1.0,t,'ASBxs','ASTxs',r,r,FCD,FYD,EX
  ~SBPAR,Mys(I),1.0,t,'ASBys','ASTys',r,r,FCD,FYD,EX
   Axi(I)= (ASBxi > ASBxs)
   Ayi(I)= (ASByi > ASBys)
   Axs(I)= (ASTxs > ASTxi)
   Ays(I)= (ASTys > ASTyi)

  ESEL,ALL

! ---------------------------------------------------------------------------------
! Design with CivilFEM
! ---------------------------------------------------------------------------------
 ~CFSET,,1,1
 ~DIMCON,SHELL,WOOD

  ESEL,S,ELEM,,100
! Forces and moments with civilFEM
  *DIM,ESF_CF,,8,4   ! Forces and moments (component,node) (Tx,Ty,Txy,Mx,My,Mxy,Nx,Ny)
~PLSHFOR,TX
  *GET,ESF_CF(1,1),NODE,10,EPSW
  *GET,ESF_CF(1,2),NODE,20,EPSW
  *GET,ESF_CF(1,3),NODE,50,EPSW
  *GET,ESF_CF(1,4),NODE,40,EPSW
~PLSHFOR,TY
  *GET,ESF_CF(2,1),NODE,10,EPSW
  *GET,ESF_CF(2,2),NODE,20,EPSW
  *GET,ESF_CF(2,3),NODE,50,EPSW
  *GET,ESF_CF(2,4),NODE,40,EPSW
~PLSHFOR,TXY
  *GET,ESF_CF(3,1),NODE,10,EPSW
  *GET,ESF_CF(3,2),NODE,20,EPSW
  *GET,ESF_CF(3,3),NODE,50,EPSW
  *GET,ESF_CF(3,4),NODE,40,EPSW
~PLSHFOR,MX
  *GET,ESF_CF(4,1),NODE,10,EPSW
  *GET,ESF_CF(4,2),NODE,20,EPSW
  *GET,ESF_CF(4,3),NODE,50,EPSW
  *GET,ESF_CF(4,4),NODE,40,EPSW
~PLSHFOR,MY
  *GET,ESF_CF(5,1),NODE,10,EPSW
  *GET,ESF_CF(5,2),NODE,20,EPSW
  *GET,ESF_CF(5,3),NODE,50,EPSW
  *GET,ESF_CF(5,4),NODE,40,EPSW
~PLSHFOR,MXY
  *GET,ESF_CF(6,1),NODE,10,EPSW
  *GET,ESF_CF(6,2),NODE,20,EPSW
  *GET,ESF_CF(6,3),NODE,50,EPSW
  *GET,ESF_CF(6,4),NODE,40,EPSW
~PLSHFOR,NX
  *GET,ESF_CF(7,1),NODE,10,EPSW
  *GET,ESF_CF(7,2),NODE,20,EPSW
  *GET,ESF_CF(7,3),NODE,50,EPSW
  *GET,ESF_CF(7,4),NODE,40,EPSW
~PLSHFOR,NY
  *GET,ESF_CF(8,1),NODE,10,EPSW
  *GET,ESF_CF(8,2),NODE,20,EPSW
  *GET,ESF_CF(8,3),NODE,50,EPSW
  *GET,ESF_CF(8,4),NODE,40,EPSW

! Design moments obtained with CivilFEM
  *DIM,Mxi_CF,,4
  *DIM,Myi_CF,,4
  *DIM,Mxs_CF,,4
  *DIM,Mys_CF,,4
~PLSHCON,MXB
  *GET,Mxi_CF(1),NODE,10,EPSW
  *GET,Mxi_CF(2),NODE,20,EPSW
  *GET,Mxi_CF(3),NODE,50,EPSW
  *GET,Mxi_CF(4),NODE,40,EPSW
~PLSHCON,MYB
  *GET,Myi_CF(1),NODE,10,EPSW
  *GET,Myi_CF(2),NODE,20,EPSW
  *GET,Myi_CF(3),NODE,50,EPSW
  *GET,Myi_CF(4),NODE,40,EPSW
~PLSHCON,MXT
  *GET,Mxs_CF(1),NODE,10,EPSW
  *GET,Mxs_CF(2),NODE,20,EPSW
  *GET,Mxs_CF(3),NODE,50,EPSW
  *GET,Mxs_CF(4),NODE,40,EPSW
~PLSHCON,MYT
  *GET,Mys_CF(1),NODE,10,EPSW
  *GET,Mys_CF(2),NODE,20,EPSW
  *GET,Mys_CF(3),NODE,50,EPSW
  *GET,Mys_CF(4),NODE,40,EPSW

! Designed reinforcements by CivilFEM
  *DIM,Axi_CF,,4
  *DIM,Ayi_CF,,4
  *DIM,Axs_CF,,4
  *DIM,Ays_CF,,4
~PLSHCON,ASBX
  *GET,Axi_CF(1),NODE,10,EPSW
  *GET,Axi_CF(2),NODE,20,EPSW
  *GET,Axi_CF(3),NODE,50,EPSW
  *GET,Axi_CF(4),NODE,40,EPSW
~PLSHCON,ASBY
  *GET,Ayi_CF(1),NODE,10,EPSW
  *GET,Ayi_CF(2),NODE,20,EPSW
  *GET,Ayi_CF(3),NODE,50,EPSW
  *GET,Ayi_CF(4),NODE,40,EPSW
~PLSHCON,ASTX
  *GET,Axs_CF(1),NODE,10,EPSW
  *GET,Axs_CF(2),NODE,20,EPSW
  *GET,Axs_CF(3),NODE,50,EPSW
  *GET,Axs_CF(4),NODE,40,EPSW
~PLSHCON,ASTY
  *GET,Ays_CF(1),NODE,10,EPSW
  *GET,Ays_CF(2),NODE,20,EPSW
  *GET,Ays_CF(3),NODE,50,EPSW
  *GET,Ays_CF(4),NODE,40,EPSW

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 64
  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) ='TX_I'
  LABEL( 2) ='TX_J'
  LABEL( 3) ='TX_K'
  LABEL( 4) ='TX_L'
  LABEL( 5) ='TY_I'
  LABEL( 6) ='TY_J'
  LABEL( 7) ='TY_K'
  LABEL( 8) ='TY_L'
  LABEL( 9) ='TXY_I'
  LABEL(10) ='TXY_J'
  LABEL(11) ='TXY_K'
  LABEL(12) ='TXY_L'
  LABEL(13) ='MX_I'
  LABEL(14) ='MX_J'
  LABEL(15) ='MX_K'
  LABEL(16) ='MX_L'
  LABEL(17) ='MY_I'
  LABEL(18) ='MY_J'
  LABEL(19) ='MY_K'
  LABEL(20) ='MY_L'
  LABEL(21) ='MXY_I'
  LABEL(22) ='MXY_J'
  LABEL(23) ='MXY_K'
  LABEL(24) ='MXY_L'
  LABEL(25) ='NX_I'
  LABEL(26) ='NX_J'
  LABEL(27) ='NX_K'
  LABEL(28) ='NX_L'
  LABEL(29) ='NY_I'
  LABEL(30) ='NY_J'
  LABEL(31) ='NY_K'
  LABEL(32) ='NY_L'
  LABEL(33) ='MDxi_I'
  LABEL(34) ='MDxi_J'
  LABEL(35) ='MDxi_K'
  LABEL(36) ='MDxi_L'
  LABEL(37) ='MDyi_I'
  LABEL(38) ='MDyi_J'
  LABEL(39) ='MDyi_K'
  LABEL(40) ='MDyi_L'
  LABEL(41) ='MDxs_I'
  LABEL(42) ='MDxs_J'
  LABEL(43) ='MDxs_K'
  LABEL(44) ='MDxs_L'
  LABEL(45) ='MDys_I'
  LABEL(46) ='MDys_J'
  LABEL(47) ='MDys_K'
  LABEL(48) ='MDys_L'
  LABEL(49) ='ASxi_I'
  LABEL(50) ='ASxi_J'
  LABEL(51) ='ASxi_K'
  LABEL(52) ='ASxi_L'
  LABEL(53) ='ASyi_I'
  LABEL(54) ='ASyi_J'
  LABEL(55) ='ASyi_K'
  LABEL(56) ='ASyi_L'
  LABEL(57) ='ASxs_I'
  LABEL(58) ='ASxs_J'
  LABEL(59) ='ASxs_K'
  LABEL(60) ='ASxs_L'
  LABEL(61) ='ASys_I'
  LABEL(62) ='ASys_J'
  LABEL(63) ='ASys_K'
  LABEL(64) ='ASys_L'

! Correct values
!--------------------------------------------------------------------------------------
  ! Forces and moments
    *DO,I,1,8
      *DO,J,1,4
        VALUE(4*(I-1)+J,1)= ESF(I,J)
      *ENDDO
    *ENDDO
  ! Design moments
    *DO,I,1,4
      VALUE(32+I,1)=Mxi(I) ! Mxi(I)
    *ENDDO
    *DO,I,1,4
      VALUE(36+I,1)=Myi(I) ! Myi(I)
    *ENDDO
    *DO,I,1,4
      VALUE(40+I,1)=Mxs(I) ! Mxs(I)
    *ENDDO
    *DO,I,1,4
      VALUE(44+I,1)=Mys(I) ! Mys(I)
    *ENDDO
  ! Reinforcement
    *DO,I,1,4
      VALUE(48+I,1)=Axi(I)
    *ENDDO
    *DO,I,1,4
      VALUE(52+I,1)=Ayi(I)
    *ENDDO
    *DO,I,1,4
      VALUE(56+I,1)=Axs(I)
    *ENDDO
    *DO,I,1,4
      VALUE(60+I,1)=Ays(I)
    *ENDDO

! Obtained values
!--------------------------------------------------------------------------------------
  ! Forces and moments
    *DO,I,1,8
      *DO,J,1,4
        VALUE(4*(I-1)+J,2)= ESF_CF(I,J)
      *ENDDO
    *ENDDO
  ! Design moments
    *DO,I,1,4
      VALUE(32+I,2)=Mxi_CF(I)
    *ENDDO
    *DO,I,1,4
      VALUE(36+I,2)=Myi_CF(I)
    *ENDDO
    *DO,I,1,4
      VALUE(40+I,2)=Mxs_CF(I)
    *ENDDO
    *DO,I,1,4
      VALUE(44+I,2)=Mys_CF(I)
    *ENDDO
  ! Reinforcement
    *DO,I,1,4
      VALUE(48+I,2)=Axi_CF(I)
    *ENDDO
    *DO,I,1,4
      VALUE(52+I,2)=Ayi_CF(I)
    *ENDDO
    *DO,I,1,4
      VALUE(56+I,2)=Axs_CF(I)
    *ENDDO
    *DO,I,1,4
      VALUE(60+I,2)=Ays_CF(I)
    *ENDDO

! Warning and error tolerances
  TOLER( 1, 1)= 1E-01   $   TOLER( 1, 2)= 1E-00
  TOLER( 2, 1)= 1E-01   $   TOLER( 2, 2)= 1E-00
  TOLER( 3, 1)= 1E-02   $   TOLER( 3, 2)= 1E-01
  TOLER( 4, 1)= 1E-02   $   TOLER( 4, 2)= 1E-01
  TOLER( 5, 1)= 1E-02   $   TOLER( 5, 2)= 1E-01
  TOLER( 6, 1)= 1E-02   $   TOLER( 6, 2)= 1E-01
  TOLER( 7, 1)= 1E-02   $   TOLER( 7, 2)= 1E-01
  TOLER( 8, 1)= 1E-02   $   TOLER( 8, 2)= 1E-01
  TOLER( 9, 1)= 1E-02   $   TOLER( 9, 2)= 1E-01
  TOLER(10, 1)= 1E-02   $   TOLER(10, 2)= 1E-01
  TOLER(11, 1)= 1E-02   $   TOLER(11, 2)= 1E-01
  TOLER(12, 1)= 1E-02   $   TOLER(12, 2)= 1E-01
  TOLER(13, 1)= 1E-02   $   TOLER(13, 2)= 1E-01
  TOLER(14, 1)= 1E-03   $   TOLER(14, 2)= 1E-02
  TOLER(15, 1)= 1E-02   $   TOLER(15, 2)= 1E-01
  TOLER(16, 1)= 1E-03   $   TOLER(16, 2)= 1E-02
  TOLER(17, 1)= 1E-02   $   TOLER(17, 2)= 1E-01
  TOLER(18, 1)= 1E-04   $   TOLER(18, 2)= 1E-03
  TOLER(19, 1)= 1E-04   $   TOLER(19, 2)= 1E-03
  TOLER(20, 1)= 1E-03   $   TOLER(20, 2)= 1E-02
  TOLER(21, 1)= 1E-03   $   TOLER(21, 2)= 1E-02
  TOLER(22, 1)= 1E-03   $   TOLER(22, 2)= 1E-02
  TOLER(23, 1)= 1E-03   $   TOLER(23, 2)= 1E-02
  TOLER(24, 1)= 1E-03   $   TOLER(24, 2)= 1E-02
  TOLER(25, 1)= 1E-15   $   TOLER(25, 2)= 1E-14
  TOLER(26, 1)= 1E-15   $   TOLER(26, 2)= 1E-14
  TOLER(27, 1)= 1E-15   $   TOLER(27, 2)= 1E-14
  TOLER(28, 1)= 1E-15   $   TOLER(28, 2)= 1E-14
  TOLER(29, 1)= 1E-15   $   TOLER(29, 2)= 1E-14
  TOLER(30, 1)= 1E-15   $   TOLER(30, 2)= 1E-14
  TOLER(31, 1)= 1E-15   $   TOLER(31, 2)= 1E-14
  TOLER(32, 1)= 1E-15   $   TOLER(32, 2)= 1E-14
  TOLER(33, 1)= 1E-15   $   TOLER(33, 2)= 1E-14
  TOLER(34, 1)= 1E-03   $   TOLER(34, 2)= 1E-02
  TOLER(35, 1)= 1E-15   $   TOLER(35, 2)= 1E-14
  TOLER(36, 1)= 1E-03   $   TOLER(36, 2)= 1E-02
  TOLER(37, 1)= 1E-15   $   TOLER(37, 2)= 1E-14
  TOLER(38, 1)= 1E-03   $   TOLER(38, 2)= 1E-02
  TOLER(39, 1)= 1E-03   $   TOLER(39, 2)= 1E-02
  TOLER(40, 1)= 1E-03   $   TOLER(40, 2)= 1E-02
  TOLER(41, 1)= 1E-02   $   TOLER(41, 2)= 1E-01
  TOLER(42, 1)= 1E-03   $   TOLER(42, 2)= 1E-02
  TOLER(43, 1)= 1E-02   $   TOLER(43, 2)= 1E-01
  TOLER(44, 1)= 1E-15   $   TOLER(44, 2)= 1E-14
  TOLER(45, 1)= 1E-03   $   TOLER(45, 2)= 1E-02
  TOLER(46, 1)= 1E-03   $   TOLER(46, 2)= 1E-02
  TOLER(47, 1)= 1E-03   $   TOLER(47, 2)= 1E-02
  TOLER(48, 1)= 1E-15   $   TOLER(48, 2)= 1E-14
  TOLER(49, 1)= 1E-06   $   TOLER(49, 2)= 1E-05
  TOLER(50, 1)= 1E-06   $   TOLER(50, 2)= 1E-05
  TOLER(51, 1)= 1E-06   $   TOLER(51, 2)= 1E-05
  TOLER(52, 1)= 1E-06   $   TOLER(52, 2)= 1E-05
  TOLER(53, 1)= 1E-06   $   TOLER(53, 2)= 1E-05
  TOLER(54, 1)= 1E-06   $   TOLER(54, 2)= 1E-05
  TOLER(55, 1)= 1E-06   $   TOLER(55, 2)= 1E-05
  TOLER(56, 1)= 1E-06   $   TOLER(56, 2)= 1E-05
  TOLER(57, 1)= 1E-06   $   TOLER(57, 2)= 1E-05
  TOLER(58, 1)= 1E-06   $   TOLER(58, 2)= 1E-05
  TOLER(59, 1)= 1E-06   $   TOLER(59, 2)= 1E-05
  TOLER(60, 1)= 1E-06   $   TOLER(60, 2)= 1E-05
  TOLER(61, 1)= 1E-06   $   TOLER(61, 2)= 1E-05
  TOLER(62, 1)= 1E-06   $   TOLER(62, 2)= 1E-05
  TOLER(63, 1)= 1E-06   $   TOLER(63, 2)= 1E-05
  TOLER(64, 1)= 1E-06   $   TOLER(64, 2)= 1E-05

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
