CFVR5152 - Vehicle on beam model
The example is a beam bridge where vehicle loads are defined.
The bridge is made of HA-35 concrete. It has a rectangular cross section 3 x 4.3
The aim of the example is to verify the vehicle loads.
Element types used in the model: BEAM44 Needed CivilFEM Modules: |
|
| Model Statistics | |
| Number of elements | 3 |
| Number of nodes | 4 |
| Number of civil materials | 1 |
| Number of cross sections | 1 |
| Number of shell vertices | 0 |
Log file: CFVR5152.DAT
FINISH ~CFCLEAR,,1 ~CFACTIV,NLBR,Y NomFile='CFVR5152' /TITLE, %NomFile%, Vehicle on beam model ! ------------------------------------------------------------------------------------- ! Initial data ! ------------------------------------------------------------------------------------- /PREP7 LOCAL,11,0,21.2,33.2,54.7,10.5,3.2,-90 CSYS,11 ! Materials ~CFMP,1,LIB,CONCRETE,EHE,HA-35 ! Section and Beam & Shell Prop. ~CSECDMS,1,REC,1,3,4.3 ~BMSHPRO,1,BEAM,1,1,,,44,1,0,,Beam 1 ! Bridge N,10,0,0 N,20,4,0 N,30,8,3 N,40,8,7 ET,1,BEAM44 TYPE,1 E,10,20 E,20,30 E,30,40 CM,TSTDeckE,ELEM CM,TSTDeckN,NODE CMGRP,TSTDeck,TSTDeckE,TSTDeckN ! Vehicle Path. K,10,0,0 K,20,4,0 K,30,8,3 K,40,8,7+5 L,10,20 L,20,30 L,30,40 CM,TSTSktck,LINE ! LOADS /SOLU /sys,del file.s* ALLS ! Family definition. ! The following families will contain all the vehicle steps. ! These steps are incompatible (the vehicle can only be in one position at a time). ~BLFDF,1001, INCOMPAT ! Vertical loads ~BLFDF,1002, INCOMPAT ! Horizontal loads (Breaking, acceleration, etc.) ! Vehicle number 15 ~BLVST,15 ~BLVA, 1 ~BLVB, 1 ! BLVC, Type, d, start, end, PosCx, PosCy ~BLVC, 0,4,0,0,0,0 ! BLVD,j,Ini, P(Ini,j),P(Ini+1,j),...,P(Ini+k,j) ~BLVD, 1, 1, -1e4 ~BLVEND ALLS ! Attach the vehicle to the family. ! ~BLVR, Id_Fam, Id_FamH, Id_Vehicle, CompLine, CompDeck, Dist, HL, HLMin ~BLVR,1001,1002,15,TSTSktck,TSTDeck,-2.0,0.20,0 !-------------------------------------------------------------------------------------- ! DATA CHECK !-------------------------------------------------------------------------------------- ! Data comparison number NComp = 52 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) = 'N_Vehic' LABEL( 2) = 'D_' LABEL( 3) = 'Q(1,1)' LABEL( 4) = 'CSP(2)' LABEL( 5) = 'F_Type' LABEL( 6) = 'F_Stts' LABEL( 7) = 'FZ' LABEL( 8) = 'MX' LABEL( 9) = 'FZ' LABEL(10) = 'MX' LABEL(11) = 'FZ' LABEL(12) = 'MX' LABEL(13) = 'FZ' LABEL(14) = 'MX' LABEL(15) = 'FZ' LABEL(16) = 'MX' LABEL(17) = 'MY' LABEL(18) = 'FZ' LABEL(19) = 'MX' LABEL(20) = 'MY' LABEL(21) = 'FZ' LABEL(22) = 'MX' LABEL(23) = 'MY' LABEL(24) = 'FZ' LABEL(25) = 'MX' LABEL(26) = 'MY' LABEL(27) = 'FZ' LABEL(28) = 'MX' LABEL(29) = 'MY' LABEL(30) = 'FZ' LABEL(31) = 'MX' LABEL(32) = 'MY' LABEL(33) = 'FX' LABEL(34) = 'FY' LABEL(35) = 'FX' LABEL(36) = 'FX' LABEL(37) = 'FY' LABEL(38) = 'FX' LABEL(39) = 'FY' LABEL(40) = 'FZ' LABEL(41) = 'FX' LABEL(42) = 'FY' LABEL(43) = 'FX' LABEL(44) = 'FY' LABEL(45) = 'FX' LABEL(46) = 'FY' LABEL(47) = 'FX' LABEL(48) = 'FY' LABEL(49) = 'FX' LABEL(50) = 'FY' LABEL(51) = 'FX' LABEL(52) = 'FY' ! Correct data, obtained data !-------------------------------------------------------------------------------------- /SOLU VALUE( 1,1) = 1 $ ~CFGET,value( 1,2),BRIDGE,,VEHICLE,NUMBER VALUE( 2,1) = 4.0 $ ~CFGET,value( 2,2),BRIDGE,,VEHICLE,D,,15 VALUE( 3,1) = -10000 $ ~CFGET,value( 3,2),BRIDGE,,VEHICLE,Q,,15,1,1 VALUE( 4,1) = 1 $ ~CFGET,value( 4,2),BRIDGE,,VEHICLE,ROWS,,15 VALUE( 5,1) = 3 $ ~CFGET,value( 5,2),BRIDGE,,FAMILY,TYPE,,1002 VALUE( 6,1) = 5 $ ~CFGET,value( 6,2),BRIDGE,,FAMILY,NSTATES,,1001 fdele,all,all sfedele,all,all,all ddele,all,all lsread,1 VALUE( 7,1) = -10000 $ *GET,value( 7,2), NODE,10,F,FZ VALUE( 8,1) = 20000 $ *GET,value( 8,2), NODE,10,F,MX VALUE( 9,1) = 0.0 $ *GET,value( 9,2), NODE,20,F,FZ VALUE(10,1) = 0.0 $ *GET,value(10,2), NODE,20,F,MX fdele,all,all sfedele,all,all,all ddele,all,all lsread,2 VALUE(11,1) = 0.0 $ *GET,value(11,2), NODE,10,F,FZ VALUE(12,1) = 0.0 $ *GET,value(12,2), NODE,10,F,MX VALUE(13,1) = -10000 $ *GET,value(13,2), NODE,20,F,FZ VALUE(14,1) = 20000 $ *GET,value(14,2), NODE,20,F,MX fdele,all,all sfedele,all,all,all ddele,all,all lsread,3 VALUE(15,1) = -4667 $ *GET,value(15,2), NODE,20,F,FZ VALUE(16,1) = 7467 $ *GET,value(16,2), NODE,20,F,MX VALUE(17,1) = 5600 $ *GET,value(17,2), NODE,20,F,MY VALUE(18,1) = -5333 $ *GET,value(18,2), NODE,30,F,FZ VALUE(19,1) = 8533 $ *GET,value(19,2), NODE,30,F,MX VALUE(20,1) = 6400 $ *GET,value(20,2), NODE,30,F,MY fdele,all,all sfedele,all,all,all ddele,all,all lsread,4 VALUE(21,1) = -10000 $ *GET,value(21,2), NODE,30,F,FZ VALUE(22,1) = 3333 $ *GET,value(22,2), NODE,30,F,MX VALUE(23,1) = 20000 $ *GET,value(23,2), NODE,30,F,MY VALUE(24,1) = 0.0 $ *GET,value(24,2), NODE,40,F,FZ VALUE(25,1) = 0.0 $ *GET,value(25,2), NODE,40,F,MX VALUE(26,1) = 0.0 $ *GET,value(26,2), NODE,40,F,MY fdele,all,all sfedele,all,all,all ddele,all,all lsread,5 VALUE(27,1) = -833 $ *GET,value(27,2), NODE,30,F,FZ VALUE(28,1) = 0.0 $ *GET,value(28,2), NODE,30,F,MX VALUE(29,1) = 1667 $ *GET,value(29,2), NODE,30,F,MY VALUE(30,1) = -9167 $ *GET,value(30,2), NODE,40,F,FZ VALUE(31,1) = 0.0 $ *GET,value(31,2), NODE,40,F,MX VALUE(32,1) = 18333 $ *GET,value(32,2), NODE,40,F,MY fdele,all,all sfedele,all,all,all ddele,all,all lsread,6 VALUE(33,1) = -2000 $ *GET,value(33,2), NODE,10,F,FX VALUE(34,1) = 0.0 $ *GET,value(34,2), NODE,10,F,FY VALUE(35,1) = 0.0 $ *GET,value(35,2), NODE,20,F,FX VALUE(36,1) = 0.0 $ *GET,value(36,2), NODE,20,F,FY fdele,all,all sfedele,all,all,all ddele,all,all lsread,7 VALUE(37,1) = 0.0 $ *GET,value(37,2), NODE,10,F,FX VALUE(38,1) = 0.0 $ *GET,value(38,2), NODE,10,F,FY VALUE(39,1) = -2000 $ *GET,value(39,2), NODE,20,F,FX VALUE(40,1) = 0.0 $ *GET,value(40,2), NODE,20,F,FY fdele,all,all sfedele,all,all,all ddele,all,all lsread,8 VALUE(41,1) = -747 $ *GET,value(41,2), NODE,20,F,FX VALUE(42,1) = -560 $ *GET,value(42,2), NODE,20,F,FY VALUE(43,1) = -853 $ *GET,value(43,2), NODE,30,F,FX VALUE(44,1) = -640 $ *GET,value(44,2), NODE,30,F,FY fdele,all,all sfedele,all,all,all ddele,all,all lsread,9 VALUE(45,1) = 0.0 $ *GET,value(45,2), NODE,20,F,FX VALUE(46,1) = 0.0 $ *GET,value(46,2), NODE,20,F,FY VALUE(47,1) = 0.0 $ *GET,value(47,2), NODE,30,F,FX VALUE(48,1) = -2000 $ *GET,value(48,2), NODE,30,F,FY fdele,all,all sfedele,all,all,all ddele,all,all lsread,10 VALUE(49,1) = 0.0 $ *GET,value(49,2), NODE,30,F,FX VALUE(50,1) = -167 $ *GET,value(50,2), NODE,30,F,FY VALUE(51,1) = 0.0 $ *GET,value(51,2), NODE,40,F,FX VALUE(52,1) = -1833 $ *GET,value(52,2), NODE,40,F,FY ! Warning and error tolerances TOLER( 1,1) = 1E-02 $ TOLER( 1,2) = 1E-02 TOLER( 2,1) = 1E-02 $ TOLER( 2,2) = 1E-02 TOLER( 3,1) = 1E-00 $ TOLER( 3,2) = 1E-00 TOLER( 4,1) = 1E-02 $ TOLER( 4,2) = 1E-02 TOLER( 5,1) = 1E-02 $ TOLER( 5,2) = 1E-02 TOLER( 6,1) = 1E-02 $ TOLER( 6,2) = 1E-02 TOLER( 7,1) = 1E-00 $ TOLER( 7,2) = 1E-00 TOLER( 8,1) = 1E-00 $ TOLER( 8,2) = 1E-00 TOLER( 9,1) = 1E-02 $ TOLER( 9,2) = 1E-02 TOLER( 10,1) = 1E-02 $ TOLER( 10,2) = 1E-02 TOLER( 11,1) = 1E-02 $ TOLER( 11,2) = 1E-02 TOLER( 12,1) = 1E-02 $ TOLER( 12,2) = 1E-02 TOLER( 13,1) = 1E-00 $ TOLER( 13,2) = 1E-00 TOLER( 14,1) = 1E-00 $ TOLER( 14,2) = 1E-00 TOLER( 15,1) = 1E-00 $ TOLER( 15,2) = 1E-00 TOLER( 16,1) = 1E-00 $ TOLER( 16,2) = 1E-00 TOLER( 17,1) = 1E-00 $ TOLER( 17,2) = 1E-00 TOLER( 18,1) = 1E-00 $ TOLER( 18,2) = 1E-00 TOLER( 19,1) = 1E-00 $ TOLER( 19,2) = 1E-00 TOLER( 20,1) = 1E-00 $ TOLER( 20,2) = 1E-00 TOLER( 21,1) = 1E-00 $ TOLER( 21,2) = 1E-00 TOLER( 22,1) = 1E-00 $ TOLER( 22,2) = 1E-00 TOLER( 23,1) = 1E-00 $ TOLER( 23,2) = 1E-00 TOLER( 24,1) = 1E-02 $ TOLER( 24,2) = 1E-02 TOLER( 25,1) = 1E-02 $ TOLER( 25,2) = 1E-02 TOLER( 26,1) = 1E-02 $ TOLER( 26,2) = 1E-02 TOLER( 27,1) = 1E-00 $ TOLER( 27,2) = 1E-00 TOLER( 28,1) = 1E-02 $ TOLER( 28,2) = 1E-02 TOLER( 29,1) = 1E-00 $ TOLER( 29,2) = 1E-00 TOLER( 30,1) = 1E-00 $ TOLER( 30,2) = 1E-00 TOLER( 31,1) = 1E-02 $ TOLER( 31,2) = 1E-02 TOLER( 32,1) = 1E-00 $ TOLER( 32,2) = 1E-00 TOLER( 33,1) = 1E-00 $ TOLER( 33,2) = 1E-00 TOLER( 34,1) = 1E-02 $ TOLER( 34,2) = 1E-02 TOLER( 35,1) = 1E-02 $ TOLER( 35,2) = 1E-02 TOLER( 36,1) = 1E-02 $ TOLER( 36,2) = 1E-02 TOLER( 37,1) = 1E-02 $ TOLER( 37,2) = 1E-02 TOLER( 38,1) = 1E-02 $ TOLER( 38,2) = 1E-02 TOLER( 39,1) = 1E-00 $ TOLER( 39,2) = 1E-00 TOLER( 40,1) = 1E-02 $ TOLER( 40,2) = 1E-02 TOLER( 41,1) = 1E-00 $ TOLER( 41,2) = 1E-00 TOLER( 42,1) = 1E-00 $ TOLER( 42,2) = 1E-00 TOLER( 43,1) = 1E-00 $ TOLER( 43,2) = 1E-00 TOLER( 44,1) = 1E-00 $ TOLER( 44,2) = 1E-00 TOLER( 45,1) = 1E-02 $ TOLER( 45,2) = 1E-02 TOLER( 46,1) = 1E-02 $ TOLER( 46,2) = 1E-02 TOLER( 47,1) = 1E-02 $ TOLER( 47,2) = 1E-02 TOLER( 48,1) = 1E-00 $ TOLER( 48,2) = 1E-00 TOLER( 49,1) = 1E-02 $ TOLER( 49,2) = 1E-02 TOLER( 50,1) = 1E-00 $ TOLER( 50,2) = 1E-00 TOLER( 51,1) = 1E-02 $ TOLER( 51,2) = 1E-02 TOLER( 52,1) = 1E-00 $ TOLER( 52,2) = 1E-00 ! Clear LS Files. /sys,del file.s* !-------------------------------------------------------------------------------------- ! Results comparison !-------------------------------------------------------------------------------------- COMPARA.MAC |
Results
| Label | Target | CivilFEM | Ratio | Tolerance |
| N_Vehic | 1 | 1 | 1.000 | 0.01 |
| D_ | 4 | 4 | 1.000 | 0.01 |
| Q(1,1) | -10000 | -10000 | 1.000 | 1 |
| CSP(2) | 1 | 1 | 1.000 | 0.01 |
| F_Type | 3 | 3 | 1.000 | 0.01 |
| F_Stts | 5 | 5 | 1.000 | 0.01 |
| FZ | -10000 | -10000 | 1.000 | 1 |
| MX | 20000 | 20000 | 1.000 | 1 |
| FZ | 0 | 0 | 0.000 | 0.01 |
| MX | 0 | 0 | 0.000 | 0.01 |
| FZ | 0 | 6.6613e-012 | 0.000 | 0.01 |
| MX | 0 | -1.3323e-011 | 0.000 | 0.01 |
| FZ | -10000 | -10000 | 1.000 | 1 |
| MX | 20000 | 20000 | 1.000 | 1 |
| FZ | -4667 | -4666.7 | 1.000 | 1 |
| MX | 7467 | 7466.7 | 1.000 | 1 |
| MY | 5600 | 5600 | 1.000 | 1 |
| FZ | -5333 | -5333.3 | 1.000 | 1 |
| MX | 8533 | 8533.3 | 1.000 | 1 |
| MY | 6400 | 6400 | 1.000 | 1 |
| FZ | -10000 | -10000 | 1.000 | 1 |
| MX | 3333 | 3333.3 | 1.000 | 1 |
| MY | 20000 | 20000 | 1.000 | 1 |
| FZ | 0 | 0 | 0.000 | 0.01 |
| MX | 0 | 0 | 0.000 | 0.01 |
| MY | 0 | 0 | 0.000 | 0.01 |
| FZ | -833 | -833.33 | 1.000 | 1 |
| MX | 0 | -7.4015e-013 | 0.000 | 0.01 |
| MY | 1667 | 1666.7 | 1.000 | 1 |
| FZ | -9167 | -9166.7 | 1.000 | 1 |
| MX | 0 | -8.1416e-012 | 0.000 | 0.01 |
| MY | 18333 | 18333 | 1.000 | 1 |
| FX | -2000 | -2000 | 1.000 | 1 |
| FY | 0 | -5.7097e-013 | 0.000 | 0.01 |
| FX | 0 | 0 | 0.000 | 0.01 |
| FX | 0 | 0 | 0.000 | 0.01 |
| FY | 0 | 1.3323e-012 | 0.000 | 0.01 |
| FX | 0 | 3.8034e-028 | 0.000 | 0.01 |
| FY | -2000 | -2000 | 1.000 | 1 |
| FZ | 0 | -5.7097e-013 | 0.000 | 0.01 |
| FX | -747 | -746.67 | 1.000 | 1 |
| FY | -560 | -560 | 1.000 | 1 |
| FX | -853 | -853.33 | 1.000 | 1 |
| FY | -640 | -640 | 1.000 | 1 |
| FX | 0 | 0 | 0.000 | 0.01 |
| FY | 0 | 0 | 0.000 | 0.01 |
| FX | 0 | 7.1054e-013 | 0.000 | 0.01 |
| FY | -2000 | -2000 | 1.000 | 1 |
| FX | 0 | 5.9212e-014 | 0.000 | 0.01 |
| FY | -167 | -166.67 | 1.002 | 1 |
| FX | 0 | 6.5133e-013 | 0.000 | 0.01 |
| FY | -1833 | -1833.3 | 1.000 | 1 |
Contains proprietary and confidential information of Ingeciber, S.A.

