CN102982192A - 用于基于颗粒的模拟的边界处理 - Google Patents

用于基于颗粒的模拟的边界处理 Download PDF

Info

Publication number
CN102982192A
CN102982192A CN2012102094822A CN201210209482A CN102982192A CN 102982192 A CN102982192 A CN 102982192A CN 2012102094822 A CN2012102094822 A CN 2012102094822A CN 201210209482 A CN201210209482 A CN 201210209482A CN 102982192 A CN102982192 A CN 102982192A
Authority
CN
China
Prior art keywords
particle
primitive
slab cutting
segment
ball
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012102094822A
Other languages
English (en)
Inventor
R.G.麦丹尼尔
Z.塔米米
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN102982192A publication Critical patent/CN102982192A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/24Fluid dynamics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

用于基于颗粒的模拟的边界处理。在基于颗粒的模拟中执行边界处理。板坯切割球处理在基于颗粒的模拟中定义用于与颗粒的交互的包围体积。将板坯切割球用于固体对象与颗粒的碰撞检测。可以在没有包围体积分级结构的情况下将固体对象划分成多个独立板坯切割球以用于高效的碰撞检测。可以在重复二元划分操作时处理固体对象的划分。可以通过基于边界的封闭部分来确定每个板坯切割球的取向而不是测试多个可能的取向来进一步增加处理速度。

Description

用于基于颗粒的模拟的边界处理
相关申请
本专利文献要求2011年6月24日提交的临时美国专利申请序号61/500,658的根据美国法典第35条119 (e)款的提交日的权益,该专利申请通过引用结合到本文中。
技术领域
本发明涉及与固体对象的交互的基于颗粒的流体模拟。可以以不同方式对固体对象与流体的交互进行建模。
背景技术
在计算流体动力学(CFD)中,边界条件是在模拟空间边界以及模拟环境内的固体对象的表面处定义的数值条件。边界条件的示例包括其中速度法向分量是零的无穿透条件和其中正切速度分量未改变的自由滑动条件。由于边界条件仅在表面处适用,所以两个条件术语被可互换地使用。在基于网格的流体模拟中,将固体表面作为有限差问题的边界条件来处理。
在用于CFD的基于颗粒的模拟方法中,诸如光滑颗粒流体动力学(SPH),不存在很好地定义的边界处理技术。为了解决颗粒与表面之间的碰撞,已经使用了某些简单方法,诸如将碰撞颗粒推出固体表面之外并使其速度法向分量反向。然而,在其中由于流体交互而能够移动固体对象的情况下,诸如漂浮对象,简单的反射边界可能不会预测将施加在固体对象上的力。
为了判定哪些颗粒潜在地与表面相碰撞,使用诸如3D网格的某种空间散列方法来在边界和潜在流体颗粒之间进行映射。此类方法在静态边界情况下很适用。然而,这种方法在移动固体对象的情况下计算起来非常耗费,因为在每个模拟步骤中都更新或重新计算该映射(在随着对象移动的时间内)。
发明内容
在各种实施例中,提供了用于基于颗粒的模拟中的边界处理的系统、方法和计算机可读介质。可以在各种建模方法中表示固体对象。常见的方法是将固体的表面划分成三角形的网状物。对于大多数实际情况而言,进行用于网状物中的每个三角形与每个颗粒的比较将是计算起来过于耗费时间的,因此,将网状物封闭在能够被更高效地测试的边界体积中。
在基于颗粒的模拟中板坯切割球(slab cut ball)处理定义用于与颗粒的交互的边界体积。板坯切割球被用于固体对象与颗粒的初始碰撞检测。如果发现颗粒在包围体积内,则进行更加计算密集的测试以确定是否遇到实际表面。可以在不要求包围体积分级结构的情况下将固体对象划分成多个独立的板坯切割球以用于高效的膨胀检测。可以在划分对象的网状物三角形或其它基元的重复二元划分操作中处理固体对象的划分。可以基于边界的封闭部分的最小宽度而不是使用固定的一组可能取向来更精确地确定板坯切割球的取向。这允许板坯切割球更精确地与几何结构匹配并潜在地改善性能。这些特征中的任何一个或多个可以单独地或组合地使用。
在第一方面,提供了一种用于在基于颗粒的模拟中的边界处理的方法。处理器将固体对象划分成多个片段。处理器形成用于所述多个中的每个片段的板坯切割球。由处理器来定义被分组成单元(cell)的被模拟颗粒的三维分布。处理器将用于片段的板坯切割球映射到单元并检测单元之一的至少一个被模拟颗粒与片段之一的碰撞。处理器计算该碰撞的交互力。
在第二方面,非临时性计算机可读存储介质在其中存储了如下数据,所述数据表示可被已编程处理器执行以用于在基于颗粒的模拟中的边界处理的指令。该存储介质包括如下指令,所述指令用于将表示对象的基元的网状物分离成基元子集并作为包括板坯切割球的包围体积的函数来检测颗粒与对象的碰撞。
在第三方面,非临时性计算机可读存储介质在其中存储了如下数据,所述数据表示可被已编程处理器执行以用于在基于颗粒的模拟中进行边界处理的指令。该存储介质包括如下指令,所述指令用于产生边界的独立包围体积作为板坯切割球并作为板坯切割球的函数来检测流体颗粒与边界的碰撞。
上述方面中的任何一个或多个可以单独地或组合地使用。根据应结合附图来阅读的优选实施例的以下详细描述,这些及其它方面、特征和优点将变得显而易见。本发明是由以下权利要求定义的,并且不应将本节中的任何内容视为对那些权利要求的限制。下面结合优选实施例来讨论本发明的其它方面和优点且稍后可以独立地或组合地对其要求保护。
附图说明
组件和附图不一定按比例,而是强调图解实施例的原理。此外,在图中,相同的附图标记遍及不同的视图表示相应的部分。
图1是用于在基于颗粒的模拟中的边界处理的方法的一个实施例的流程图;
图2是根据一个实施例的用于形成板坯切割球的组件的图示;
图3是由图2的组件形成的板坯切割球的图示;
图4是将颗粒分布划分成单元的一个实施例的图示;
图5是将图3的板坯切割球映射到图4的单元之一的二维表示;
图6是用于在基于颗粒的模拟中的边界处理的系统的一个实施例的方框图。
具体实施方式
诸如光滑颗粒流体动力学(SPH)的基于颗粒的流体模拟方法可以用来实现交互式流体模拟。为了用流体内的主体提供模拟并保持交互速度,提供快速边界处理以将基于颗粒的流体模拟与其它主体耦合。为了是交互式的,一般地基于以毫秒为单位的循环来更新该模拟。因此,高效地进行与边界的流体交互的计算以保持交互速度。可以使用板坯切割球来提供用以以交互速度来处理大型、复杂且可移动的固体对象的高效方法。计算并更新固体对象与流体颗粒之间的映射的容易性导致仅在固体表面附近区域内的颗粒被进行碰撞测试。
目标是在每个模拟步骤高效地在流体颗粒与固体对象基元之间进行映射。使用板坯切割球作为边界体积。不要求包围体积分级结构以增加计算效率。板坯切割球的尺寸被处理为使得每个的尺寸大于网格元素的尺寸,使得每个边界体积的测试将独立于其它边界体积,因为每个边界体积将涉及不同组的网格单元。并且,能够控制几何结构元素、诸如网状物三角形基元的数目,使得元素的最大数目不超过诸如100、10的数目或基元的其它有限数目。以与分级结构构造类似的方式来划分固体对象,诸如重复二元划分,直至对象被划分成具有足够小的数目的基元的各部分。针对作为边界体积的每个板坯切割球,可以基于其封闭的基元来计算中心、半径以及平面距离。
对于基于颗粒的流体模拟而言,颗粒被分成规则面积的网格单元。网格单元维度的尺寸被选择为使得单元内的颗粒的平均数目将不超过期望的数目。为了计算颗粒与固体之间的碰撞,将固体的边界体积映射到一块网格单元,使得颗粒碰撞测试与在对每个固体对象的模拟中测试所有颗粒相反地能够局限于仅在受影响的体积中的那些颗粒。网格单元定义颗粒分布,并且还被用来计算流体模拟的演进。碰撞分解计算在碰撞中施加于流体颗粒的外部力。向主体施加相等且相反的作用力提供用于双向耦合的自然方式。
图1示出用于在基于颗粒的模拟中的边界处理的方法。该方法是由图6的系统和/或不同的系统实现的。处理器执行动作。可以提供附加、不同和更少的动作。例如,在被建模的固体对象小或将不被划分的情况下,不执行动作22。如果未检测到碰撞,则可以不执行动作32。作为另一示例,将动作28和30组合成一个动作。在另一示例中,提供移动对象、作为移动的结果而对边界体积进行重新定向以及调整颗粒运动的附加动作。可以添加任何其它基于颗粒的流体模拟动作。
该方法是按照所示的顺序提供的。可以连续地或与动作26并行地执行动作22和24。可以提供其它顺序。在一个实施例中,动作22、24和26是在模拟之前执行的初始化的一部分。在不进一步执行初始化动作的情况下模拟固体对象与流体的交互。作为模拟围绕或逆着固体对象的流体流的一部分重复地或迭代地执行动作28、30和32。在模拟中,重复地计算作用在被模拟颗粒上的内部力和在颗粒与一个或多个固体对象之间的力。根据所计算的与对流体进行建模的颗粒的碰撞,在流体内用平流输送固体对象,如果可移动的话。
在图1的方法的示例中,执行预处理。将大的固体对象划分成一个或多个基元的小片段,并且每个片段随后被随着固体对象移动而平移和旋转的板坯切割球包围体积封闭。在模拟期间,查找包围体积与网格单元块之间的映射。可以将此映射视为一种板相(board-phase)碰撞测试。针对与包围体积交叉的每个非空网格单元,对抵靠着片段的包围体积的单元内的每个颗粒应用碰撞测试。针对片段的基元进一步测试被发现在包围体积内的颗粒以确定实际碰撞。当检测到碰撞时,计算边界力并作为外部力施加在碰撞颗粒上且反方向的力被作为反作用力施加于对象。
在动作22中,将一个或多个固体对象划分成多个片段。固体对象是块体、桨、船体、动物或与流体相交互的其它对象。固体对象可以是不移动或静态的,诸如表示柱或墙壁。固体对象可以是移动的,诸如漂浮对象(例如船体)。交互对象可能通过流体而移位且也可以影响流体(例如,漂浮的木箱)。固体对象可以经受外力,诸如桨被划手移动、螺旋桨被电动机移动,或者鱼自己移动。固体对象可以是自由漂浮的,或者不经受电动机或肌肉力,诸如漂浮的原木或下沉的石头。动态对象可以诸如在重力、用户施加的力下以及靠流体的力移动。静态对象可以不移动,无论力如何(例如,固定安全外壳的壁)。固体对象可以具有固定表面或者可以具有柔性表面(例如,皮毛或其它可变形材料)。
为了进行模拟,将固体对象的表面建模为基元,诸如三角形的网状物。其它潜在基元包括四边形、六边形、五边形、圆形、球形、立方体、方栓、它们的组合或其它形状。基元包括被边缘接合并被表面填充以表示表面结构的顶点。每个基元表示固体对象的表面的一部分。可以用许多基元来表示对象,诸如几百个、几千个或更多。基元被分组成单独的片段以进行模拟。
基元可以是平面的,其中,每个将具有预定的法向方向(与基元正交)。可以使用非平面基元,在这种情况下,可以根据基元的形状来假设或计算法向方向。基元还被加标签以指示固体对象的内侧或外侧。加标签在执行碰撞分解时区别固体对象的内部和外部。
表示对象的基元的网状物被分成基元的子集。可以将基元的子集分成其它子集(例如子集的子集)。替换地,每个分离的子集具有对于片段的期望尺寸。
基元的期望子集是片段。片段是达到最大值的一个或多个基元的。可以应用任何最大值标准,诸如最大表面面积、最大基元数目或其它标准。基元被分成片段直至基元的每个子集小于该最大值。迭代地执行该分离直至具有大数目的基元的固体对象被划分成基元或片段的小子集。
用于给定片段的基元被连接或未连接。例如,固体对象可以包括紧密地间隔开的平行或非平面壁,使得选择与壁交叉的切割平面将至少一个集合划分成不连续的基元。壁的连接位于不同的片段中。任何给定片段的基元靠位置相关—在体积区域内。
每个片段将被封闭在包围体积中。包围体积具有基于给定模拟的尺寸。当固体对象中的基元的数目足够大使得对象不能配合在一个包围体积中时,对象被划分成片段。基元的数目可能过大而不能为每个基元分配唯一的包围体积。因此,每个片段存在一个或多个基元,并且每个对象存在一个或多个片段。
对划分的约束是每个基元与一个且仅一个对象相关联。在基元的尺寸足够大而不能配合在给定包围体积内的情况下,可以将基元划分成多个共面基元。
为了划分固体对象,整个对象被轴对准的包围盒包围。可以使用其它概念模型。替换地,不提供用于用于网状物的划分或初始固体对象的包围盒。网状物的划分可以连续地分离出片段,诸如按次序分离出形成每个片段的基元(例如分离出片段1、然后片段2、然后片段3…)。替换地,迭代地执行二元划分。固体对象或固体对象的一部分的轴对准包围盒被划分成两部分。重复网状物的该二元分离直至与各部分相关联的基元的子集小于阈值体积、尺寸,或者基元的数目足够小。其余部分的二元划分继续,直至得到期望尺寸的片段。
在一个示例性实施例中,将固体对象划分成片断。作为基元的列表给定固体对象,用预先计算的轴对准包围盒和片断的最大尺寸,递归算法将网状物划分成小于最大尺寸的尺寸的片断。在每次函数调用或迭代中,针对用于片断的最大值比较围绕对象的给定部分(在第一迭代中为整个对象)的轴对准包围盒的体积。如果轴对准包围盒小于或等于最大值,则为该片断产生包围体积并终止该递归。否则,使用枢轴平面将该部分(例如当前子集的基元)分割成两个子列表并对结果得到的子列表执行递归调用(重复或迭代)。
选择枢轴平面作为与轴对准包围盒的中心交叉的平面,其中,该平面的法向平行于轴对准包围盒的最长维度。针对列表中每个基元的质心点(即对象的当前部分的基元)比较枢轴平面并分类为质心点是在平面之上还是之下。将具有在平面的一侧上的质心的基元分组为一部分。每当列表被一分为二时,针对每个结果得到的部分或子列表计算新的轴对准包围盒(AABB)。该过程继续直至所有部分被视为期望尺寸范围的片段。
将表示本实施例的示例性代码提供为:
Figure DEST_PATH_IMAGE001
Figure 931286DEST_PATH_IMAGE002
其中,maxV是用于片断的最大体积,BV是包围体积,AABB是轴对准包围盒,枢轴是枢轴平面,并且左侧和右侧是由二元划分得到的部分。
可以使用其它方法。例如,可以针对每次迭代将对象划分成三个或其它非二元数目的部分。
在动作24中,针对每个片断形成包围体积。形成几十个、几百个或更多的包围体积。片断与其围绕的包围体积之间的关系在模拟期间不改变。针对给定的模拟或模拟序列,可以仅产生该形成仅一次。在替换实施例中,对象的表面改变形状,因此可以响应于此类变化来改变关系。
在一个实施例中,将包围体积形成为板坯切割球。在Computer Graphics forum, vol. 28, no. 8,第2379-2395页(2009)中的“Bounding Volume Hierarchies of Slab Cut Balls”中示出了板坯切割球的示例性使用。该示例性使用涉及碰撞固体对象的包围体积。在板坯切割球作为基于颗粒的流体模拟中的包围体积的使用中存在多个差别。
板坯切割球被形成为用于每个片断的包围体积。每个板坯切割球是基于各片断的基元的子集定义的。一旦固体对象被划分成片断,则初始化过程向每个片断分配包围体积。
每个片断的板坯切割球是独立于用于其它片断的板坯切割球而形成的。这些包围体积可以不同地或相同地旋转和/或平移。这些包围体积可以具有相同或不同的体积。独立包围体积的产生可以在不需要包围分级结构的情况下允许进行碰撞检测。与依赖于用以将给定包围体积的位置在空间上隔离的金字塔方案相反,每个包围体积被独立地平移至包围体积与之重叠的颗粒网格单元内。
板坯切割球包围每个片断的体积。该板坯切割球是由用来切割板坯(slab)的球(3D)或圆(2D)形成的。两个平面定义形成板坯的那部分球。针对三维模拟,每个板坯切割球由具有两个平行切割平面的球形成。单独的球不是紧凑的包围体积。然而,球在片断在位置方面旋转时可以是很好的选择。切割平面增加紧凑性和因此增加效率。在一个实施例中,将板坯切割球定义为,其中,C(3元组)表示球中心,R(标量值)表示球半径,
Figure DEST_PATH_IMAGE005
(3元组)表示切割平面法向,并且d1和d2(两个标量值)表示切割平面距离。可以使用其它表示法。
在一个示例性实施例中,输入片断f,其为基元的列表。每个基元具有预先计算的质心点,表示为A。板坯切割球的质心是根据片断中的基元的质心确定的。包围体积的中心被表示为Cf。在等式1中定义了Cf,其中,N是片断f中的基元的数目,并且Aj是基元j的质心。
Figure 815114DEST_PATH_IMAGE006
包围体积的尺寸基于片断。距离板坯切割球的质心的半径基于基元。形成封闭基元的所有顶点的球的半径被确定。图2以二维方式示出了示例。圆50具有封闭片断52的半径。片断f的半径被表示为Rf。Rf在等式2中被定义为任何顶点与中心Cf之间的最大距离。顶点vx是用于片断f中的某个基元。
Figure DEST_PATH_IMAGE007
板坯切割球的取向是根据片断的基元确定的。例如,该取向是根据片断的一个或多个基元的法向方向确定的。每个板坯切割球的取向是与包围体积相关联的边界的至少一个基元的法向的函数。在一个实施例中,可以计算片断中的所有基元的平均法向。平均法向指示轴,正交切割平面沿着该轴定位。切割平面是平行的并共享同一法向
Figure DEST_PATH_IMAGE009
。法线
Figure DEST_PATH_IMAGE010A
在等式3中被定义为片断内的所有基元的平均法向。
Figure DEST_PATH_IMAGE011
是用于基元j的法向。
替换地,可以使用片断的定向包围盒来确定板坯切割球的取向。可以使定向包围盒倾斜,使得盒的体积小于轴对准包围盒。可以将板坯切割球的方向选择为平行于具有最小尺寸的定向包围盒的方向。查找板坯切割球的取向的另一方法是查找片断的凸包。可以测试凸包的每侧以查看与该侧相对的点距离该侧的平面有多远。可以将具有最小距离的一侧的法向选择为板坯切割球轴的方向。
板坯切割球的法向定义切割平面沿着其定位的轴。图2示出沿着所计算的片断52的基元(线)的法向(垂直)定位的切割平面54。
切割平面54沿着法向位于不同的距离处。该距离是相对于板坯切割球的中心或其它位置的。例如,切割平面距离d1和d2是相对于Cf。计算该距离,使得片断52的基元(例如,所有顶点)在切割平面54之间。该距离被定义为与沿着法向在相互之间具有最大和最小投影的顶点的法向轴垂直的最大和最小投影。该距离在等式4和5中示出。
Figure DEST_PATH_IMAGE013
由于包围体积被映射到颗粒网格单元以检测与颗粒的碰撞,所以可以调整或缩放包围体积以虑及在网格边界处或附近的颗粒。可以将颗粒建模为在单元内,诸如立方体。可以调整包围体积的d1、d2和Cf以虑及每个单元的尺寸,使得体积将必然与可能有颗粒碰撞的所有单元重叠。例如,与质心的半径和距离具有添加的调整。例如,向半径添加
Figure 87013DEST_PATH_IMAGE014
,并且与质心的距离将包括部分地交叉的单元且延伸过重叠区域。如果沿着轴在同一方向上定义距离d1、d2两者,则用较低距离(d2)减去调整距离。h是用于每个单元的立方尺寸的对角线。可以提供其它调整。
图3示出用于片断52的板坯切割球56。板坯切割球56包括切割平面和以板坯切割球的质心为中心并具有半径的球的一部分。在切割平面之间的那部分球是板坯切割球的内部体积。
在动作26中,定义了被模拟颗粒的二维或三维分布。颗粒是聚合地表示被模拟的流体的点。可以使颗粒与特性相关联和/或将其视为二维或三维形状。由于颗粒被用于模拟流体,颗粒被以规则的密度贯穿体积地散布。可以使用不规则密度,诸如对温度差对流体密度的影响进行建模。
针对模拟,将颗粒分组成单元。为了解决流体颗粒与固体对象基元之间的关联问题,将模拟空间细分成三维(3D)网格,使得流体颗粒在任何模拟步骤期间位于仅一个单元中。出于相邻点发现的目的,在光滑颗粒流体动力学(SPH)中此类空间细分是自然的。
可以使用任何数目的单元和每个单元的颗粒。每个单元的颗粒的数目对于不同的单元而言是相同或不同的。在一个实施例中,每个单元的颗粒的数目是小的,诸如小于100、10或其它数目。可以提供任何数目的单元。可以基于颗粒密度、每个单元的颗粒的数目以及流体的模拟体积来确定单元的数目和相应的单元体积。
颗粒被分组成单元的三维分布。图4示出四个此类单元40,每个包括颗粒42。单元具有相同的尺寸和形状,但是也可以具有不同的尺寸和形状。每个单元内的颗粒的数目和布置可以是不同的。
每个单元被定义为单元的中心的三维位置和单元内的被模拟颗粒的列表的函数。在一个实施例中,每个单元是由单元中的流体颗粒对象的列表、列表的长度(标量值)、单元的中心(3元组)和空白标记(布尔值)定义的以将具有颗粒的单元与没有颗粒的单元区别开。在替换实施例中,中心和/或空白标记未被单独地存储,因为可以从列表确定空白性质且可以由单元的索引来确定中心。
将单元的3D结构存储为矢量。将单元存储为一维列表。从作为索引移位的函数的一维列表访问单元。由索引函数来给定三维空间中的单元索引与单元的实际存储器位置之间的关系。给定三维的规则单元分布,结果得到的一维存储矢量具有表示不同行、列和平面的规则单元图案。每行的单元在索引中是顺序的,其中,给定列处的每行偏移第一索引值,即列中的网格元素的数目(例如,当存在10列时—行1是0~9,行2是10~19等)。该重复针对平面使用等于平面中的元素的数目(行×列)的第二索引值以类似的方式发生。由于在存储器中的此规则分布,可以快速地确定用于获取围绕给定单元的所有单元的索引移位的图案。可以用简单的移位和乘法来确定用于片断的包围体积的中心的网格索引。为了确定重叠的程度,可以使用第一和第二索引来确定相邻的列和平面。
在每个模拟步骤期间,针对所有颗粒计算内部力,将流体与固体对象之间的碰撞视为相对于流体的外部力。使用内部和外部力的组合,流体被用平流输送。反向的外部力被施加于固体对象。在动作28和30中,执行模拟中的边界处理以确定外部力在哪里发生。针对给定固体对象,针对对象的所有包围体积确定碰撞处理。
在动作28中,将用于片断的板坯切割球映射到单元或相反。可以将问题重新定义为使固体片断与一组网格单元相关联。该映射查找与板坯切割球的球形范围交叉的单元。每个板坯切割球的中心和半径定义板坯切割球的体积或空间范围或者被用来产生板坯切割球的体积或空间范围。识别与该体积或空间范围重叠的任何单元。
可以使用任何搜索图案来进行映射。例如,首先将Cf映射到单元的三维索引。然后计算该单元的一维索引。用Rf的知识,确定块尺寸,使得包围体积被单元块涵盖。例如,可以如在等式6中一样计算块尺寸。
Figure 909475DEST_PATH_IMAGE016
Figure 238825DEST_PATH_IMAGE018
使用该块来确定单元与给定包围体积交叉的范围。可以针对每个包围块使搜索局限于仅与包围体积重叠的那些包围块,结果得到计算高效性。
给定Cf和Rf,查找哪些单元与包围体积交叉是简单的。然而,由于目标是实现快速的边界处理,所以可以通过利用单元的三维网格或分布的一维存储结构来避免嵌套式循环。一旦识别了一个单元,则可以访问周围的单元并针对单元与板坯切割球体积的交叉来进行测试。通过一维索引的简单移位操作,使用一维存储结构来访问相邻单元。在预处理步骤中,计算用于相邻单元之间的每个方向的一维索引移位的尺寸。由于沿着每个立方体的边缘的重叠的单元的数目取决于包围体积的半径,则相对于某个中心单元计算索引移位阵列。可以通过在适当的索引处停止来将相同的数据结构用于任何尺寸的块。例如,为了在半径上扩展出一个网格单元,可以使用前九个偏移。为了在半径上扩展处两个网格单元,可以使用前二十七个偏移。最大包围体积的尺寸确定索引的阵列需要多大。通过使用索引并从单元信息的1D阵列获取单元数据来访问周围单元内的数据。
针对其它板坯切割球,使用板坯切割球相互的空间关系来限制搜索哪些网格单元。替换地,执行用于每个板坯切割球与单元的独立重叠分析。
在动作30中,检测模拟流体与边界的颗粒碰撞。根据板坯切割球来执行该检测。使用包围体积来检测哪些颗粒可能与对象相碰撞。在如与片断基元的碰撞所确定的一个或多个颗粒相交叉或在片断的内侧的情况下,发生碰撞。通过测试颗粒相对于片断的位置,可以计算由于碰撞而施加于颗粒和对象上的力。
在动作28中映射与包围体积的球或球体部分交叉或重叠的单元。在动作30中,测试单元内的颗粒以确定颗粒是否与片断碰撞。可以使用任何测试。
在一个实施例中,将每个交叉单元的中心与板坯切割球相比较。如果单元的中心在板坯切割球的半径或切割平面外面,则未发生碰撞。例如,图5示出单元40的中心不在板坯切割球内部,即使网格单元确实与板坯切割球重叠。如果单元的中心不在板坯切割球内部,则单元40的颗粒被视为未与对象相碰撞。给定单元与板坯切割球之间的尺寸关系,此假设是准确的,或者平均起来至少是足够的。与进行此假设相反,可以跟踪并测试每个单元内的颗粒的位置。针对任何交叉单元,然后针对与片断的碰撞单独地测试单元的颗粒。
例如,片断f的包围体积(BV)具有属性Cf、Rf
Figure DEST_PATH_IMAGE019
、d1和d2。关联片断f被定义为长度N的基元的列表。执行以下过程以检测碰撞。
(1)更新Cf
Figure 500042DEST_PATH_IMAGE019
(2)将单元定位于BV内(动作28)
(3)如果单元不是空的
(4)如果单元中心在半径内和切割平面之间
(5)针对单元内的所有颗粒
(6)针对片断内的所有基元
(7)如果碰撞(颗粒、基元)
(8)计算力(动作32)
为了测试单元的中心是否在半径内和切割平面之间,预先计算并存储每个单元的中心,诸如在动作24中的初始化期间。替换地,根据需要来确定中心。如果与板坯切割球的法向方向正交的点P的投影大于d2且小于d1,则点P在切割平面内。换言之,
Figure 168921DEST_PATH_IMAGE020
当颗粒从基元的平面向固体对象中穿透至距离d时,颗粒与该平面相碰撞。例如,
Figure DEST_PATH_IMAGE021
,其中,D是到基元的表面的平面距离(从颗粒到基元上的点的最小距离),并且是单位表面法向。可以使用用于颗粒的其它碰撞检测,诸如确定从片断外部到内部的转移。
如果网格单元的中心在板坯切割球的外面,则认为单元远离片断并将其忽视。如果中心在板坯外面,即使在球体或球内,则假设未发生颗粒在片断内的碰撞。
在动作32中,确定碰撞的交互力。可以使用任何力计算来表示来自与刚性或半刚性主体的碰撞的力。该力被添加到碰撞颗粒且其与对象相反。此力是用于颗粒的外部力。颗粒i具有位置pi和力
Figure 978931DEST_PATH_IMAGE024
。如下计算颗粒上的边界力作为纠错力
Figure 270936DEST_PATH_IMAGE026
和反作用力
Figure 918955DEST_PATH_IMAGE028
的和:
Figure 348799DEST_PATH_IMAGE028
Figure 590425DEST_PATH_IMAGE030
Figure 571336DEST_PATH_IMAGE032
其中,
Figure DEST_PATH_IMAGE033
是常数,与颗粒的密度
Figure 470284DEST_PATH_IMAGE034
成比例并与模拟时间步长△t的平方成反比。
Figure 261523DEST_PATH_IMAGE036
Figure 340337DEST_PATH_IMAGE028
+
Figure 672278DEST_PATH_IMAGE028
的目的是与沿着法向
Figure DEST_PATH_IMAGE037
的方向施加在颗粒i上的任何力相反,因此被进行负的加权。另一方面,
Figure 567739DEST_PATH_IMAGE028
用来修正颗粒i在刚性主体的表面内部已经行进的穿透距离d。
Figure 481075DEST_PATH_IMAGE028
Figure 423623DEST_PATH_IMAGE026
两者都沿着法向方向作用,因此,这对自由滑动条件有所贡献。用于力计算的法向与颗粒与之碰撞的基元正交。可以使用有或没有自由滑动或其它条件的其它力计算。
计算作用在固体对象和/或颗粒上的任何其它力。施加力以使颗粒移动。根据对固体对象的移动的限制,固体对象可以由于力的施加而移动或不移动。当固体对象改变位置时,向片断的所有包围体积施加平移和旋转。向球体中心施加平移和旋转,并向切割平面的法向施加旋转。向模拟施加任何其它移动、变形或修改。然后,模拟的下一个循环使用当前配置重复相同步骤地发生。
图6示出用于使用板坯切割球的基于颗粒的流体模拟的系统的方框图。该系统包括处理器16和存储器18。可以提供附加、不同或更少的组件。例如,提供输入设备,诸如网卡、无线收发机和/或用户输入设备。作为另一示例,提供显示器、打印机、网卡、无线收发机和/或其它输出设备。
可以以硬件、软件、固件、专用处理器或其组合的各种形式来实现由处理器16执行的计算机处理。某些实施例被以软件方式实现为在非临时性程序存储设备上有形地体现的程序。通过用系统或程序来实现,由处理器16来执行基于颗粒的模拟中的边界处理。
处理器16和/或存储器18是计算机、个人计算机、服务器、工作站、网络处理器或其它现在已知或以后开发的处理系统的一部分。可以将诸如显示设备、磁盘存储设备(例如磁盘或光盘存储设备)、键盘、打印设备以及鼠标的各种外围设备可操作地耦合到处理器16。可以将程序上载到处理器16并由处理器16来执行。同样地,处理策略可以包括多处理、多任务、并行处理等。处理器16是在具有诸如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口的硬件的计算机平台上实现的。计算机平台还包括操作系统和微指令代码。在本文中描述的各种过程和函数可以是经由操作系统来执行的微指令代码的一部分或程序的一部分(或其组合)。替换地,处理器16是网络中的一个或多个处理器。
指令、用户输入(映射表确认或修改)、规则和/或其它信息被存储在非临时性计算机可读存储器中,诸如存储器18。存储器18是外部存储设备、内部存储设备、RAM、ROM和/或本地存储器(例如,固态驱动或硬驱动)。可以将相同或不同的计算机可读介质用于指令或其它数据,诸如单元和片断信息。可以使用由处理器16管理且存在于存储器上的数据库管理系统(DBMS)来实现存储器18,诸如硬盘、RAM或可移动介质。替换地,存储器18在处理器16内部(例如高速缓存)。存储器18存储被基于颗粒的流体模拟使用或由此得到的数据。
用于实现本文所讨论的过程、方法和/或技术的指令是在计算机可读存储介质或存储器上提供的,诸如高速缓存、缓冲器、RAM、可移动介质、硬驱动或其它计算机可读存储介质。计算机可读存储介质包括各种类型的易失性和非易失性存储介质。在图中图示或在本文中描述的函数、动作或任务是响应于存储在计算机可读存储介质中或计算机可读存储介质上的一组或多组指令而执行的。该函数、动作或任务独立于指令集、存储介质、处理器或处理策略的特定类型,并且可以由单独地或组合地操作的软件、硬件、集成电路、固件、微代码等来执行。
在一个实施例中,指令被存储在可移动介质设备上以便被本地或远程系统读取。在其它实施例中,指令被存储在远程位置以便通过计算机网络或通过电话线来传输。在其它实施例中,指令被存储在给定计算机、CPU、GPU或系统内。由于在附图中描绘的某些组成系统组件和方法步骤是优选地以软件实现的,所以根据用以对本实施例进行编程的方式,系统组件(或过程步骤)之间的实际连接可以不同。
处理器16被配置为执行模拟。处理器16接收用于模拟的参数的指示,所述参数诸如固体对象和颗粒的数目、尺寸、形状、密度和/或其它特性。由处理器16来执行初始化动作以准备进行模拟。替换地,处理器16接收先前计算的初始化信息,诸如接收包围体积、片断、单元和/或其它信息的存储位置的指示。处理器16执行模拟,诸如模拟流体流和与一个或多个对象的交互。还可以模拟对对象的影响。模拟的结果被作为图像或数据输出。
可以一起或单独地使用本文所述的各种改进。虽然在本文中已参考附图描述了本发明的说明性实施例,但应理解的是本发明不限于那些精确的实施例,并且在不脱离本发明的范围或精神的情况下,本领域的技术人员可以在其中实现各种其它变更和修改。

Claims (21)

1.一种用于在基于颗粒的模拟中的边界处理的方法,该方法包括:
用处理器将固体对象划分成多个片断;
用处理器形成用于所述多个中的每个片断的板坯切割球;
用处理器来定义被分组成单元的被模拟颗粒的三维分布;
用处理器将用于片断的板坯切割球映射到单元;
用处理器来检测单元之一的至少一个被模拟颗粒与片断之一的板坯切割球交叉;
检测至少一个被模拟颗粒与片断的基元之一的碰撞;以及
用处理器来计算碰撞的交互力。
2.权利要求1的方法,其中,所述固体对象被建模为轴对准包围盒中的基元的网状物,其中,划分包括将基元分离成片断,直至每个片断小于最大值,并且其中,形成包括形成用于每个小于最大值的片断的板坯切割球。
3.权利要求1的方法,其中,划分包括迭代地执行划分作为固体对象或固体对象的一部分的轴对准包围盒的二元划分。
4.权利要求1的方法,其中,划分和形成包括在执行映射、检测和计算之前执行的初始化动作作为固体对象与流体的交互的模拟,在不进一步执行初始化动作的情况下重复地执行该模拟。
5.权利要求1的方法,其中,用于每个片断的形成包括:
根据片断的基元的质心来确定板坯切割球的质心;
确定围绕基元的半径;
确定基元的所计算的法向;
定义与在相对于板坯切割球的质心的距离处的所计算法向正交的切割平面,使得基元在切割平面之间,板坯切割球包括切割平面和以板坯切割球的质心为中心并具有半径的球体的一部分,该球体的该部分在切割平面之间。
6.权利要求1的方法,其中每个片断包括基元,并且其中,用于每个片断的形成包括计算取向作为基元的平均法向。
7.权利要求1的方法,其中,形成包括相互独立地形成板坯切割球。
8.权利要求1的方法,其中,定义包括作为单元的中心的三维位置和单元内被模拟颗粒的列表的函数来定义每个单元。
9.权利要求1的方法,还包括将单元存储为一维列表并根据索引移位来从该一维列表访问单元,所述索引移位是板坯切割球的半径的函数。
10.权利要求1的方法,其中,映射包括根据每个板坯切割球的质心和半径查找与每个板坯切割球交叉的单元,该查找是没有包围分级结构的。
11.权利要求1的方法,其中,检测交叉包括测试单元之一的中心是否在半径内和板坯切割球的切割平面之间。
12.权利要求1的方法,其中,迭代地执行映射、检测交叉、检测碰撞以及计算以表示流体与固体对象的交互;以及
还包括:
计算用于被模拟颗粒的内部力;以及
根据碰撞在流体内用平流输送固体对象。
13.在非临时性计算机可读存储介质中,该非临时性计算机可读存储介质具有存储在其中的表示可被已编程处理器执行以用于在基于颗粒的模拟中的边界处理的指令的数据,所述存储介质包括用于如下的指令:
将表示对象的基元的网状物分离成基元的子集;以及
根据包括板坯切割球的包围体积来检测颗粒与对象的碰撞。
14.权利要求13的非临时性计算机可读存储介质,其中,分离包括定义用于网状物的不同片断的板坯切割球,所述板坯切割球是相互独立的,使得在没有包围分级结构的情况下执行检测。
15.权利要求13的非临时性计算机可读存储介质,其中,将网状物分离包括重复网状物的二元分离,直至子集小于成员的阈值体积、尺寸或数目。
16.权利要求13的非临时性计算机可读存储介质,其中,分离包括定义用于各子集的板坯切割球,每个包围体积独立于其它包围体积。
17.权利要求13的非临时性计算机可读存储介质,其中,分离包括定义用于各子集的板坯切割球,每个板坯切割球的取向被计算为各子集中的基元的平均法向。
18.权利要求13的非临时性计算机可读存储介质,还包括:
将颗粒分组成单元的三维分布;以及
其中,检测包括确定单元的中心在板坯切割球之一的半径内部并在其切割平面之间。
19.在非临时性计算机可读存储介质中,非临时性计算机可读存储介质具有存储在其中的表示可被已编程处理器执行以用于在基于颗粒的模拟中的边界处理的指令的数据,所述存储介质包括用于如下的指令:
创建边界的独立包围体积作为板坯切割球;以及
根据板坯切割球来检测流体的颗粒与边界的碰撞。
20.权利要求19的非临时性计算机可读存储介质,其中,创建包括定义具有取向的每个板坯切割球,每个板坯切割球的取向是与包围体积相关联的边界的至少一个基元的法向的函数。
21.权利要求19的非临时性计算机可读存储介质,其中,创建包括将边界二元划分成片断,所述片断通过重复二元划分并在片断周围形成板坯切割球形成的。
CN2012102094822A 2011-06-24 2012-06-25 用于基于颗粒的模拟的边界处理 Pending CN102982192A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161500658P 2011-06-24 2011-06-24
US61/500658 2011-06-24
US13/314480 2011-12-08
US13/314,480 US8903693B2 (en) 2011-06-24 2011-12-08 Boundary handling for particle-based simulation

Publications (1)

Publication Number Publication Date
CN102982192A true CN102982192A (zh) 2013-03-20

Family

ID=46603551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012102094822A Pending CN102982192A (zh) 2011-06-24 2012-06-25 用于基于颗粒的模拟的边界处理

Country Status (3)

Country Link
US (1) US8903693B2 (zh)
EP (1) EP2538359A3 (zh)
CN (1) CN102982192A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984829A (zh) * 2014-05-22 2014-08-13 李笑宇 基于离散单元法的提高颗粒离散接触检测效率的方法
CN104318598A (zh) * 2014-10-17 2015-01-28 中国科学技术大学 一种三维流固单向耦合的实现方法及系统
CN105260619A (zh) * 2015-10-28 2016-01-20 北京理工大学 一种改进的kgf-sph方法
CN113297781A (zh) * 2021-05-10 2021-08-24 东南大学 一种基于内作用力的颗粒簇建模方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909506B2 (en) * 2011-05-31 2014-12-09 Sony Corporation Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space
US10055875B2 (en) * 2011-08-04 2018-08-21 Nvidia Corporation Real-time eulerian water simulation using a restricted tall cell grid
US9342923B2 (en) * 2012-06-27 2016-05-17 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas
US9378587B2 (en) * 2012-06-27 2016-06-28 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas
EP2851819A1 (en) * 2013-09-20 2015-03-25 Airbus India Operations PVT Ltd Boundary layer computations on CFD grids
US9589383B2 (en) * 2013-10-18 2017-03-07 Nvidia Corporation Unified position based solver for visual effects
US9613449B2 (en) 2013-10-18 2017-04-04 Nvidia Corporation Method and apparatus for simulating stiff stacks
US10204530B1 (en) 2014-07-11 2019-02-12 Shape Matrix Geometric Instruments, LLC Shape-matrix geometric instrument
US9582924B2 (en) * 2014-08-11 2017-02-28 Intel Corporation Facilitating dynamic real-time volumetric rendering in graphics images on computing devices
CN105389855B (zh) 2014-08-26 2019-11-01 三星电子株式会社 对对象进行建模的方法和设备
KR102399671B1 (ko) * 2014-08-26 2022-05-20 삼성전자주식회사 객체들을 모델링하는 방법 및 장치
JP6458501B2 (ja) * 2015-01-06 2019-01-30 富士通株式会社 シミュレーションプログラム、シミュレーション方法、およびシミュレーション装置
CN105183451B (zh) * 2015-07-30 2018-11-02 浪潮金融信息技术有限公司 一种确定调用关系的方法和多维程序管理装置
US11062060B2 (en) * 2016-09-09 2021-07-13 Disney Enterprises, Inc. Guided simulation with generalized collision objects
US10783230B2 (en) 2018-05-09 2020-09-22 Shape Matrix Geometric Instruments, LLC Methods and apparatus for encoding passwords or other information
US11282288B2 (en) 2019-11-20 2022-03-22 Shape Matrix Geometric Instruments, LLC Methods and apparatus for encoding data in notched shapes
CN112597690A (zh) * 2021-03-08 2021-04-02 四川轻化工大学 基于sph的燃气管道受挖掘施工破坏过程的分析方法
CN113704134B (zh) * 2021-09-23 2023-06-06 腾讯科技(深圳)有限公司 一种模型检测方法和相关装置
US20230410426A1 (en) * 2022-06-17 2023-12-21 Advanced Micro Devices, Inc. Volume intersection using rotated bounding volumes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100094608A1 (en) * 2008-10-14 2010-04-15 Electronics And Telecommunications Research Institute Method of processing rigid body interaction in particle-based fluid simulation
US7813903B2 (en) * 2005-04-13 2010-10-12 Autodesk, Inc. Fixed time step dynamical solver for interacting particle systems
CN101984443A (zh) * 2010-11-10 2011-03-09 北京航空航天大学 一种改进的柔性织物碰撞处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065127B2 (en) 2007-09-24 2011-11-22 Siemens Corporation Particle system architecture in a multi-body physics simulation
US20110282641A1 (en) * 2010-05-16 2011-11-17 Stefan Bobby Jacob Xenos Method and system for real-time particle simulation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813903B2 (en) * 2005-04-13 2010-10-12 Autodesk, Inc. Fixed time step dynamical solver for interacting particle systems
US20100094608A1 (en) * 2008-10-14 2010-04-15 Electronics And Telecommunications Research Institute Method of processing rigid body interaction in particle-based fluid simulation
CN101984443A (zh) * 2010-11-10 2011-03-09 北京航空航天大学 一种改进的柔性织物碰撞处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
THOMAS LARSSON: "Adaptive Bounding Volume Hierarchies for Efficient Collision Queries", 《PHD THESIS,MALARDALEN U》, 31 January 2009 (2009-01-31) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984829A (zh) * 2014-05-22 2014-08-13 李笑宇 基于离散单元法的提高颗粒离散接触检测效率的方法
CN103984829B (zh) * 2014-05-22 2018-03-23 李笑宇 基于离散单元法的提高颗粒离散接触检测效率的方法
CN104318598A (zh) * 2014-10-17 2015-01-28 中国科学技术大学 一种三维流固单向耦合的实现方法及系统
CN104318598B (zh) * 2014-10-17 2017-08-29 中国科学技术大学 一种三维流固单向耦合的实现方法及系统
CN105260619A (zh) * 2015-10-28 2016-01-20 北京理工大学 一种改进的kgf-sph方法
CN105260619B (zh) * 2015-10-28 2018-05-18 北京理工大学 一种改进的kgf-sph方法
CN113297781A (zh) * 2021-05-10 2021-08-24 东南大学 一种基于内作用力的颗粒簇建模方法
CN113297781B (zh) * 2021-05-10 2024-03-29 东南大学 一种基于内作用力的颗粒簇建模方法

Also Published As

Publication number Publication date
EP2538359A2 (en) 2012-12-26
EP2538359A3 (en) 2014-05-21
US20120330628A1 (en) 2012-12-27
US8903693B2 (en) 2014-12-02

Similar Documents

Publication Publication Date Title
CN102982192A (zh) 用于基于颗粒的模拟的边界处理
Bender et al. Interactive simulation of rigid body dynamics in computer graphics
Govender et al. Development of a convex polyhedral discrete element simulation framework for NVIDIA Kepler based GPUs
US8666712B2 (en) Physical simulations on a graphics processor
Liu et al. Real-time collision culling of a million bodies on graphics processing units
US8666713B2 (en) Method of simulating deformable object using geometrically motivated model
US7948485B1 (en) Real-time computer simulation of water surfaces
EP2521113A1 (en) Simplified smoothed particle hydrodynamics
CN103235854A (zh) 一种离散元仿真中球形颗粒与三角网格间的接触判断方法
CN103559741B (zh) 虚拟手术中基于粒子的多相耦合方法
Janßen et al. On the development of an efficient numerical ice tank for the simulation of fluid-ship-rigid-ice interactions on graphics processing units
Rubio-Largo et al. Granular gas of ellipsoids: analytical collision detection implemented on GPUs
Kim Fluid engine development
Erleben Methodology for assessing mesh-based contact point methods
Fan et al. Discontinuous deformation analysis for ellipsoids using cone complementary formulation
Hedayat et al. A parallel dynamic overset grid framework for immersed boundary methods
US12008707B2 (en) Highly scalable cluster engine for hosting simulations of objects interacting within a space
Yuan Combined 3D thinning and greedy algorithm to approximate realistic particles with corrected mechanical properties
US11835054B2 (en) Method for automatic detection of axial cooling fan rotation direction
Echegaray et al. A methodology for optimal voxel size computation in collision detection algorithms for virtual reality
Hromnik A GPGPU implementation of the discrete element method applied to modeling the dynamic particulate environment inside a tumbling mill
Srinivasan CFD–DEM modeling and parallel implementation of three dimensional non-spherical particulate systems
Venetillo et al. GPU-based particle simulation with inter-collisions
Playne et al. Benchmarking multi-GPU communication using the shallow water equations
Govender Blaze-DEM: A GPU based large scale 3D discrete element particle transport framework

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130320

WD01 Invention patent application deemed withdrawn after publication