数值爆炸模拟方法及其系统与流程

文档序号:15272253发布日期:2018-08-28 22:34阅读:351来源:国知局

本发明总的涉及计算机辅助机械工程分析,更具体地涉及用于响应爆炸而执行物理域的时间推进模拟的方法和系统,所述爆炸使用表示爆炸源的模拟气体粒子和表示物理域的平滑粒子流体动力学(smoothed-particlehydrodynamics,sph)粒子。



背景技术:

连续介质力学已经被用于模拟诸如固体和流体(即,液体和气体)的连续物质。微分方程用于解决连续介质力学中的问题。已经使用了许多数值程序,包括但不限于有限元方法(fem)、例如离散元方法(dem)之类的无网格方法、平滑粒子流体力学(sph)等。

这些用于响应爆炸而数值模拟连续物理域的数值程序存在限制/缺点。例如,当物理域经历大的变形时,fem要求将会导致数值奇异性(即,不可解的数值问题)的网格,dem更适合于不紧密耦合的物体(例如,沙子),而sph遭受强加边界条件的困难。

因此,需要有能够更真实地响应爆炸而进行物理域的数值模拟的改进方法。



技术实现要素:

公开了数值爆炸模拟方法和系统。根据本发明的一方面,提供了一种响应爆炸获得物理域的数值模拟特性的方法。该方法包括:在其上安装有至少一个应用模块的计算机系统中接收平滑粒子流体动力学(sph)模型,所述sph模型包含表示物理域的多个sph粒子。每个sph粒子与具有影响域的影响函数相关联。使用应用模块,创建包含至少一个模拟气体粒子的组的爆炸源模型。由一组爆炸特征定义的爆炸源模型表示刚好影响物理域之前的爆炸。每个模拟气体粒子都与一组属性相关联,包括质量、速度矢量和位置。通过使用sph模型和爆炸源模型在多个求解周期中执行预定持续时间的时间推进模拟,来获得响应爆炸的数值计算的域特性,域特性是所述每一个模拟气体粒子和sph粒子的对应子组之间的组合交互的结果。

根据另一方面,组合交互的结果计算如下:(a)基于子组确定规则,确定哪个sph粒子被包括在每个模拟气体粒子的对应子组中;(b)使用公式代数地组合被确定包括在所述子组中的那些sph粒子的相应属性,来计算所述子组的代表性位置;(c)基于一组能量交换规则,在所述每个模拟气体粒子与所述子组之间执行数值能量交换;(d)从下一个求解周期的数值能量交换中更新所述每个模拟气体粒子的属性组和sph粒子的对应位置。

通过以下结合附图对具体实施方式的详细描述,本发明的其他目的、特征和优点将会变得显而易见。

附图说明

参照以下的描述、后附的权利要求和附图,将会更好地理解本发明的这些和其它特征、方面和优点,其中:

图1a-1b共同示出了根据本发明实施例的响应爆炸而获得数值物理域的示例性过程的流程图;

图2a是根据本发明实施例的由多个sph粒子表示的示例性物理域的示意图;

图2b是根据本发明实施例的在sph方法中使用的示例性影响函数的示意图;

图3a-3b是示出根据本发明实施例的两个不同示例性物理域的示意图;

图4是根据本发明的实施例的表示在影响感兴趣的物理域之前的示例性爆炸源的至少一个模拟气体粒子的组的示意图;

图5a-5d是示出根据本发明一个实施例的示例性模拟气体粒子与sph粒子的对应子组之间的相互作用的示意图;

图6是计算机系统的主要组件的功能示意图,本发明的实施例可在该计算机系统中实施;

图7a-7c是根据本发明实施例的实时显示示例性数值爆炸模拟的三个快照结果的示意图。

具体实施方式

首先参照图1a至1b,其共同示出了根据本发明实施例的响应爆炸而获得物理域的数值模拟特性的示例性过程100的流程图。过程100优选地在软件中实施。

过程100从在动作102处、在计算机系统(例如,图6的计算机系统600)中接收表示物理域(例如,结构)的平滑粒子流体动力学方法(sph)模型开始,该计算机系统上安装有至少一个应用模块。图2a示出了具有边界或界限203的示例性物理域202。为了表示物理域202,使用包含多个sph粒子204的sph模型200。表示物理域202的sph粒子204不具有特定的图案。它们可能有规律的间隔或处于随机的位置。这些sph粒子204可以位于物理域的内部202或边界203上。每个sph粒子204与影响函数(例如,图2b的无网格形状函数240)相关联,该影响函数具有影响域或支撑206、208。每个节点的支撑或影响域的大小和形状是任意的。在一个实施例中,支撑的形状是四边形206。在另一个实施例中,形状是圆形的208。在三维支撑的情况下,在该实施例中支撑的形状可以是球形的。在又一个实施例中,每个节点的大小和形状是不同的。一个节点可以有一平方英尺的支撑,而另一个节点可以在相同的模型中具有16英寸半径的圆形支撑。在又一个实施例中,支撑不是规则的几何形状。它可以是任意的形状。本发明支持不同的组合。

两个其它示例性sph模型310-320在图3a-3b中示出。为了简洁说明,两个sph模型310-320都是二维的。对于本领域的普通技术人员来说,可以知道sph模型也可以是三维的。

接下来,在动作104处,过程100使用应用模块创建爆炸源模型,爆炸源模型包含至少一个模拟气体粒子的组。每个模拟气体粒子都与一组属性相关联,该属性包括质量、速度矢量和位置。如图4所示,示例性的爆炸源模型410包含多个模拟气体粒子420(即,位置和质量(显示为小圆圈)、以及速度矢量(显示为箭头))。注意到模拟气体粒子没有体积。速度矢量可能包含平移和旋转速度。由一组爆炸特征定义的爆炸源模型410表示刚好在影响感兴趣的物理域440之前的爆炸。模拟气体粒子与其他粒子碰撞时,只与其他粒子相互作用,而sph粒子通过影响函数影响其他粒子。爆炸特性可以包括但不限于爆炸的强度、炸药包(charge)的形状等。在一个实施例中,爆炸的强度由类型指定(例如,tnt、c-4等)。在另一个实施例中,爆炸物的属性由用户指定。至于炸药包的形状,它可以是任何给定的几何形状,例如二维的圆形,或三维的球体或圆柱体。此外,在另一个实施例中,用户指定了爆炸源模型的模拟气体粒子的形状和数量。

然后,在动作106处,通过使用表示物理域的sph模型和表示爆炸的爆炸源模型,执行预定持续时间(即,总模拟时间)的时间推进模拟,来获得数值计算的域行为。时间推进模拟包含多个求解周期,每个求解周期表示预定持续时间内、在时间上的快照。时间推进模拟可以通过隐式或显式求解方案来实现。物理域的行为是每个模拟气体粒子与sph粒子的对应子组之间的组合交互的结果。图1b中的流程图总结了用于计算每个求解周期处的组合交互的示例性程序110。在动作110a处,基于子组确定规则,为每个模拟气体粒子确定sph粒子的对应子组。例如,通过包括其影响域涵盖特定模拟气体粒子的位置的那些sph粒子,来确定sph粒子的对应子组。图5a示出了示例性模拟气体粒子510移动到物理域520中。五个sph粒子522(即,空心的点)被确定为包括在子组中,因为模拟气体粒子510的位置在这五个sph粒子522的相应的影响域(虚线圆圈)内。其他规则可以用于实现相同的功能,例如,每个模拟气体粒子和相应的sph粒子之间的预定距离。

接下来,在动作110b处,程序110使用公式来计算子组的代表性位置,该公式代数地组合被确定为包括在子组中的那些sph粒子的相应属性。该公式可以采用许多已知的方案,例如简单平均、加权平均等。在一个实施例中,代表性位置是子组的几何质心。例如,图5b示出了五个sph粒子(空心点)的子组的几何质心524(即,示为三角形)。

然后,在动作110c处,根据一组能量交换规则来执行模拟气体粒子510和子组524之间的数值能量交换。例如,能源交换规则是基于节能原则。图5c示出了具有第一速度矢量v1511的示例性模拟气体粒子510,示例性模拟气体粒子510与对应子组524碰撞。在一个实施例中,两个不同模拟气体粒子的sph粒子的相应子组可以包含完全不同的sph粒子。在另一个实施例中,各个子组可以包含一些或全部相同的sph粒子在其中。

在如图5d所示的动作110d处,模拟气体粒子510的属性(即位置和速度矢量)和子组524中的sph粒子522的位置在下一个求解周期的能量交换之后被更新。sph粒子的更新位置(即,响应爆炸的物理域特性)基于每个模拟气体粒子与sph粒子的对应子组之间的碰撞合力。数值能量交换的一个例子是假定sph粒子的子组具有比模拟气体粒子大得多的质量。因此,数值能量交换后的合力是模拟气体粒子质量乘以碰撞前后的速度差。速度差可以包括平移和/或旋转速度。换句话说,作为能量交换的结果,模拟气体粒子的位置和第二速度矢量v2512被更新。响应合力534,使用sph影响函数来计算子组524中的sph粒子522的相应位置。在一个实施例中,合力=m(v2-v1),其中m是模拟气体粒子的质量。程序110是针对爆炸源模型中的每个模拟气体粒子。sph粒子的更新属性通过影响函数影响位于影响域内的其他sph粒子。

而且,图5a-5b所示的场景仅是根据本发明实施例获得域特性的一个示例。在其他实施例中,可以发生其他场景,例如sph粒子的不同图案(pattern)和/或数量。根据本发明的实施例,模拟气体粒子和sph粒子的耦合实现了更逼真的数值爆炸模拟。

根据一方面,本发明涉及一个或多个能够执行在此描述的功能的计算机系统。计算机系统600的例子在图6中示出。计算机系统600包括一个或多个处理器,例如处理器604。处理器604连接到计算机系统内部通信总线602。关于该示范性的计算机系统,有各种软件实现的描述。在读完这一描述后,相关技术领域的人员将会明白如何使用其它计算机系统和/或计算机架构来实施本发明。

计算机系统600还包括主存储器608,优选随机存取存储器(ram),还可包括辅助存储器610。辅助存储器610包括例如一个或多个硬盘驱动器612和/或一个或多个可移除存储驱动器614,它们代表软盘驱动器、磁带驱动器、光盘驱动器等。可移除存储驱动器614用已知的方式从可移除存储单元618中读取和/或向可移除存储单元618中写入。可移除存储单元618代表可以由可移除存储驱动器614读取和写入的软盘、磁带、光盘等。可以理解,可移除存储单元618包括其上存储有计算机软件和/或数据的计算机可读媒介。

在可选实施例中,辅助存储器610可包括其它类似的机制,允许计算机程序或者其它指令被装载到计算机系统600。这样的机制包括例如可移除存储单元622和接口620。这样的例子可包括程序盒式存储器和盒式存储器接口(例如,视频游戏设备中的那些)、可移除存储芯片(例如可擦除可编程只读存储器(eprom))、通用串行总线(usb)闪存、或者prom)以及相关的插槽、以及其它可移除存储单元622和允许软件和数据从可移除存储单元622传递到计算机系统600的接口620。通常,计算机系统600由操作系统(os)软件控制和管理,操作系统执行例如进程调度、存储器管理、网络连接和i/o服务。

可能还设有连接到总线602的通信接口624。通信接口624允许软件和数据在计算机系统600和外部设备之间传递。通信接口624的例子包括调制解调器、网络接口(例如以太网卡)、通信端口、个人计算机存储卡国际协会(pcmcia)插槽和卡等等。软件和数据通过通信接口624传输。计算机600基于一组特定的规则(也就是,协议)通过数据网络与其它计算设备通信。通用协议的其中一种是在互联网中通用的tcp/ip(传输控制协议/互联网协议)。通常,通信接口624将数据文件组合处理成较小的数据包以通过数据网络传输,或将接收到的数据包重新组合成原始的数据文件。此外,通信接口624处理每个数据包的地址部分以使其到达正确的目的地,或者中途截取发往计算机600的数据包。在这份文件中,术语“计算机程序媒介”、“计算机可读媒介”、“计算机可记录媒介”和“计算机可用媒介”都用来指代媒介,例如可移除存储驱动器614和/或设置在硬盘驱动器612中的硬盘。这些计算机程序产品是用于将软件提供给计算机系统600的手段。本发明涉及这样的计算机程序产品。

计算机系统600还包括输入/输出(i/o)接口630,它使得计算机系统600能够接入显示器、键盘、鼠标、打印机、扫描仪、绘图仪、以及类似设备。

计算机程序(也被称为计算机控制逻辑)作为应用模块606存储在主存储器608和/或辅助存储器610中。也可通过通信接口624接收计算机程序。这样的计算机程序被执行时,使得计算机系统600执行如在此所讨论的本发明的特征。特别地,当执行该计算机程序时,使得处理器604执行本发明的特征。因此,这样的计算机程序代表计算机系统600的控制器。

在本发明采用软件实现的实施例中,该软件可存储在计算机程序产品中,并可使用可移除存储驱动器614、硬盘驱动器612、或者通信接口624加载到计算机系统600中。应用模块606被处理器604执行时,使得处理器604执行如在此所述的本发明的功能。

主存储器608可被加载有一个或多个应用模块606,所述应用模块606可被一个或多个处理器604执行以实现期望的任务,所述处理器可具有或不具有通过i/o接口630输入的用户输入。在运行中,当至少一个处理器604执行一个应用模块606时,结果被计算并存储在辅助存储器610(也就是,硬盘驱动器612)中。分析的状态按照用户指令以文字或者图形表示通过i/o接口630报告给用户。

图7a-7c是示例性数值爆炸模拟的三个图形结果(即三个时间快照)的示意图。第一快照是图7a所示的在爆炸影响物理域的之前的初始配置。图7b所示的第二个快照是爆炸开始穿透物理域,而第三快照(图7c)示出物理域响应爆炸而变形。

虽然参照特定的实施例对本发明进行了描述,但是这些实施例仅仅是解释性的,并不用于限制本发明。本技术领域的人员可得到暗示,对具体公开的示范性实施例做出各种修改和改变。例如,虽然已经在二维空间中示出和描述了示例性的爆炸源模型和物理域,但是本发明的爆炸源模型和物理域可以在三维空间中。总之,本发明的范围不限于在此公开的特定示范性实施例,对本技术领域人员来说暗含的所有修改都将被包括在本申请的精神和范围以及所附的权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1