第 5 章 总结与展望
4.8 刀盘轴向受力局部放大图
5.1 论文总结
TBM 虚拟样机建模及分析作为研究 TBM 掘进性能的重要手段,对 TBM 的设计及施 工具有重要的指导及研究意义。本文以建立 TBM 主机虚拟样机模型和研究负载对 TBM 掘进性能影响为目标。在查阅国内外大量的文献的基础上,本文对 TBM 虚拟样机模型的 具体实现进行了详细的分析,在此基础上对岩层带来的滚刀负载特性对 TBM 主机工作性 能的影响进行了初步分析。
论文的主要工作体现在以下几个方面:
1. 基于界面的 TBM 虚拟样机模型的建立
本文首先从 TBM 结构形式和工作原理出发,确定出 TBM 主机的拓扑结构;然后利 用三维造型软件 SolidWorks 和 ANSYS,采用基于界面的方法,分别对机构中的主要零部 件和围岩进行了表达;最后在 ADAMS 软件中集成前面生成的模型库,建立机构之间的连 接和约束关系,得到完整的 TBM 虚拟样机模型,为后续载荷分析奠定基础。
2.TBM 虚拟样机参数化建模
针对本文中建立的 TBM 主机虚拟样机比较复杂,采用基于界面操作的方法在机构参 数进行调整时比较繁琐的特点。本文提出采用参数化的方法,将 TBM 虚拟样机建模过 程完全用参数化的语言进行表达。大大提高了模型的建立速度以及重复修改下的使用率。
TBM 虚拟样机建模参数化主要分为三维造型参数化、围岩有限元参数化、机构零部件元 素连接的参数化。
3.TBM 虚拟样机仿真分析
本文讨论的 TBM 虚拟样机仿真的主要内容是岩石负载对 TBM 掘进状态的影响。岩 石特性主要从两个方面来考虑,分别为均匀岩石和分层分布的岩石断面。掘进状态主要以 TBM 轴向掘进位移,轴向掘进速度,滚刀贯入度以及刀盘面所受岩石的轴向合力四个指 标来衡量。
5.2 研究展望
本文对 TBM 虚拟样机的建模以及仿真研究进行了初步研究,重点放在 TBM 主机虚 拟样机模型的搭建,以及特定初始条件下 TBM 掘进步态的分析,仿真获得了一些成果。
但由于客观条件及作者的个人能力限制,尚有许多工作有待进一步研究与完善。在此,仅 以个人观点,提出一些可以进一步完善的内容:
1. 考虑液压传动链的虚拟样机模型
本文中 TBM 的虚拟样机模型只考虑了主机动力传递系统和刀盘载荷系统,仿真初始 条件是液压缸的推进力,并且是恒力输入。这其实是做了很多简化,首先液压系统和主机 机构系统存在耦合关系。在掘进状态达到稳态过程中,推进力应该是不断调节变化的。为 此在后续研究中可以考虑融合液压系统的虚拟样机模型。
2.TBM 调向过程的模拟
本文所研究的只是 TBM 掘进系统在不同载荷下的运行情况,特别是载荷发生偏离的 时候,在平行于刀盘面力偶的作用下,TBM 刀盘和主梁都会发生偏离。通过虚拟样机可 以对这种情况下的掘进状态进行仿真分析。
3.TBM 虚拟样机刚性假设的局限性
本论文对机构之间动力的传递采用完全刚性假设,而在实际 TBM 掘进过程中,各组 液压缸之间的联接铰链会发生微小的局部变形。在进一步建立更精确虚拟样机模型时,铰 链应该采用柔性建模来代替。
[1] 贾寒飞. 全断面岩石掘进机 [J]. 重工与起重技术, 2005(4) : 5 – 8. integrated design[M]. 武汉 : 华中科技大学出版社, 2011.
[6] 任良超, 王雁军. TBM 在特殊地质地段的调向 [J]. 世界隧道, 1999(3) : 41 – 44.
[7] 杨飞. CCS 项目双护盾硬岩掘进机调向控制及姿态调整 [J]. 四川水力发电, 2014, 33(4) : 21 – 24.
[8] ZHAO K, JANUTOLO M, BARLA G. A completely 3D model for the simulation of mech-anized tunnel excavation[J]. Rock mechanics and rock engineering, 2012, 45(4) : 475 – 497.
[9] SUGIMOTO M, SRAMOON A. Theoretical model of shield behavior during excavation. I:
Theory[J]. Journal of geotechnical and geoenvironmental engineering, 2002, 128(2) : 138 – 155.
[10] ZHANG K, YU H, LIU Z, et al. Dynamic characteristic analysis of TBM tunnelling in mixed-face conditions[J]. Simulation Modelling Practice and Theory, 2010, 18(7) : 1019 – 1031.
[11] KOVÁRI K, STAUS J. Basic considerations on tunnelling in squeezing ground[J]. Rock mechanics and rock engineering, 1996, 29(4) : 203 – 210.
[12] RAMONI M, ANAGNOSTOU G. On the feasibility of TBM drives in squeezing ground[J].
Tunnelling and Underground Space Technology, 2006, 21(3) : 262 – 262.
[13] RAMONI M, ANAGNOSTOU G. Tunnel boring machines under squeezing conditions[J].
Tunnelling and Underground Space Technology, 2010, 25(2) : 139 – 157.
[14] RAMONI M, ANAGNOSTOU G. Thrust force requirements for TBMs in squeezing ground[J]. Tunnelling and Underground Space Technology, 2010, 25(4) : 433 – 455.
[15] RAMONI M, ANAGNOSTOU G. The interaction between shield, ground and tunnel support in TBM tunnelling through squeezing ground[J]. Rock Mechanics and Rock Engineering, 2011, 44(1) : 37 – 61.
[16] 付建飞. TBM 掘进机构动力学分析与研究 [D]. 南昌 : 华东交通大学, 2009.
[24] WANG G G. Definition and review of virtual prototyping[J]. Journal of Computing and In-formation Science in engineering, 2002, 2(3) : 232 – 236.
[25] 王侃, 杨秀梅. 虚拟样机技术综述 [J]. 新技术新工艺, 2008, 3 : 29 – 32.
[26] 刘涛, 赵桂范, 孙以泽. 复杂机械的虚拟样机技术 [J]. 机械设计, 2004, 21(8) : 58 – 59.
[27] VERROUST A, SCHONEK F, ROLLER D. Rule-oriented method for parameterized computer-aided design[J]. Computer-Aided Design, 1992, 24(10) : 531 – 540.
[28] 孟祥旭. 参数化设计模型的研究与实现 [D]. 北京 : 中科院计算机技术研究所, 1998.
[29] 苗燕. 基于 SolidWorks 的液压缸参数化设计 [D]. 沈阳 : 东北大学, 2009.
[30] EVANS I, POMEROY C. The strength, fracture and workability of coal[M]. Oxford : Perg-amon, 1966.
[31] RAD P, SCHMIDT R. 隧道掘进机的研究 [J]. 译. 岩石掘进机译文集. 北京: 科学技术文 献出版社, 1976 : 25 – 33.
[32] 徐小荷, 余静. 岩石破碎学 [M]. 北京 : 煤炭工業出版社, 1984.
[33] 余静. 岩石机械破碎规律和破岩机理模型 [J]. 煤炭学报, 1982, 7(3) : 10 – 18.
[34] ROSTAMI J. Design optimization, performance prediction, and the economic analysis of TBM application for the construction of proposed Yucca Mountain nuclear waste reposi-tory[D]. Golden : Thesis, 1991.
[35] ROSTAMI J. Development of a force estimation model for rock fragmentation with disc cutters through theoretical modeling and physical measurement of crushed zone pressure[D].
Golden : Colorado School of Mines, 1997.
[36] ROSTAMI J, OZDEMIR L, NEIL D M. Application of heavy duty roadheaders for under-ground development of the Yucca Mountain Exploratory Study Facility[C] // Proc. Interna-tional High Level Radioactive Waste Management Conference (HLRWM. 1994 : 22 – 26.
[37] 余伟. 主梁式 TBM 撑靴与不同围岩接触分析 [J]. 科学与财富, 2015, 7(6) : 75 – 76.
[51] 刘萍萍. 面向企业应用的 Solidworks 软件二次开发 [D]. 南京 : 南京理工大学, 2004.
[52] 黄迎春. 基于 SolidWorks 的齿轮参数化设计系统研究 [D]. 大连 : 大连理工大学, 2008.
[53] 龚曙光, 谢桂兰. ANSYS 操作命令与参数化编程 [M]. 北京 : 机械工业出版社, 2004.
[54] ANON. Simulation-Based Analysis of Tunnel Boring Machine Performance in Tunneling Excavation[J/OL]. Journal of Computing in Civil Engineering, 0, 0(0) : 04015073.
http://dx.doi.org/10.1061/(ASCE)CP.1943-5487.0000542.
[55] KECHAGIAS J. An experimental investigation of the surface roughness of parts produced by LOM process[J]. Rapid Prototyping Journal, 2007, 13(1) : 17 – 22.
下面 ADAMS 命令流程序功能是建立 TBM 虚拟样机的参数化模型,由于实际程序段 很长,选取每种功能有代表性的程序说明如下:
1 !**********solidworks assembly parasolid file imput**************
2 !**********all parts rename************************************
3 !--- Default Units for Model ---!
4 !--- 模型初始条件设置,长度毫米、角度度、力牛、质量千克、时间秒---!
5 defaults units &
6 length = mm &
7 angle = deg &
8 force = newton &
9 mass = kg &
10 time = sec
11 !---设置默认坐标系为笛卡尔313欧拉坐标系---!
12 defaults units &
13 coordinate_system_type = cartesian &
14 orientation_type = body313
15 !--- Model Specific Colors ---!
16 !--- Default Attributes for Model ---!
17 !---设置模型中约束副显示的比例尺---!
18 defaults attributes &
19 inheritance = bottom_up &
20 icon_visibility = on &
21 grid_visibility = off &
22 size_of_icons = 500.0 &
23 spacing_for_grid = 1000.0
24 !
25 !--- Adams/View Model ---!
26 !
27 model create &
28 model_name = juejin
29 !--- Materials ---!
30 !---设置零件的密度为7.8*E-6kg/mm**3---!
31 material create &
32 material_name = .juejin.steel &
33 adams_id = 1 &
34 youngs_modulus = 2.07E+005 &
35 poissons_ratio = 0.29 &
36 density = 7.801E-006
37 !
38 !---input solidworks
parasolid---39 file parasolid read &
40 file_name = "E:/solidworks_file/quanbu201512/parasolid_zhuangpei_0108.x_t" &
41 type = ASCII &
42 model_name = .juejin
43 !--- Rigid Parts ---!
44 !---创建主梁和连接销轴之间的转动副---!
45 ! Create parts and their dependent markers and graphics
46 !---*********constraint create
joint20***********---47 !define variable cm of chengxuekuaishizixioazhou to center L1_cxszxz:176.785 L_cxszxz :400+160
48 variable create variable_name=L1_cxszxz Real_value=176.785
49 variable create variable_name=L_cxszxz Real_value=(eval(400+160))
50 !---revolute constraint create joint20
---51 marker create marker=.juejin.PART18_shizixiaozhou_youshang_qian.MARKER_40 &
52 adams_id=6 &
53 location=(LOC_RELATIVE_TO({0,0,-1*L_cxszxz+L1_cxszxz}, .juejin.
PART18_shizixiaozhou_youshang_qian.cm)) &
54 orientation=0,-90,0&
55 relative_to=.juejin.PART18_shizixiaozhou_youshang_qian.cm
56 marker create marker=.juejin.PART2_zhuliang.MARKER_39 &
57 adams_id=7 &
62 constraint create joint revolute &
63 joint_name = .juejin.JOINT_20_tuijingang_youshangqian_1 &
64 adams_id = 20 &
65 i_marker_name = .juejin.PART2_zhuliang.MARKER_39 &
66 j_marker_name = .juejin.PART18_shizixiaozhou_youshang_qian.MARKER_40
67 !
68 !--- Joint Primitives ---!
69 !---*********constraint create
JPRIM_1***********---70 marker create marker=.juejin.PART15_niujugang_zuohou_rod.MARKER_239 &
71 location=0,0,0 &
72 orientation=0,90,0&
73 relative_to=.juejin.PART15_niujugang_zuohou_rod.cm
74 marker create marker=.juejin.PART3_anjia.MARKER_240 &
75 location=0,0,0 &
76 orientation=-90,0,0&
77 relative_to=.juejin.PART15_niujugang_zuohou_rod.cm
78 !
79 constraint create primitive_joint perpendicular &
80 jprim_name = .juejin.JPRIM_1 &
81 adams_id = 1 &
82 i_marker_name = .juejin.PART15_niujugang_zuohou_rod.MARKER_239 &
83 j_marker_name = .juejin.PART3_anjia.MARKER_240
84 !---设置推进力参数---!
85 variable create variable_name=dia_tuijin Real_value=572
86 variable modify variable_name=dia_tuijin Real_value=430
87 variable create variable_name=pressure_tuijin Real_value=250
88 variable create variable_name=force_tuijin Real_value=(eval(PI*pressure_tuijin*
dia_tuijin**2/40))
89 variable create variable_name=area_niuju Real_value=(eval(7.22*25.4**2))
90 variable create variable_name=pressure_niuju Real_value=0
91 variable create variable_name=force_niuju Real_value=(eval(pressure_niuju*area_niuju /145))
92 variable create variable_name=dia_chengxue Real_value=560
93 variable create variable_name=pressure_chengxue Real_value=240
94 variable create variable_name=force_chengxue Real_value=(eval(PI*pressure_chengxue*
dia_chengxue**2/40))
95 !--- Accgrav ---!
96 !---设置重力场 ---!
97 force create body gravitational &
98 gravity_field_name = ACCGRAV_1 &
99 x_component_gravity = 0.0 &
100 y_component_gravity = -9806.65 &
101 z_component_gravity = 0.0
102 !
103 !---sforce_2_tuijin_zuoxia---!
104 !---设置推进力大小 ---!
105 !
106 marker create &
107 marker_name = .juejin.PART28_tuijingangzuoxia_ti.MARKER_259 &
108 adams_id = 259 &
109 location = (LOC_RELATIVE_TO({0,0,0}, .juejin.PART28_tuijingangzuoxia_ti.cm)) &
110 orientation = 0.0d, 0.0d, 0.0d
111 !
112 marker create &
113 marker_name = .juejin.PART27_tuijingangzuoxia_rod.MARKER_260 &
114 adams_id = 260 &
115 location = (LOC_RELATIVE_TO({0,0,0}, .juejin.PART27_tuijingangzuoxia_rod.cm)) &
116 orientation = 0.0d, 0.0d, 0.0d
117 !
118 force create direct single_component_force &
119 single_component_force_name = .juejin.SFORCE_2_tuijin_zuoxia &
120 adams_id = 2 &
121 type_of_freedom = translational &
122 i_marker_name = .juejin.PART28_tuijingangzuoxia_ti.MARKER_259 &
123 j_marker_name = .juejin.PART27_tuijingangzuoxia_rod.MARKER_260 &
124 action_only = off &
125 function = ".juejin.force_tuijin"
126 !
127 !--- variable define for daopan load ---!
128 !---设置滚刀负载 ---!
129 variable create variable_name=C_constant Real_value=2.12
130 variable create variable_name=radius_disc Real_value=216
131 variable create variable_name=T_disc Real_value=14
132 variable create variable_name=L_deepth Real_value=10
133 variable create variable_name=psi_disc Real_value=0.1
134 variable create variable_name=phi_disc Real_value=(eval(acos((radius_disc-L_deepth)/
radius_disc)/180*PI))
135 variable create variable_name=dphi_disc Real_value=(eval(acos((radius_disc-L_deepth)/
radius_disc)))
136 variable create variable_name=sigma_t Real_value=26
137 variable create variable_name=sigma_c Real_value=150
138 variable create variable_name=S_disc integer_value=84
139 variable create variable_name=F1 Real_value=(eval((C_constant*radius_disc*T_disc)/(1+
psi_disc)))
140 variable create variable_name=F2 Real_value=(eval(((S_disc*sigma_c**2*sigma_t)/(SQRT(
radius_disc*T_disc)))**(1/3)))
141 variable create variable_name=Fconstant Real_value=(eval(F1*F2))
142 variable create variable_name=F_V Real_value=(eval(Fconstant*cos(dphi_disc/2)*phi_disc
**(2/3)))
143 variable create variable_name=F_R Real_value=(eval(Fconstant*sin(dphi_disc/2)*phi_disc
**(2/3)))
144 variable create variable_name=F_V2 Real_value=10
145 variable create variable_name=F_R2 Real_value=5
146 !****************vFORCE****gundaozaihe *****************
147 !****************daopan R:3450 DEEPTH:900 L:CM-HOU=458.378 L2
=900-458.378=441.622*****************
148 !change coordination system to cylinderical
149 defaults units &
150 coordinate_system_type = cartesian &
151 orientation_type = body313
152 !
153 !define RUNL_deepth
154 !--- Equations ---!
155 !
156 part create equation differential_equation &
157 differential_equation_name = .juejin.h &
158 adams_id = 1 &
159 initial_condition = 0.0 &
160 function = "-1*VX(.juejin.PART47_daopanmian.MARKER_301)-WX(.juejin.
PART47_daopanmian.MARKER_301)*DIF(.juejin.h)"&
161 implicit = off &
162 static_hold = off
163 !--- ground ---!
164 !
165 variable create variable_name=ip integer_value=0
166 variable create variable_name=radius_daopan integer_value=3450
167 variable create variable_name=NUM integer_value=1
168 variable create variable_name=NUM_daopan integer_value=1
169 while condition=(NUM<11)
170 variable modify variable_name=radius_daopan integer_value=(eval(3450/5*NUM_daopan))
171 floating_marker create &
172 floating_marker_name = (eval(".juejin.ground.FMARKER_"//(eval(8000+2*NUM)))) &
173 adams_id = (eval(8000+2*NUM))
174 !
175 marker create &
176 marker_name =(eval(".juejin.PART47_daopanmian.MARKER_"//(eval(7999+2*NUM)))) &
177 adams_id = (eval(7999+2*NUM)) &
178 location =(LOC_RELATIVE_TO({L1_dpm-L_dpm,(eval(radius_daopan*COS(NUM*36d))),(eval(
radius_daopan*SIN(NUM*36d)))}, .juejin.PART47_daopanmian.cm))&
179 orientation = (ori_relative_to({0.0d, (eval(NUM*36d)), 0.0d},.juejin.
PART47_daopanmian.cm)) &
180 reference_marker_name = .juejin.PART47_daopanmian.cm
181 !
182 measure create point &
183 measure_name = (eval(".juejin.MEA_MARy_"//(eval(7999+2*NUM)))) &
184 point = (eval(".juejin.PART47_daopanmian.MARKER_"//(eval(7999+2*NUM)))) &
185 characteristic = translational_displacement &
186 component = y_component &
187 create_measure_display = no
188 !
189 force create direct force_vector &
190 force_vector_name = (eval(".juejin.VFORCE_"//(eval(1+ip)))) &
191 adams_id =(eval(30+ip)) &
192 i_marker_name = (eval(".juejin.PART47_daopanmian.MARKER_"//(eval(7999+2*NUM)))) &
193 j_floating_marker_name = (eval(".juejin.ground.FMARKER_"//(eval(8000+2*NUM)))) &
194 ref_marker_name = (eval(".juejin.PART47_daopanmian.MARKER_"//(eval(7999+2*NUM)))) &
195 x_force_function = ".juejin.RunF_V" &
196 y_force_function = "0" &
197 z_force_function = ".juejin.RunF_R"
198 !
199 variable modify variable_name=ip integer_value=(eval(ip+1))
200 variable modify variable_name=NUM integer_value=(eval(NUM+1))
201 end
202 variable modify variable_name=NUM_daopan integer_value=(eval(NUM_daopan+1))
203 !
204 !---sFORCE--- 12Forces_dianji_torque
---205 force create direct single_component_force &
206 single_component_force_name = .juejin.SFORCE_12_dianji &
207 adams_id = 12 &
208 type_of_freedom = rotational &
209 i_marker_name = .juejin.PART47_daopanmian.MARKER_10279 &
210 j_marker_name = .juejin.PART2_zhuliang.MARKER_10280 &
211 action_only = off &
212 function = ""
213 !
214 variable create variable_name=torque_dianji Real_value=5E+004
215 variable modify variable_name=torque_dianji Real_value=-4.0095E+009
216 force modify direct single_component_force &
217 single_component_force_name = .juejin.SFORCE_12_dianji &
218 !function = "1.6E+007"
219 function = ".juejin.torque_dianji"
220 !**********************motion
221 constraint create motion_generator &
222 adams_id=1&
223 motion_name = .juejin.Translation1_MOTION &
224 joint_name = JOINT_70_zhuliang_daopanmian &
225 type_of_freedom = translation &
226 time_derivative=displacement &
227 function = "0*time" &
228 displacement_ic = 0&
229 velocity_ic = 0
230 !--- Contacts ---!
231 contact create &
232 contact_name = .juejin.CONTACT_1 &
233 adams_id = 1 &
234 i_flex = .juejin.FLEX_BODY_1 &
235 j_geometry_name = .juejin.hudun.SOLID44 &
236 stiffness = 1.0E+005 &
237 damping = 10.0 &
238 exponent = 2.2 &
239 dmax = 0.1
240 !