!*****************************************************************************************************!
! TITLE: CFVR5141 - Bridge model creation & mesh
! SUBTITLE:
!
! DESCRIPTION: The example is a bridge with the follow geometry:
! DESCRIPTION:
! DESCRIPTION: Plan View
! DESCRIPTION:
! DESCRIPTION: - Arc: From MP 0 to MP 2*&pi;*200 (radius = -200).
! DESCRIPTION:
! DESCRIPTION: Elevation View
! DESCRIPTION:
! DESCRIPTION: - Straight line: From MP 0 to MP 2*&pi;*200 (0% slope).
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: It has four different sections:
! DESCRIPTION:
! DESCRIPTION: - Section 1 is made of HA-35.
! DESCRIPTION:
! DESCRIPTION: - Section 2 is made of HA-40.
! DESCRIPTION:
! DESCRIPTION: - Section 3 is made of HA-45.
! DESCRIPTION:
! DESCRIPTION: - Section 4 is made of HA-50.
! 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='CFVR5141'
  /TITLE, %NomFile%, Bridge model and elements creation

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
  /PREP7
! Materials
  ~CFMP,10,LIB,CONCRETE,EHE,HA-35
  ~CFMP,20,LIB,CONCRETE,EHE,HA-40
  ~CFMP,30,LIB,CONCRETE,EHE,HA-45
  ~CFMP,40,LIB,CONCRETE,EHE,HA-50
MAT,10

! Bridge Sections
~BRSSLAB,1,RS,10,8 ,2
~BRSSLAB,2,RS,20,8 ,2
~BRSSLAB,3,RS,30,8 ,2
~BRSSLAB,4,RS,40,8 ,2

~BRSDIV,1,SLAB,SIZE,,2

! Bridge Stretch
PI = 3.1415927
Radio = 200
Length = 2*PI*radio
~brinip,0,1,
~braddpl,  0,Length,   -radio,   -radio   !arc
~braddel,  0,Length

ET,1,SOLID95

! Bridge Model

MOPT,QMESH,ALTE

num = 24
*DO,II,0,num
~brdef,Length*II/num,II*3/num+1,0.0,0.0,0.0,,  0,0
*ENDDO

!~BRGEN,Option,ESIZEV,ESIZET,ESIZEL,ESIZEH,
~brgen,   ,2,2,Length/num/1.5
allsel
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp    = 105
  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)  = 'Solid95'
  LABEL( 2)  = 'Surf154'
  LABEL( 3)  = 'Mesh200'
  LABEL( 4)  = 'Num Elem'
  *DO,II,1+4,96+4
   LABEL(II) = 'Cent %II%'
  *ENDDO
  LABEL(101) = 'Num Node'
  LABEL(102) = 'Mat 1'
  LABEL(103) = 'Mat 2'
  LABEL(104) = 'Mat 3'
  LABEL(105) = 'Mat 4'

! Correct data, obtained data
!--------------------------------------------------------------------------------------
  ESEL,S,ENAM,,95
  VALUE( 1,1) = 192              $  *GET,value( 1,2),ELEM,,COUNT
  ESEL,S,ENAM,,154
  VALUE( 2,1) = 192              $  *GET,value( 2,2),ELEM,,COUNT
  ESEL,S,ENAM,,200
  VALUE( 3,1) = 4                $  *GET,value( 3,2),ELEM,,COUNT
  ESEL,ALL
  VALUE( 4,1) = 388              $  *GET,value( 4,2),ELEM,,COUNT
  *DO,II,1+4,96+4
   *GET,cent1x,ELEM,II      ,CENT,X
   *GET,cent2x,ELEM,II+96,CENT,X
   VALUE(II,2) = (cent2x+cent1x)/2
   VALUE(II,1) = Radio
  *ENDDO
  VALUE(101,1) = 1607              $  *GET,value(101,2),NODE,,COUNT
  VALUE(102,1) = 10                $  *GET,value(102,2),ELEM,1,ATTR,MAT
  VALUE(103,1) = 20                $  *GET,value(103,2),ELEM,192/4,ATTR,MAT
  VALUE(104,1) = 30                $  *GET,value(104,2),ELEM,192*3/4,ATTR,MAT
  VALUE(105,1) = 40                $  *GET,value(105,2),ELEM,192,ATTR,MAT

! Warning and error tolerances
   *DO,II,1,NComp
     TOLER(II,1)  = 2E-4
     TOLER(II,2)  = 2E-2
   *ENDDO

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
