!***********************************************************************!
! TITLE: CFVR6002 - Frame verification
! SUBTITLE: Frame predesigned model verification
!
! DESCRIPTION: This example tests the FRAME editor tool. It
! DESCRIPTION: creates a Frame with C20/25 Concrete, and S500 Steel.
! DESCRIPTION:
! DESCRIPTION: For this purpose, it checks geometry and reinforcement
! DESCRIPTION:
! DESCRIPTION: The Frame have the following parameters:
! DESCRIPTION:
! DESCRIPTION: - Free height between slab and lintel = 3.5 m
! DESCRIPTION:
! DESCRIPTION: - Distance between piers = 5 m
! DESCRIPTION:
! DESCRIPTION: - Lintel thickness = 0.3 m
! DESCRIPTION:
! DESCRIPTION: - Slab thickness = 0.3 m
! DESCRIPTION:
! DESCRIPTION: - Pier thickness = 0.25 m
! DESCRIPTION:
! DESCRIPTION: - Vertical projection of the upper brackets = 0 m
! DESCRIPTION:
! DESCRIPTION: - Horizontal projection of the upper brackets = 0 m
! DESCRIPTION:
! DESCRIPTION: - Vertical projection of the lower brackets = 0 m
! DESCRIPTION:
! DESCRIPTION: - Horizontal projection of the lower brackets = 0 m
! DESCRIPTION:
! DESCRIPTION: - Terrain height over the lintel = 1 m
! DESCRIPTION:
! DESCRIPTION: - Terrain height over the slab = 0 m
! DESCRIPTION:
! DESCRIPTION: - Terrain specific weight = 20000 N/m<sup>3</sup>
! DESCRIPTION:
! DESCRIPTION: - Terrain internal friction angle (sexagesimal degrees) = 30º
! DESCRIPTION:
! DESCRIPTION: - Ballast module = 1000000 N/m<sup>4</sup>
! DESCRIPTION:
! DESCRIPTION: - Serviceability load over the frame (surface load) = 400 N/m<sup>2</sup>
! DESCRIPTION:
! DESCRIPTION: - Terrain compactation load (surface load) = 2000 N/m<sup>2</sup>
! DESCRIPTION:
! DESCRIPTION: - Lateral load (surface load) = 1000 N/m<sup>2</sup>
! DESCRIPTION:
! DESCRIPTION: - Number of axles of the vehicle (2 or 3) = 3
! DESCRIPTION:
! DESCRIPTION: - Axle length. Distance between wheels = 2 m
! DESCRIPTION:
! DESCRIPTION: - Footprint length = 2 m
! DESCRIPTION:
! DESCRIPTION: - Footprint width = 0.6 m
! DESCRIPTION:
! DESCRIPTION: - Distance between axles 1 and 2 = 1.5 m
! DESCRIPTION:
! DESCRIPTION: - Distance between axles 2 and 3 = 1.5 m
! DESCRIPTION:
! DESCRIPTION: - Load on axle 1 = 200000 N
! DESCRIPTION:
! DESCRIPTION: - Load on axle 2 = 200000 N
! DESCRIPTION:
! DESCRIPTION: - Load on axle 3 = 200000 N
! DESCRIPTION:
! DESCRIPTION: - Maximum cracking width = 0.3 mm
!
! ELEMENT TYPE: NONE
! MODULES:
! UNITS: SI
! KEYWORD1: Frames
!
!***********************************************************************!

   FINISH
   ~cfclear,,1
   NomFile='CFVR6002'
     AnsLic='mech_1'  
 /TITLE,%NomFile%,Frame

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
  ~UNITS,SI
  ~CODESEL,EC3-92,EC2-91,EC2,,EC8-94

! Preprocessor
  /PREP7

! Material Definition
  ~CFMP,1,LIB,CONCRETE,EC2,C20/25
  ~CFMP,2,LIB,REINF,EC2,S500

! Frame definition
  ~FRMDEF,1,3.5,5,0.3,0.3,0.25,2,Frame   ! Geometrical definition
  ~FRMCR,1,0.0,0.0,0.0,0.0               ! Brackets definition
  ~FRMGT,1,1,1,0,20000,30,1000000.0      ! Terrain properties definition
  ~FRMBS,1,1                             ! Base definition
  ~FRMLDS,1,400,2000,1000                ! Loads definition
  ~FRMVHS,1,3,2,0.60,0.20                ! Vehicle definition
  ~FRTRCK,1,1,1.5,1.5                    ! Path distances definition
  ~FRTRCK,1,2,200000,200000,200000       ! Path load defintion
  ~FRMGEN,1,,1,2,0.003                   ! Reinforcement generation

/POST1
/IMAGE,SAVE,%NomFile%,BMP   ! Save the image
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 32
  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

! Correct values
  VALUE( 1,1) = 3.5
  VALUE( 2,1) = 5
  VALUE( 3,1) = 0.25
  VALUE( 4,1) = 0.3
  VALUE( 5,1) = 0
  VALUE( 6,1) = 0
  VALUE( 7,1) = 0
  VALUE( 8,1) = 0
  VALUE( 9,1) = 0
  VALUE( 10,1) = 0
  VALUE( 11,1) = 0
  VALUE( 12,1) = 1
  VALUE( 13,1) = 0
  VALUE( 14,1) = 30
  VALUE( 15,1) = 101971.62
  VALUE( 16,1) = 0.035
  VALUE( 17,1) = 25
  VALUE( 18,1) = 25
  VALUE( 19,1) = 25
  VALUE( 20,1) = 25
  VALUE( 21,1) = 20
  VALUE( 22,1) = 25
  VALUE( 23,1) = 25
  VALUE( 24,1) = 20
  VALUE( 25,1) = 12
  VALUE( 26,1) = 12
  VALUE( 27,1) = 12
  VALUE( 28,1) = 12
  VALUE( 29,1) = 16
  VALUE( 30,1) = 12
  VALUE( 31,1) = 12
  VALUE( 32,1) = 16

! ---------------------------------------------------------------------------------
! Control tests
! ---------------------------------------------------------------------------------
! Test 1:
! - Frame dimensions
! Test 2:
! - Reinforcement results
! ---------------------------------------------------------------------------------
! Test 1:
  ~CFGET,VALUE( 1,2),Frame,1,H
  ~CFGET,VALUE( 2,2),Frame,1,L
  ~CFGET,VALUE( 3,2),Frame,1,PTH
  ~CFGET,VALUE( 4,2),Frame,1,LTH
  ~CFGET,VALUE( 5,2),Frame,1,STH
  ~CFGET,VALUE( 6,2),Frame,1,LF
  ~CFGET,VALUE( 7,2),Frame,1,RF
  ~CFGET,VALUE( 8,2),Frame,1,HU
  ~CFGET,VALUE( 9,2),Frame,1,VU
  ~CFGET,VALUE( 10,2),Frame,1,HD
  ~CFGET,VALUE( 11,2),Frame,1,VD
  ~CFGET,VALUE( 12,2),Frame,1,HL
  ~CFGET,VALUE( 13,2),Frame,1,HS
  ~CFGET,VALUE( 14,2),Frame,1,FRIC
  ~CFGET,VALUE( 15,2),Frame,1,KFS
  ~CFGET,VALUE( 16,2),Frame,1,REC
! Test 2:
  ~CFGET,VALUE( 17,2),Frame,1,SEP,,,1,2,4
  ~CFGET,VALUE( 18,2),Frame,1,SEP,,,1,2,1
  ~CFGET,VALUE( 19,2),Frame,1,SEP,,,1,2,6
  ~CFGET,VALUE( 20,2),Frame,1,SEP,,,1,2,5
  ~CFGET,VALUE( 21,2),Frame,1,SEP,,,1,3,2
  ~CFGET,VALUE( 22,2),Frame,1,SEP,,,1,1,1
  ~CFGET,VALUE( 23,2),Frame,1,SEP,,,1,1,3
  ~CFGET,VALUE( 24,2),Frame,1,SEP,,,1,3,1
  ~CFGET,VALUE( 25,2),Frame,1,FI,,,1,2,4
  ~CFGET,VALUE( 26,2),Frame,1,FI,,,1,2,1
  ~CFGET,VALUE( 27,2),Frame,1,FI,,,1,2,6
  ~CFGET,VALUE( 28,2),Frame,1,FI,,,1,2,5
  ~CFGET,VALUE( 29,2),Frame,1,FI,,,1,3,2
  ~CFGET,VALUE( 30,2),Frame,1,FI,,,1,1,1
  ~CFGET,VALUE( 31,2),Frame,1,FI,,,1,1,3
  ~CFGET,VALUE( 32,2),Frame,1,FI,,,1,3,1

! Labels
  LABEL( 1) ='H'
  LABEL( 2) ='L'
  LABEL( 3) ='PTH'
  LABEL( 4) ='LTH'
  LABEL( 5) ='STH'
  LABEL( 6) ='LF'
  LABEL( 7) ='RF'
  LABEL( 8) ='HU'
  LABEL( 9) ='VU'
  LABEL( 10) ='HD'
  LABEL( 11) ='VD'
  LABEL( 12) ='HL'
  LABEL( 13) ='HS'
  LABEL( 14) ='FRIC'
  LABEL( 15) ='KFS'
  LABEL( 16) ='REC'
  LABEL( 17) ='SUTRL'   ! Sep Upper transversal reinforcement of the lintel
  LABEL( 18) ='SLTRL'   ! Sep Lower transversal reinforcement of the lintel
  LABEL( 19) ='SULRL'   ! Sep Upper longitudinal reinforcement of the lintel
  LABEL( 20) ='SLLRL'   ! Sep Lower longitudinal reinforcement of the lintel
  LABEL( 21) ='SCLL'    ! Sep Closed stirrups of the lintel
  LABEL( 22) ='SIPLR'   ! Sep Inner piers longitudinal reinforcement
  LABEL( 23) ='SOPLR'   ! Sep Outer piers longitudinal reinforcement
  LABEL( 24) ='SPCS'    ! Sep Piers closed stirrups
  LABEL( 25) ='FUTRL'   ! FI Upper transversal reinforcement of the lintel
  LABEL( 26) ='FLTRL'   ! FI Lower transversal reinforcement of the lintel
  LABEL( 27) ='FULRL'   ! FI Upper longitudinal reinforcement of the lintel
  LABEL( 28) ='FLLRL'   ! FI Lower longitudinal reinforcement of the lintel
  LABEL( 29) ='FCLL'    ! FI Closed stirrups of the lintel
  LABEL( 30) ='FIPLR'   ! FI Inner piers longitudinal reinforcement
  LABEL( 31) ='FOPLR'   ! FI Outer piers longitudinal reinforcement
  LABEL( 32) ='FPCS'    ! FI Piers closed stirrups

! Warning and error tolerances
  *DO,II,1,NComp
    TOLER(II,1)  = 1E-5
    TOLER(II,2)  = 1E-4
  *ENDDO
  TOLER(15,1)  = 1E-1  $ TOLER(15,2)  = 1E-1

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
