!*****************************************************************************************************!
! TITLE: CFVR5102 - Bridge Stretch
! SUBTITLE:
!
! DESCRIPTION: The example is a bridge with the following geometry:
! DESCRIPTION:
! DESCRIPTION: Plan View
! DESCRIPTION:
! DESCRIPTION: - Straight line: From MP 100 to MP 150.
! DESCRIPTION:
! DESCRIPTION: - Clothoid: From MP 150 (radius = 0) to MP 220 (radius = 70).
! DESCRIPTION:
! DESCRIPTION: - Arc: From MP 220 to MP 285 (radius = 70).
! DESCRIPTION:
! DESCRIPTION: Elevation View
! DESCRIPTION:
! DESCRIPTION: - Straight line: From MP 100 to MP 120 (2% slope).
! DESCRIPTION:
! DESCRIPTION: - Parabola: From MP 120 (4% slope) to MP 200 (-3% slope).
! DESCRIPTION:
! DESCRIPTION: - Straight line: From MP 200 to MP 215 (-3% slope).
! DESCRIPTION:
! DESCRIPTION: - Parabola: From MP 215 (-3% slope) to MP 280 (-1.5% slope).
! DESCRIPTION:
! DESCRIPTION: - Straight line: From MP 280 to MP 285 (-1.5% slope).
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to verify the geometry of a bridge.
!
! ELEMENT TYPE: NONE
! MODULES: NLBR
! UNITS: SI
! KEYWORD1: Bridges
!
!*************************************************************************************!

  FINISH
  ~CFCLEAR,,1
  ~CFACTIV,NLBR,Y
  NomFile='CFVR5102'
  /TITLE, %NomFile%, Bridge Stretch

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP

  ~UNITS,SI
  ~CODESEL,EC3-92,EHE,,,EC8-94

/PREP7
~brang,DEG
~brinip,1,0.50952544949442881051370691125066,0, 80,50,380
~braddpl, 100,150,   0, 0    ! Straight line
~braddpl, 150,220,   0, 70   ! Clothoid
~braddpl, 220,285,  70, 70   ! Arc

~braddel, 100,120, 2 , 2     ! Straight line
~braddel, 120,200, 4 ,-3     ! Parabola
~braddel, 200,215, -3,-3     ! Straight line
~braddel, 215,280, -3,-1.5   ! Parabola
~braddel, 280,285, -1.5,-1.5 ! Straight line

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp    = 26
  NComp_ch = 1

! Marix 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 data, Labels, obtained data
!--------------------------------------------------------------------------------------
   VALUE( 1,1) =  SQRT(70*70)    $     LABEL( 1)  = 'Param 2'
   VALUE( 2,1) =  124.550        $     LABEL( 2)  = 'x 150'
   VALUE( 3,1) =   72.700        $     LABEL( 3)  = 'y 150'
   VALUE( 4,1) =  180.176        $     LABEL( 4)  = 'x 220'
   VALUE( 5,1) =  113.905        $     LABEL( 5)  = 'y 220'
   VALUE( 6,1) =  188.630        $     LABEL( 6)  = 'x 285'
   VALUE( 7,1) =  176.022        $     LABEL( 7)  = 'y 285'

   VALUE( 8,1) =   30.0000*0.9   $     LABEL( 8)  = 'ang 100'
   VALUE( 9,1) =   30.0000*0.9   $     LABEL( 9)  = 'ang 150'
   VALUE(10,1) =   61.8310*0.9   $     LABEL(10)  = 'ang 220'
   VALUE(11,1) =  120.9457*0.9   $     LABEL(11)  = 'ang 285'

   VALUE(12,1) =   380.000       $     LABEL(12)  = 'z 100'
   VALUE(13,1) =   380.400       $     LABEL(13)  = 'z 120'
   VALUE(14,1) =   381.206       $     LABEL(14)  = 'z 150'
   VALUE(15,1) =   380.800       $     LABEL(15)  = 'z 200'
   VALUE(16,1) =   380.203       $     LABEL(16)  = 'z 220'
   VALUE(17,1) =   378.887       $     LABEL(17)  = 'z 280'
   VALUE(18,1) =   378.812       $     LABEL(18)  = 'z 285'

   VALUE(19,1) =   0.01999733397     $     LABEL(19)  = 'ang 100'
   VALUE(20,1) =   0.01999733397     $     LABEL(20)  = 'ang 120-'
   VALUE(21,1) =   0.03997868712     $     LABEL(21)  = 'ang 120+'
   VALUE(22,1) =   0.01374913356     $     LABEL(22)  = 'ang 150'
   VALUE(23,1) =   -0.02999100486    $     LABEL(23)  = 'ang 200'
   VALUE(24,1) =   -0.02882986057    $     LABEL(24)  = 'ang 220'
   VALUE(25,1) =   -0.01499887515    $     LABEL(25)  = 'ang 280'
   VALUE(26,1) =   -0.01499887515    $     LABEL(26)  = 'ang 285'

   ~CFGET,VALUE(1,2),BRIDGE,,STRETCH,PLANT,PARAM,2
   ~BRIQR,VALUE(2,2),150,COOR,X
   ~BRIQR,VALUE(3,2),150,COOR,y
   ~BRIQR,VALUE(4,2),220,COOR,X
   ~BRIQR,VALUE(5,2),220,COOR,y
   ~BRIQR,VALUE(6,2),285,COOR,X
   ~BRIQR,VALUE(7,2),285,COOR,y

   ~BRIQR,VALUE( 8,2),100,ANGLE,H
   ~BRIQR,VALUE( 9,2),150,ANGLE,H
   ~BRIQR,VALUE(10,2),220,ANGLE,H
   ~BRIQR,VALUE(11,2),285,ANGLE,H

   ~BRIQR,VALUE(12,2),100,COOR,Z
   ~BRIQR,VALUE(13,2),120,COOR,Z
   ~BRIQR,VALUE(14,2),150,COOR,Z
   ~BRIQR,VALUE(15,2),200,COOR,Z
   ~BRIQR,VALUE(16,2),220,COOR,Z
   ~BRIQR,VALUE(17,2),280,COOR,Z
   ~BRIQR,VALUE(18,2),285,COOR,Z

   ~BRANG,RAD
   ~BRIQR,VALUE(19,2),100,ANGLE,V
   ~BRIQR,VALUE(20,2),120,ANGLE,V
   ~BRIQR,VALUE(21,2),120.0000001,ANGLE,V
   ~BRIQR,VALUE(22,2),150,ANGLE,V
   ~BRIQR,VALUE(23,2),200,ANGLE,V
   ~BRIQR,VALUE(24,2),220,ANGLE,V
   ~BRIQR,VALUE(25,2),280,ANGLE,V
   ~BRIQR,VALUE(26,2),285,ANGLE,V

    ~BRSKTCH,10

! Warning and error tolerances
  *DO,II,1,NComp
    TOLER(II, 1)= 1E-3
    TOLER(II, 2)= 1E-3
  *ENDDO
  TOLER(  6,1) = 2E-3   $  TOLER(  6,2) = 2E-3

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
