!*****************************************************************************************************!
! TITLE: CFVR5155 - Vehicle loads in a solid bridge model
! SUBTITLE:
!
! DESCRIPTION: The example is a bridge where vehicle loads are defined.
! DESCRIPTION:
! DESCRIPTION: The bridge is made of HA-35 concrete.
! DESCRIPTION:
! DESCRIPTION: The aim of the example is to verify the vehicle loads.
!
! ELEMENT TYPE: SOLID45 SURF154
! MODULES: NLBR
! UNITS: User
! KEYWORD1: Bridge Loads
!
!
!*************************************************************************************!

  FINISH
  ~CFCLEAR,,1
  ~CFACTIV,NLBR,Y
  NomFile='CFVR5155'
  /TITLE, %NomFile%, Surface loads on solid model

! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
  /PREP7

! Materials
  ~CFMP,1,LIB,CONCRETE,EHE,HA-35

! Bridge
  L=10
  a=2
  b=2
  Load = -3.5e3
  K,1,0,0,0
  K,2,L,0,0
  K,3,L,a,0
  K,4,0,a,0
  K,5,0,0,b
  K,6,L,0,b
  K,7,L,a,b
  K,8,0,a,b
  V,1,2,3,4,5,6,7,8

  ET,1,SOLID45
  ET,2,SURF154

  TYPE,1
  ESIZE,1.1*a
  MSHAPE,1,3D
  MSHKEY,0
  VMESH,1

  NSEL,S,LOC,Z,b
  ESLN,S
  TYPE,2
  ESURF
  ESEL,S,ENAME,,154
  CM,DeckE,ELEM
  CM,DeckN,NODE
  CMGRP,DeckGRP,DeckE,DeckN

  ! Vehicle Path.
  LSEL,NONE
  K,10,0,a/2,2*b
  K,20,L/2,a/2,2*b
  K,30,L,a/2,2*b
  L,10,20
  L,20,30
  CM,Path,LINE

  ! LOADS
  /SOLU

  NSEL,S,LOC,X,0
  D,ALL,ALL
  ALLSEL

! Familiy definition.
! The following family will contain all the surface load steps.
! These steps are compatible.
  ~BLFDF,1011, COMPAT  ! Vertical loads
  ~BLFDF,1012, COMPAT  ! Horizontal loads

! Surface load
  ~BLSST, 1011, 1012
    ~BLSA,3,-a/2,0,a/2
    ~BLSB,Load,Path,DeckGRP,0.03,0.0
  ~BLSEND,1

  ~BLSOLVE

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp    = 4
  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)  = 'FZ_1'
  LABEL( 2)  = 'FZ_2'
  LABEL( 3)  = 'FZ_3'
  LABEL( 4)  = 'FZ_4'

! Correct data, obtained data
!--------------------------------------------------------------------------------------
  /POST1
  FZ = L*a*Load
  *DO,II,1,4
    ~CFSET,,II
    FSUM
    VALUE( II,1) = -FZ/4  $  *GET,value( II,2),FSUM,0,ITEM,FZ
  *ENDDO

! Warning and error tolerances
  *DO,II,1,4
    TOLER(II,1) = 1E-1 $  TOLER(II,2) = 1E-1
  *ENDDO

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
