CFVR5301 - Tunnel 3D generation
3D Tunnel model generated by CivilFEM with excavation phases
Create a tunnel on a 3D regular terrain model, by modeling the excavation phases.
The cross section of the trusses is a double T.
Only half of the model is created due to its symmetry.
Element types used in the model: MESH200, SOLID45, BEAM188, MESH200, SHELL63 Needed CivilFEM Modules: |
|

| Model Statistics | |
| Number of elements | 10245 |
| Number of nodes | 11249 |
| Number of civil materials | 4 |
| Number of cross sections | 1 |
| Number of shell vertices | 0 |
Log file: CFVR5301.DAT
FINISH ~CFACTIV,GETC,Y ~CFCLEAR,,1 NomFile='CFVR5301' /TITLE, %NomFile%, Tunnel 3D generation ! ------------------------------------------------------------------------------------- ! Initial data ! ------------------------------------------------------------------------------------- ! Geometrical parameters ROut=10 TShotcrete=0.5 TConcrete=0.5 Terr_Height=ROut*4 Terr_Width=ROut*1.5 Tun_advance=10 ! Setup /PREP7 ! Element type ET,1,MESH200,6 ET,2,SOLID45 ET,4,BEAM188,,,2 ET,5,MESH200,0 ET,6,SHELL63 !plate ! Materials ~CFMP,1,LIB,SOIL,,SP ~CFMP,2,LIB,CONCRETE,EC2,C30/37 ~CFMP,3,LIB,CONCRETE,EC2,C40/50 ~CFMP,4,LIB,STEEL,EC3,Fe 430 ! Cross section ~SSECLIB,1,4,15,9 !HD 320 x 127 ! Beam & Shell prop. ~BMSHPRO,1,BEAM,1,1,,,188,1,0,,Beam 1 ! Solid model ! 2D cross section of the tunnel excavation phases CYL4, , ,0, 90,Rout,180 ! Area #1 RECTNG,0,-Terr_Width,-Terr_Height/4,Terr_Height*3/4 ! Area #2 ASBA,2,1 NUMCMP,ALL ! renumber entities CYL4, , ,0, 90,ROut,180 ! Area #2 CYL4, , ,ROut-TShotcrete, 90,ROut,180 ! Area #3 CYL4, , ,ROut-TShotcrete-TConcrete, 90,ROut-TShotcrete,180 ! Area #4 NUMMRG,KP, , , ,LOW ! Mesh areas ! mesh lines of area 5 LDIV,5,0.75 LESIZE,4,Terr_Width/4 LESIZE,6,,,10,4 LESIZE,5,,,20,0.2 LESIZE,1,,,15 LESIZE,2,,,10 LESIZE,3,,,7 LESIZE,7,,,8,4 LESIZE,8,,,8,4 MAT,1 MSHAPE,0,2D MSHKEY,0 AMESH,1,2,1 SMRT,OFF ESIZE,0.25 MAT,2 MSHKEY,1 AMESH,3 MAT,3 MSHKEY,1 AMESH,4 ! Mesh lines of cercha MAT,4 TYPE,3 SECNUM,1 LMESH,13 ! line #13 ! Mesh line of plate R,2,0.01 TYPE,4 REAL,2 MAT,4 LMESH,1 ALLSEL ! capture the cross section ~TN2DIN ! layout of the tunnel ~TNINIP,-1,0,,,-Terr_Height ~TNADDPL,0,60,0,0,0, ~TNADV,10,8,6,4,4,4,6,8,10 ~TNSKTCH,2 ! definition of excavation steps inside the cross section (2D) ! areas ~TSTEP,1,1,2,0,0 ~TSTEP,4,1,3,1,1 ~TSTEP,5,1,4,1,2 ! lines ~TSTEP,2,2,13,1,0 ~TSTEP,3,2, 1,1,0 ! define elements of cercha ~TTRUSS,3,,,, ! Generate 3D geometry and mesh ~TNGEN,2 /NUMBER,1 /PNUM,MAT,1 /VIEW,1,0.7,0.7,0.2 /ZOOM,1,RECT,-0.55,0.002 ,0.460 ,-0.619 CMSEL,s,_TunSolve_10 EPLOT /IMAGE,SAVE,%NomFile%,BMP ALLSEL ESEL,S,TYPE,,2 ! solids *GET,SOLIDS,ELEM,0,COUNT *IF,SOLIDS,GT,9000,THEN SOLIDS=1 *ENDIF ESEL,S,TYPE,,3 ! beams *GET,BEAMS,ELEM,0,COUNT ESEL,S,TYPE,,5 ! shells *GET,SHELLS,ELEM,0,COUNT ALLSEL,ALL *GET,ELEMENT,ELEM,0,COUNT *IF,ELEMENT,GT,9000,THEN ELEMENT=1 *ENDIF cmsel,s,_TunSolve_10 ESEL,R,TYPE,,3 ! beams *GET,BEAMS10,ELEM,0,COUNT cmsel,s,_TunSolve_10 ESEL,R,TYPE,,5 ! shells *GET,SHELLS10,ELEM,0,COUNT cmsel,s,_TunSolve_10 ESEL,R,MAT,,3 *GET,CONCRETE10,ELEM,0,COUNT cmsel,s,_TunSolve_20 ESEL,R,TYPE,,3 ! beams *GET,BEAMS20,ELEM,0,COUNT cmsel,s,_TunSolve_20 ESEL,R,TYPE,,5 ! shells *GET,SHELLS20,ELEM,0,COUNT cmsel,s,_TunSolve_20 ESEL,R,MAT,,3 *GET,CONCRETE20,ELEM,0,COUNT cmsel,s,_TunSolve_30 ESEL,R,TYPE,,3 ! beams *GET,BEAMS30,ELEM,0,COUNT cmsel,s,_TunSolve_30 ESEL,R,TYPE,,5 ! shells *GET,SHELLS30,ELEM,0,COUNT cmsel,s,_TunSolve_30 ESEL,R,MAT,,3 *GET,CONCRETE30,ELEM,0,COUNT !-------------------------------------------------------------------------------------- ! DATA CHECK !-------------------------------------------------------------------------------------- ! Data comparison number NComp = 14 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) = 'ELEMENTS' LABEL( 2) = 'SOLIDS' LABEL( 3) = 'BEAMS' LABEL( 4) = 'BEAMS_10' LABEL( 5) = 'BEAMS_20' LABEL( 6) = 'BEAMS_30' LABEL( 7) = 'SHELLS' LABEL( 8) = 'SHELL_10' LABEL( 9) = 'SHELL_20' LABEL(10) = 'SHELL_30' LABEL(11) = 'CONCR_10' LABEL(12) = 'CONCR_20' LABEL(13) = 'CONCR_30' LABEL(14) = 'NSTEPS' ! Correct data VALUE( 1,1)= 1 VALUE( 2,1)= 1 VALUE( 3,1)= 120 VALUE( 4,1)= 45 VALUE( 5,1)= 90 VALUE( 6,1)= 120 VALUE( 7,1)= 450 VALUE( 8,1)= 180 VALUE( 9,1)= 270 VALUE(10,1)= 450 VALUE(11,1)= 150 VALUE(12,1)= 480 VALUE(13,1)= 900 VALUE(14,1)= 30 ! Obtained data VALUE( 1,2)= ELEMENT VALUE( 2,2)= SOLIDS VALUE( 3,2)= BEAMS VALUE( 4,2)= BEAMS10 VALUE( 5,2)= BEAMS20 VALUE( 6,2)= BEAMS30 VALUE( 7,2)= SHELLS VALUE( 8,2)= SHELLS10 VALUE( 9,2)= SHELLS20 VALUE(10,2)= SHELLS30 VALUE(11,2)= CONCRETE10 VALUE(12,2)= CONCRETE20 VALUE(13,2)= CONCRETE30 VALUE(14,2)= _STEPMAX ! Warning and error tolerances *DO,II,1,14 TOLER(II, 1)= 1E-02 $ TOLER(II, 2)= 1E-02 *ENDDO !-------------------------------------------------------------------------------------- ! Result comparison !-------------------------------------------------------------------------------------- COMPARA.MAC |
Results
| Label | Target | CivilFEM | Ratio | Tolerance |
| ELEMENTS | 1 | 1 | 1.000 | 0.01 |
| SOLIDS | 1 | 1 | 1.000 | 0.01 |
| BEAMS | 120 | 120 | 1.000 | 0.01 |
| BEAMS_10 | 45 | 45 | 1.000 | 0.01 |
| BEAMS_20 | 90 | 90 | 1.000 | 0.01 |
| BEAMS_30 | 120 | 120 | 1.000 | 0.01 |
| SHELLS | 450 | 450 | 1.000 | 0.01 |
| SHELL_10 | 180 | 180 | 1.000 | 0.01 |
| SHELL_20 | 270 | 270 | 1.000 | 0.01 |
| SHELL_30 | 450 | 450 | 1.000 | 0.01 |
| CONCR_10 | 150 | 150 | 1.000 | 0.01 |
| CONCR_20 | 480 | 480 | 1.000 | 0.01 |
| CONCR_30 | 900 | 900 | 1.000 | 0.01 |
| NSTEPS | 30 | 30 | 1.000 | 0.01 |
Contains proprietary and confidential information of Ingeciber, S.A.

