!*****************************************************************************************************!
! TITLE: CFVR5131 - Bridge model creation
! SUBTITLE:
!
! DESCRIPTION: The example is a bridge with the follow geometry:
! DESCRIPTION:
! DESCRIPTION: Plan View
! DESCRIPTION:
! DESCRIPTION: - Straight line: From MP 90 to MP 120.
! DESCRIPTION:
! DESCRIPTION: - Clothoid: From MP 120 (radius = 0) to MP 170 (radius = -200).
! DESCRIPTION:
! DESCRIPTION: - Arc: From MP 170 to MP 200 (radius = -200).
! DESCRIPTION:
! DESCRIPTION: Elevation View
! DESCRIPTION:
! DESCRIPTION: - Parabola: From MP 90 (0% slope) to MP 200 (5% slope).
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: It is made of HA-35 concrete. The bridge sections are trapezoidal with holes.
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to verify the geometry of a bridge.
!
! ELEMENT TYPE: SOLID95
! MODULES: NLBR
! UNITS: SI
! KEYWORD1: Bridges
!
!*************************************************************************************!

  FINISH
  ~CFCLEAR,,1
  ~CFACTIV,NLBR,Y
  NomFile='CFVR5131'
  /TITLE, %NomFile%, Bridge model creation

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
  /PREP7
! Materials
  ~CFMP,1,LIB,CONCRETE,EHE,HA-35

! Bridge Sections
  ~BRSSLAB,1,PS,1,6 ,6.2,7.3,8.5,0.7,0.2,0.3,0.1
  ~BRSMDF,1,NAME,,,Main Section
  ~BRHL,1,C,-0.35,-2.75 ,0.25,,9 ,.6875
  ~BRHLMDF,1,6,C,-0.3,0.6875,0.25,
  ~BRHLMDF,1,4,C,-0.3,-0.6875,0.25,
  ~BRHLMDF,1,7,C,-0.4,1.375,0.25,
  ~BRHLMDF,1,3,C,-0.4,-1.375,0.25,
  ~BRHLMDF,1,2,C,-0.3,-2.063,0.25,
  ~BRHLMDF,1,8,C,-0.3,2.063,0.25,
  ~BRMVDL,1,2,3.1
  ~BRMVDL,1,1,3.65
  ~BRMVDL,1,12,-3.65
  ~BRMVDL,1,11,-3.1

  ~BRSGEN,1,2,1,1,1

  ~BRBC,1,ADD,4
  ~BRBC,1,ADD,6
  ~BRBC,1,ADD,7
  ~BRBC,1,ADD,9

  ~BRHLMDF,2,8,C,-0.35,2.063,0.25,
  ~BRHLMDF,2,7,C,-0.35,1.375,0.25,
  ~BRHLMDF,2,6,C,-0.35,0.6875,0.25,
  ~BRHLMDF,2,4,C,-0.35,-0.6875,0.25,
  ~BRHLMDF,2,3,C,-0.35,-1.375,0.25,
  ~BRHLMDF,2,2,C,-0.35,-2.063,0.25,

  ~BRMVDL,2,2,3.1
  ~BRMVDL,2,1,3.65
  ~BRMVDL,2,12,-3.65
  ~BRMVDL,2,11,-3.1


! Bridge Stretch

~brinip,1,
~braddpl, 90,120,   0,   0   ! Straight line
~braddpl,   ,170,   0,-200   ! Clothoid
~braddpl,   ,200,-200,-200   ! Arc

~braddel, 90,200,   0,   5   ! Parabola

ET,1,SOLID95

! Bridge Model

MOPT,QMESH,ALTE

~brdef, 90,1,0.0,-0.5,0.00,,-30,0
~brdef,120,2,0.0,-0.5,0.00,,  0,0
~brdef,145,2,0.0,-0.5,2.50,,  0,0
~brdef,170,2,0.0,-0.5,5.00,,  0,0
~brdef,190,1,0.0,-0.5,2.50,,  0,0

~brgen,s, 0.420, 0.420, 3.00, 0.420
allsel

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp    = 10
  NComp_ch = 0

! 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

! Labels
!--------------------------------------------------------------------------------------
  LABEL( 1)  = 'Num KP'
  LABEL( 2)  = 'Num Line'
  LABEL( 3)  = 'Num Area'
  LABEL( 4)  = 'Num Volu'
  LABEL( 5)  = 'KP 1 X'
  LABEL( 6)  = 'KP 1 Y'
  LABEL( 7)  = 'KP 1 Z'
  LABEL( 8)  = 'KP 330 X'
  LABEL( 9)  = 'KP 330 Y'
  LABEL(10)  = 'KP 330 Z'

! Correct data, obtained data
!--------------------------------------------------------------------------------------
  VALUE( 1,1) = 330              $  *GET,value( 1,2),KP  ,,COUNT
  VALUE( 2,1) = 654              $  *GET,value( 2,2),LINE,,COUNT
  VALUE( 3,1) = 422              $  *GET,value( 3,2),AREA,,COUNT
  VALUE( 4,1) =  88              $  *GET,value( 4,2),VOLU,,COUNT
  VALUE( 5,1) =  2.17            $  *GET,value( 5,2),KP,1,LOC,X
  VALUE( 6,1) =  3.75            $  *GET,value( 6,2),KP,1,LOC,Y
  VALUE( 7,1) = -0.10            $  *GET,value( 7,2),KP,1,LOC,Z
  VALUE( 8,1) =  98.9            $  *GET,value( 8,2),KP,330,LOC,X
  VALUE( 9,1) = -8.72            $  *GET,value( 9,2),KP,330,LOC,Y
  VALUE(10,1) =  1.59            $  *GET,value(10,2),KP,330,LOC,Z

! Warning and error tolerances
  TOLER(  1,1) = 1E-8  $  TOLER(  1,2) = 1E-8
  TOLER(  2,1) = 1E-8  $  TOLER(  2,2) = 1E-8
  TOLER(  3,1) = 1E-8  $  TOLER(  3,2) = 1E-8
  TOLER(  4,1) = 1E-8  $  TOLER(  4,2) = 1E-8
  TOLER(  5,1) = 2E-2  $  TOLER(  5,2) = 2E-2
  TOLER(  6,1) = 2E-3  $  TOLER(  6,2) = 2E-3
  TOLER(  7,1) = 2E-3  $  TOLER(  7,2) = 2E-3
  TOLER(  8,1) = 2E-2  $  TOLER(  8,2) = 2E-2
  TOLER(  9,1) = 2E-3  $  TOLER(  9,2) = 2E-3
  TOLER( 10,1) = 3E-3  $  TOLER( 10,2) = 3E-3

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
