謝尚賢臺灣大學:土木工程學研究所楊承道Yang, Cheng-TaoCheng-TaoYang2007-11-252018-07-092007-11-252018-07-092004http://ntur.lib.ntu.edu.tw//handle/246246/50582本研究主要的目的,是要開發一個可以混合處理多種離散物件間的力學交互作用和多種形狀的離散物件模型的模擬系統原型。為了能夠完成這個目標,我們完成了四項主要的工作: (1)利用物件導向的設計模式(Design Partten) 開發出一個具高度彈性的離散物件模擬系統的軟體架構 VEDO。這個軟體架構可以同時處理多種相異的離散物件的數值模型以及離散物件間的交互作用,而且其在設計上更保留彈性,使得新的幾何形狀與求解演算法,可以很容易與既有的系統整合在一起。 (2)利用XML 相關技術開發出一套離散物件模擬標示語言。這套標示語言可以用來描述離散物件模擬問題,所包含的數值模型與記錄模擬結果,有利於研究者保存與分享資訊與加快相關應用程式的開發。(3) 討論與開發一些基礎的離散物件幾何模型及相關的演算法。這些基礎的幾何模型包含球、圓柱、薄板與多面體。另外也討論如何產生起始狀態與提昇演算效率的策略。 (4) 實作出一個離散物件模擬系統原型名為Knight&Anne,並利用多個應用範例來驗證這個原型系統之設計與實作的正確性與展示其軟體架構的彈性。This study aims to prototype a versatile discrete object simulation system, which is one that can simultaneously handle discrete objects of various shapes with various interaction mechanisms. To achieve this, four major tasks have been done: (1) An Object-Oriented framework, named VEDO, for versatile discrete objects simulation using design patterns has been developed. VEDO is capable of handling simultaneously numerous mathematical models for representing discrete objects and solution algorithms for representing interactions among discrete objects. It also has great flexibility in facilitating additions of new discrete object shapes and solution algorithms for discrete object interactions. (2) An XML-based markup language, named dosXML, for describing, recording, sharing, and exchanging the numerical model and simulation data of discrete object simulation problems has be proposed. It can facilitate the development of discrete object simulation packages. (3) Numerical geometric models and correspnonding algorithms for several basic shapes of discrete objects are also presented. These basic shapes of discrete objects include sphere, cylinder, plate, and polyhedron. Simulation strategies for initial modeling and reduction of CPU time and memory usage are also discussed. (4) A prototype simulation system, named Knight&Anne, has been implemented to verify and illustrate the versatileness and flexibility of the design proposed in this study using several application examples.誌謝 (ACKNOWLEDGEMENTS) I ABSTRACT II 摘要 III TABLE OF CONTENTS IV LIST OF FIGURES VII LIST OF TABLES IX 1. INTRODUCTION - 1 - 1.1 BACKGROUND - 1 - 1.2 OBJECTIVE AND SCOPE - 2 - 1.3 RELATED SOFTWARE TECHNOLOGIES AND TOOLS - 4 - 1.3.1 Related Software Technologies - 4 - 1.3.2 Commercial and Free Software - 5 - 1.4 ORGANIZATION - 6 - 2. DISCRETE OBJECT SIMULATION SYSTEM - 7 - 2.1 SYSTEM ANALYSIS - 7 - 2.2 SYSTEM DESIGN - 10 - 3. VERSATILE DISCRETE OBJECTS FRAMEWORK - 14 - 3.1 ANALYSIS OF REQUIREMENTS - 14 - 3.2 DESIGN OF KERNEL CLASSES - 18 - 3.2.1 Kernel classes - 19 - 3.2.2 Runtime Data Structure - 21 - 3.2.3 Complexity Analysis - 23 - 3.3 DESIGN OF AUXILIARY CLASSES - 25 - 3.3.1 DOWorld - 27 - 3.3.2 Assembler - 29 - 3.3.3 SimMediator - 33 - 3.3.3.1 Simulation Initiation - 34 - 3.3.3.2 Simulation Processing - 35 - 4. XML-BASED MARKUP LANGUAGE - 37 - 4.1 REQUIREMENT ANALYSIS - 37 - 4.2 DESIGN OF INFORMATION MODEL - 38 - 4.3 XML IMPLEMENTATION - 41 - 4.3.1 Header Information - 41 - 4.3.2 Simulation Parameters - 42 - 4.3.3 Modeling for Discrete Object Models - 44 - 4.3.4 Interaction Modeling among Discrete Objects - 48 - 4.3.5 Modeling for Discrete Objects’ Status - 51 - 4.4 APPLICATION EXAMPLE - 53 - 5. OBJECT MODELING, CONTACT DETECTION, AND IMPACT SOLUTION - 57 - 5.1 OBJECT MODELING - 57 - 5.1.1 Sphere - 57 - 5.1.2 Cylinder and Quasi-Cylinder - 58 - 5.1.3 Plate and Quasi-Plate - 59 - 5.1.4 Polyhedron - 60 - 5.2 CONTACT DETECTION - 62 - 5.2.1 Sphere vs. Sphere - 63 - 5.2.2 Sphere vs. Quasi-Cylinder - 64 - 5.2.3 Sphere vs. Quasi-Plate - 66 - 5.2.4 Sphere vs. Polyhedron - 68 - 5.2.5 Polyhedron vs. Polyhedron - 70 - 5.3 IMPACT SOLUTION - 73 - 5.3.1 The Procedure of Solving Interaction - 73 - 5.3.2 Exceptions (Error) handing - 75 - 6. SIMULATION STRATEGIES - 76 - 6.1 INITIAL MODELING - 76 - 6.1.1 Random Generation - 76 - 6.1.2 Gravity Dumping (Field Force Dumping) - 77 - 6.2 CREATION OF INTERACTIONS - 80 - 6.2.1 Moving Distance approach - 81 - 6.2.2 Moving Block approach - 83 - 7. APPLICATION EXAMPLES - 85 - 7.1 A SPRING MATTRESS EXAMPLE - 85 - 7.2 SIMULATION OF SELF-COMPACTING CONCRETE BEHAVIOR - 89 - 7.3 CENTRIFUGAL CASTING OF COLLOIDAL CERAMIC PARTICLES - 94 - 7.4 POLYHEDRA EXAMPLES - 98 - 8. CONCLUSIONS AND FUTURE WORK - 102 - 8.1 CONCLUSIONS - 102 - 8.2 FUTURE WORK - 105 - REFERENCES - 106 - APPENDIX A. XML SCHEMA OF DOXXML - 114 - APPENDIX B. DOSXML DOCUMENTS FOR APPLICATION EXAMPLES - 122 - B.1 SPRING MATTRESS EXAMPLE - 122 - B.2 SCC V-FUNNEL TEST - 125 - B.3 CENTRIFUGAL CASTING OF COLLOIDAL CERAMIC PARTICLES - 128 - B.4 STRAIGHT LINE DOMINO SIMULATION - 131 - B.5 SIEVE ANALYSIS SIMULATION - 135 - APPENDIX C. SOURCE CODE EXCERPT FROM KNIGHT&ANNE - 146 - C.1 INTERFACES OF KERNEL CLASSES - 146 - C.1.1 DiscreteObject - 146 - C.1.2 ContactDetector - 148 - C.1.3 ImpactSolver - 149 - C.1.4 Interaction - 149 - C.2 INTERFACES OF DOWORLD GROUP CLASSES - 151 - C.2.1 DOWorld - 151 - C.2.2 SystemParameter - 153 - C.2.3 DOModel - 155 - C.2.4 IactModel - 159 - C.2.5 DOStatus - 162 - C.3 IMPLEMENTATION OF KERNEL SUBCLASSES - 164 - C.3.1 DOSphere - 164 - C.3.2 DOFixedQuasiCylinder - 166 - C.3.3 CDSphere2Sphere - 167 - C.3.4 CDSphere2SphereAT - 169 - C.3.5 CDSphere2QuasiCylinderAT - 169 - C.3.6 ISwLSD - 170 - C.3.7 ISwLSDAT - 176 - 作者簡歷 - 179 -5382132 bytesapplication/pdfen-US標示語言系統設計離散元素離散物件模擬物件導向設計模式System Design, Object-OrientedDesign PatternsXML-based Markup LanguageDiscrete Element MethodDiscrete Object Simulation離散物件模擬系統之研究A Versatile Discrete Object Simulation Systemthesishttp://ntur.lib.ntu.edu.tw/bitstream/246246/50582/1/ntu-93-D88521006-1.pdf