本研究以離散元素法為基礎,提出一可模擬四面體離散系統運動的演算法,並以C++程式語言實作演算法。演算法內容包含四面體於空間中運動時兩塊體間的接觸判斷理論,及兩塊體接觸時的接觸型態。空間中兩四面體可僅由頂點對面、稜邊對稜邊兩種接觸型態的接觸判斷,歸納出其餘頂點對頂點、頂點對稜邊、稜邊對面、面對面四種接觸類型。四面體離散系統根據運動方程式運算後更新塊體於空間中的位置,接著經由正確的接觸判斷結果,計算兩塊體彼此的接觸點、入侵量與接觸力,進而推衍出下一時刻塊體新的位置,模擬多面塊體於空間中運動行為,其結果可使用商用軟體後處理數值模擬程式輸出之資料,便於觀察整體運動過程。
This study proposed an algorithm, based on 3D Discrete Element Method (DEM), that can simulate motion of discrete rigid body tetrahedron system and implemented by C++ programming language. The algorithm defined two contact types, which are vertex-to-surface and edge-to-edge, and we can only use these two results to derive other four contact types (vertex-to-vertex, vertex-to-edge, edge-to-surface and surface-to-surface). According to the motion of equation, the discrete element system will update coordinates of each tetrahedron block's vertices. In every time step, we can use the correct contact detection result to find out tetrahedron block's contact point and penetration and by given contact spring stiffness to calculate contact force. The correct contact force will accomplish next step's motion of discrete tetrahedron system. Until the time reaches the end we set, the simulation of motion stopped and output the information we need that we can process these datas with other commercial software.