!*************************************************************************************!
! TITLE: CFVR0921 - Shell reinforcement design according to Eurocode 2
! SUBTITLE: Shell reinforcement design according to Eurocode 2 using the Orthogonal
! SUBTITLE: Directions method and the Most Unfavourable Direction method.
!
! DESCRIPTION: The model is a rectangular slab of 5.0m x 2.5m meshed with 0.5m sized
! DESCRIPTION: shell elements.
! DESCRIPTION: The nodes of two adjacent sides are completely restrained.
! DESCRIPTION:
! DESCRIPTION: The shell is defined with an initial reinforcement of 1 cm<sup>2</sup>/m
! DESCRIPTION: on each direction and surface.
! DESCRIPTION:
! DESCRIPTION: The applied load is a vertical force (perpendicular to the slab) of 1000 kN,
! DESCRIPTION: on the free corner of the slab.
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: The reinforcement design methods are the Orthogonal Directions
! DESCRIPTION: method and the Most Unfavourable Direction method.
! DESCRIPTION:
!
! ELEMENT TYPE: Shell63
! MODULES:
! UNITS: SI
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: Eurocode 2
!*************************************************************************************!
   FINISH
  ~CFCLEAR,,1
   NomFile='CFVR0921'
  /TITLE, %NomFile%, Shell reinforcement design according to EC2
! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------

! Setup
 ~UNITS,SI
 ~CODESEL,EC3-92,EC2-91,EC2-91,,EC8-94
 ~CFCONFG,PLRES   ,SHELL   ,EPSW 
 ~CFCONFG,RESULT,CFSHF,1

/PREP7
! Materials
 ~CFMP,5,LIB,CONCRETE,EC2,C40/50
 ~CFMP,2,LIB,REINF,EC2,S400
! Element types
  ET,2,SHELL63
! Shell Vertex
  t=0.70     ! Thickness
  r=0.03     ! Cover
 ~SHLRNF,1,t,5,2,r,0.0001,0.0001,0.0001,0.0001,0,0.0,45
! Beam & Shell property
 ~BMSHPRO,10,SHELL,1,1,1,1,63,,,,Shell property

! Keypoints
  K,1,0.0,0.0
  K,2,5.0,0.0
  K,3,5.0,2.5
  K,4,0.0,2.5
! Area
  A,1,2,3,4
! Mesh
  TYPE,2
  REAL,10
  MAT,5
  ESIZE,0.5
  AMESH,ALL

! Boundary conditions
  NSEL,S,LOC,X,0.0
  NSEL,A,LOC,Y,0.0
  D,ALL,ALL,0.0

! Load
  FK,3,FZ,-1000000

! Solve
  /SOLU
  ALLSEL
  SOLVE

/POST1
! ---------------------------------------------------------------------------------
! Design with CivilFEM
! ---------------------------------------------------------------------------------
 ~CFSET,,1,1
 ~DIMCON,SHELL,VF
 ~DIMCON,SHELL,MUD

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 4
  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) ='ASTY_VF'
  LABEL( 2) ='ASTX_VF'
  LABEL( 3) ='ASTY_MUD'
  LABEL( 4) ='ASTX_MUD'

! Correct values
! ---------------------------------------------------------------------------------
  Value(1,1) = 67E-4
  Value(2,1) = 17E-4
  Value(3,1) = 67E-4
  Value(4,1) = 17E-4

! Obtained values
! ---------------------------------------------------------------------------------
 ~CFSET,1
 ~PLSHCON,ASTY
  Node_1 = NODE(KX(2),KY(2),KZ(2))
  *GET,Value(1,2),NODE,Node_1,EPSW
 ~PLSHCON,ASTX
  Node_2 = NODE(KX(4),KY(4),KZ(4))
  *GET,Value(2,2),NODE,Node_2,EPSW
 ~CFSET,2
 ~PLSHCON,ASTY
  Node_1 = NODE(KX(2),KY(2),KZ(2))
  *GET,Value(3,2),NODE,Node_1,EPSW
 ~PLSHCON,ASTX
  Node_2 = NODE(KX(4),KY(4),KZ(4))
  *GET,Value(4,2),NODE,Node_2,EPSW

! Warning and error tolerances
  TOLER( 1, 1)= 2E-04   $   TOLER( 1, 2)= 2E-04 
  TOLER( 2, 1)= 2E-04   $   TOLER( 2, 2)= 2E-04 
  TOLER( 3, 1)= 2E-04   $   TOLER( 3, 2)= 2E-04
  TOLER( 4, 1)= 2E-04   $   TOLER( 4, 2)= 2E-04

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
