CN113935169B - 物理仿真方法、装置、计算机设备和存储介质 - Google Patents

物理仿真方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113935169B
CN113935169B CN202111197310.3A CN202111197310A CN113935169B CN 113935169 B CN113935169 B CN 113935169B CN 202111197310 A CN202111197310 A CN 202111197310A CN 113935169 B CN113935169 B CN 113935169B
Authority
CN
China
Prior art keywords
gas
solid
target
state
pressure
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.)
Active
Application number
CN202111197310.3A
Other languages
English (en)
Other versions
CN113935169A (zh
Inventor
张心欣
曹亚帝
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.)
Shenzhen Zesen Software Technology Co ltd
Original Assignee
Shenzhen Zesen Software Technology Co ltd
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 Shenzhen Zesen Software Technology Co ltd filed Critical Shenzhen Zesen Software Technology Co ltd
Priority to CN202111197310.3A priority Critical patent/CN113935169B/zh
Publication of CN113935169A publication Critical patent/CN113935169A/zh
Application granted granted Critical
Publication of CN113935169B publication Critical patent/CN113935169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

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

Abstract

本申请涉及一种物理仿真方法、装置、计算机设备和存储介质。方法包括:获取目标固体对象在当前时间步的当前固体状态以及目标气体对象在当前时间步的当前气体状态;基于当前固体状态对目标固体对象进行位置移动仿真,得到中间固体状态;基于当前气体状态对目标气体对象进行对流仿真,得到中间气体状态;基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态;其中交界约束条件为目标固体对象与目标气体对象之间的交界对应的约束条件,交界约束条件包括交界压强约束条件。采用本方法能够提高多物理现象的仿真准确度。

Description

物理仿真方法、装置、计算机设备和存储介质
技术领域
本申请涉及仿真技术领域,特别是涉及一种物理仿真方法、装置、计算机设备和存储介质。
背景技术
随着科学技术的发展,出现了仿真技术,仿真是指通过数学方程组描述某一过程,并通过数值计算方法在计算平台上求解方程组,从而预测该过程的结果的一种技术手段。
目前,在很多场景中都需要对多物理现象进行仿真。多物理仿真涉及多于一种物理现象,且不同物理场之间会相互产生影响的仿真问题。其中物理现象包括但不限于流体、气体、固体、弹性体、生物组织的力学、声学、电学、光学以及磁学效应。例如,需要对子弹打出后,在空气中的移动进行仿真,也需要确定子弹打入某个物体的过程中,物体的变化状态与物体周围的空气的变化状态进行仿真。
传统技术中,在对多物理现象进行仿真时,通常是按顺序依次逐个地仿真涉及的每一种物理现象,求解某一物理现象时,其他物理现象的影响会被设定为已知,存在仿真准确度低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种物理仿真方法、装置、计算机设备和存储介质。
一种物理仿真方法,所述方法包括:在针对目标固体对象与目标气体对象的物理仿真过程中,获取所述目标固体对象在当前时间步的当前固体状态以及所述目标气体对象在当前时间步的当前气体状态;基于所述当前固体状态对所述目标固体对象进行位置移动仿真,得到中间固体状态;基于所述当前气体状态对所述目标气体对象进行对流仿真,得到中间气体状态;基于所述中间气体状态、所述中间固体状态以及交界约束条件进行耦合仿真,得到所述目标固体对象在下一时间步的目标固体状态以及所述目标气体对象在下一时间步的目标气体状态;其中所述交界约束条件为所述目标固体对象与所述目标气体对象之间的交界对应的约束条件,所述交界约束条件包括交界压强约束条件。
一种物理仿真装置,所述装置包括:当前状态获取模块,用于在针对目标固体对象与目标气体对象的物理仿真过程中,获取所述目标固体对象在当前时间步的当前固体状态以及所述目标气体对象在当前时间步的当前气体状态;位置移动仿真模块,用于基于所述当前固体状态对所述目标固体对象进行位置移动仿真,得到中间固体状态;对流仿真模块,用于基于所述当前气体状态对所述目标气体对象进行对流仿真,得到中间气体状态;耦合仿真模块,用于基于所述中间气体状态、所述中间固体状态以及交界约束条件进行耦合仿真,得到所述目标固体对象在下一时间步的目标固体状态以及所述目标气体对象在下一时间步的目标气体状态;其中所述交界约束条件为所述目标固体对象与所述目标气体对象之间的交界对应的约束条件,所述交界约束条件包括交界压强约束条件。
在一些实施例中,所述耦合仿真模块用于:将所述中间气体状态作为气体压强约束方程的已知变量,得到气体约束条件;其中,所述气体压强约束方程为中间气体状态与目标气体压强之间的约束方程;将所述中间固体状态作为固体压强约束方程的已知变量,得到固体约束条件;其中,所述固体压强约束方程为中间固体状态与目标固体压强之间的约束方程;根据所述气体约束条件、所述固体约束条件以及所述交界约束条件进行耦合仿真,得到所述目标固体对象在下一时间步的目标固体状态以及所述目标气体对象在下一时间步的目标气体状态。
在一些实施例中,所述气体压强约束方程为将气体对应的压强推进方程代入气体动量修复方程得到,所述固体压强约束方程为将固体对应的压强推进方程代入固体动量修复方程得到。
在一些实施例中,所述目标固体状态包括所述目标固体对象对应的目标固体速度,所述目标气体状态包括所述目标固体气体对应的目标气体压强;所述耦合仿真模块用于:根据所述气体约束条件、所述固体约束条件以及所述交界约束条件进行耦合仿真,得到所述目标固体对象对应的目标固体压强以及所述目标气体对象对应的目标气体压强;根据所述目标固体压强以及所述固体动量修复方程修复得到所述目标固体对象对应的目标固体速度;根据所述目标气体压强以及所述气体动量修复方程修复得到所述目标气体对象对应的目标气体速度。
在一些实施例中,所述气体压强约束方程为:
Figure BDA0003303540820000031
所述固体压强约束方程为:
Figure BDA0003303540820000032
其中,Δt为时间步长,Sf代表气体对应的刚性系数,
Figure BDA0003303540820000033
代表下一时间步气体的密度,
Figure BDA0003303540820000034
为拉普拉斯算子,
Figure BDA0003303540820000035
代表下一时间步气体的目标气体压强,
Figure BDA0003303540820000036
代表气体的中间压强状态;
Figure BDA0003303540820000037
代表空间散度算子,
Figure BDA0003303540820000038
代表气体的中间速度状态,Ss代表固体对应的刚性系数,
Figure BDA0003303540820000039
代表下一时间步固体的目标固体密度,
Figure BDA00033035408200000310
代表下一时间步固体的目标固体压强,
Figure BDA00033035408200000311
代表固体的中间压强状态;
Figure BDA00033035408200000312
代表固体的中间速度状态。
在一些实施例中,所述交界约束条件包括交界压强约束条件以及交界速度约束条件,所述交界压强约束条件包括交界处固体压强与气体压强一致,所述交界速度约束条件包括交界接触面所述目标固体对象与所述目标气体对象法向速度一致。
在一些实施例中,所述位置移动仿真模块用于:在拉格朗日视角下,基于所述当前固体状态对所述目标固体对象进行位置号移动仿真,得到以拉格朗日视角记录的中间固体状态;所述对流仿真模块用于:将以拉格朗日视角记录的中间固体状态投射到所述目标气体对象对应的气体网格中,并转化为欧拉视角记录的中间固体状态;基于欧拉视角记录的中间固体状态,以及欧拉视角记录的离散到所述气体网格中的当前气体状态,对所述目标气体对象进行对流仿真,得到欧拉视角记录的中间气体状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现物理仿真方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现物理仿真方法的步骤。
上述物理仿真方法、装置、计算机设备和存储介质,由于可以先分别对固体对象以及气体对象分别进行仿真,得到中间的状态信息,然后再基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,即一起进行求解,以对中间的状态进行修复,因此能对多物理现象更为准确的描述,使得得到的目标固体状态以及目标气体状态更加准确,提高了物理仿真的准确性。
附图说明
图1为一些实施例中物理仿真方法的应用环境图;
图2为一些实施例中物理仿真方法的流程示意图;
图3为一些实施例中耦合步骤的流程示意图;
图4为一些实施例中物理仿真装置的结构框图;
图5为一些实施例中计算机设备的内部结构图;
图6为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的物理仿真方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以向服务器104发送仿真指令,服务器104接收到仿真指令,执行本申请实施例提供的物理仿真方法,得到物理仿真结果,服务器104可以存储物理仿真结果,也可以向终端102返回物理仿真结果,终端102可以通过动画的形式展示物理仿真结果对应的仿真画面。例如,以动画的形式播放子弹打入某个物体的过程中,子弹的变化状态、物体的变化状态以及物体周围的空气的变化状态,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。可以理解,本申请实施例提高的物理仿真方法,也可以是终端执行的,或者由终端与服务器协同执行。
本申请实施例涉及物理仿真,首先对物理仿真进行解释。物理仿真中,仿真的结果是对空间中的相关物理量储存为一个随时间的变化数据序列,仿真顺序与时间流逝顺序相同,例如将第n个时间步的结果作为输入,计算出第n+1时间步结果的输出。
一般地,用户会输入最开始的即第0个时间步的数据(称为初始条件),然后指定计算到某一个时间步m为止,一个物理仿真算法,其是不断重复从上一时间步到下一时间步的过程,即是第0步到第1步、第1步到第2步、……、第m-1步到第m步不断重复的过程,那么0,1,2,…,m-1,m的结果序列全体构成输出结果,即物理仿真结果。
而上文的“相关物理量储存为一个随时间的变化数据序列”也叫“物理量在时空间中的离散”,真实世界中,物理量是连续分布于空间的,即其在空间中的分辨率是无限大的,其随时间的变化也是连续的,分辨率也是无限大的,计算机无法储存无限多的数据,因此,仿真算法会首先将相关物理量在时空间中离散为可数个值。举例而言,某个仿真问题涉及到一个三维正方体内部的密度、温度、与速度在时间0~1秒内的变化,如果将一个正方体空间分为10x10x10=1000个网格,每个网格中心各放置一个密度、温度以及速度值,则在任意时刻(时间步),此时刻对应的1000个密度、1000个温度、与1000个速度即对物理场的近似,其中空间点坐标与数据储存的位置可以由指定的映射关系L(x,y,z)→索引位置给出,又如果0~1秒被离散成了了十个时间步,一个网格对应1个密度、1个温度以及1个速度,有1000个网格,则每一个时间步的结果是1000个密度、1000个温度、和1000个速度的数据集合,总共10个不同时间步的数据集合构成的序列,是物理仿真的结果。
对于申请实施例的物理仿真方法,气体侧涉及到的物理量可以包括:密度ρf、压强Pf以及气体速度uf。气体速度可以包括三个方向的速度分量:x轴方向上的速度ufx、y轴方向上的速度ufy以及z轴方向上的速度ufz。气体可以被离散到一套规则的背景网格上,例如上文提到的10*10*10个网格,固体可以分解为一个个的粒子,即多个固体粒子,粒子具体大小根据需要可以设置,固体侧涉及到的物理量可以包括:粒子位置X、粒子质量ms、粒子速度、以及粒子形变梯度。其中在三维空间中,粒子速度可以包括三个方向的速度分量:x轴方向上的速度usx、y轴方向上的速度usy以及z轴方向上的速度usz
在一些实施例中,如图2所示,提供了一种物理仿真方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,在针对目标固体对象与目标气体对象的物理仿真过程中,获取目标固体对象在当前时间步的当前固体状态以及目标气体对象在当前时间步的当前气体状态。
其中,目标固体对象是指需要进行物理仿真的固体,具体根据需要设置,可以为一个或者多个,目标固体对象具有弹性,可以发生形变,例如可以是子弹。目标气体对象是指要进行物理仿真的气体,目标气体对象可以被压缩,例如可以是空气,可以为一个或者多个。目标固体对象与目标气体对象相互作用,因此需要确定目标固体对象与目标气体对象在相互作用的过程中,各个时间步的状态变化。
在仿真的过程中,一个时间步一个时间步的进行仿真,基于当前时间步中各个物理现象的状态得到下一个时间步各个物理现象的状态。当前时间步是指当前的时间步。当前固体状态是当前时间步固体的状态。当前气体状态是当前时间步气体的状态。当前固体状态以及当前气体状态可以是输入的初始的状态,也可以是仿真得到的。例如,在开始进行仿真时,将初始的固体状态作为当前时间步的当前固体状态,将初始的气体状态作为当前时间步的当前气体状态,第一个时间步为下一时间步,即需要进行仿真得到物理现象的状态的时间步。基于初始的固体状态以及初始的固体状态仿真得到第一个时间步的固体状态以及气体状态后,则当前时间步更新为第一个时间步,第二个时间步为下一时间步。
固体状态可以包括粒子位置、粒子质量以及粒子速度。气体状态可以包括密度、压强以及气体速度。其中,粒子质量以及气体密度可以认为是不变的。
时间步长指跨越时间的长度,仿真到同样的终止时间,如果时间步长越小,则需要仿真的步骤数也就越多,整个仿真所需要计算的时间也会越长。时间步的步长可以根据需要设置。也可以是计算目标固体对象与目标气体对象这两种物理现象各自能够容许的最大时间步长,取其中的较小值作为耦合系统的时间步长。计算步长的算法可以根据需要设置,在满足CFL条件下计算得到时间步长。CFL条件又称克朗条件,英文全称为Courant-Friedrichs-Lewy condition,CFL条件是有关数值计算稳定性和收敛的重要条件。
具体地,在针对目标固体对象与目标气体对象的物理仿真过程中,当仿真得到一个时间步的固体状态以及气体状态后,可以将该时间步的固体状态作为当前固体状态以及将该时间步的气体状态作为当前气体状态,以继续针对下一个时间步的固体状态以及气体状态进行仿真。
步骤S204,基于当前固体状态对目标固体对象进行位置移动仿真,得到中间固体状态。
位置移动仿真是指对目标固体对象的各个固体粒子进行移动仿真,得到粒子的位置以及形变梯度。位置移动仿真是在不考虑压强下进行的,其中气体的影响可以忽略或者将其作为边界条件。位置移动仿真的算法可以根据需要设置,例如可以是前向欧拉积分法。中间固体状态代表的是固体的中间态,由于其是在不考虑压强的影响下进行的,因此可以认为是还需要进一步进行修正的下一时间步的固体状态,即通过对中间固体状态进行修改,可以得到目标固体对象在下一时间步的目标固体状态。
具体地,服务器可以获取当前固体状态,基于预设的固体的位置更新算法(位置移动仿真算法)进行仿真,得到中间固体状态。其中,预设的位置移动仿真算法可以使用固体状态对应的控制方程进行求解,由于位置移动仿真是在不考虑压强下进行的,因此该控制方程为去除压强有关的方程项的方程。
以下对位置移动仿真的原理进行解释:一般而言,弹性固体的控制方程为公式(1)以及公式(2),其中脚标s代表固体,ρ、u、P、E、σ、g分别代指密度、速度、压强、焓、应力张量、重力加速度,是物理仿真中的常用物理量,其表达的字母选取与本发明无关,
Figure BDA0003303540820000071
代表空间梯度算符,
Figure BDA0003303540820000072
代表散度算符。
Figure BDA0003303540820000073
为时间离散符,其中F指代任意物理状态量。
Figure BDA0003303540820000074
Figure BDA0003303540820000081
而在进行固体的物理仿真时,可以去除其中的压强项,则步骤S204可以是指求解方程(3)以及(4),即忽略了公式(2)中的压强项,因此求解得到的是一个中间状态,后续需要进行修复。
Figure BDA0003303540820000082
Figure BDA0003303540820000083
步骤S206,基于当前气体状态对目标气体对象进行对流仿真,得到中间气体状态。
对流仿真与压强无关,固体的影响可以忽略或者将其作为已知的边界条件,对流仿真考虑的是气体速度对于质量、动量以及能量的输运,因此称为对流步骤。
具体地,服务器可以基于预先设置的算法进行对流仿真,得到中间气体状态,其中,气体可以离散至多个气体网格中,即可以将气体看成是通过多个气体网格的气体单元组成的,可以获取每个气体网格对应的气体状态。其中,这里的“网格”代表的是一个单元,其形状可以根据需要设置,例如是可以正方形也可以是圆形。气体网格可以是结构网格,结构网格在二维的形状为矩形或在三维的形状为长方体(三维),且网格的边与坐标轴方向平行。即通过步骤S206可以将气体状态从当前时间步推进至一个待修复的中间状态。预先设置的算法可以包括有限差分格式与ENO(essentially nonoscillatory schemes,基本无振荡)/WENO(加权基本无振荡,weighted essentially non-oscillatory schemes)重构方法。
在一些实施例中,可配合“多时间步积分方法”例如龙格库塔方法来提升中间气体状态和中间固体状态的精度。
在一些实施例中,由于对流仿真与压强无关,因此在进行对流仿真之后,服务器还可以对压强进行更新,得到中间压强状态,加入到中间气体状态中,其中,中间压强状态用本构方程更新,例如在步骤S206后,利用气体的已知的状态方程得到中间态的压强P*
以下对对流仿真的原理进行解释:一般而言,可压缩气体(用脚标f代指)的控制方程为公式(5)、(6)以及(7)。
Figure BDA0003303540820000091
Figure BDA0003303540820000092
Figure BDA0003303540820000093
而在进行气体的对流仿真时,可以去除其中的压强项,则步骤S206可以是指求解方程(8)到(10),即忽略了公式(6)以及(7)中的压强项,因此求解得到的是一个中间状态,后续需要进行修复。
Figure BDA0003303540820000094
Figure BDA0003303540820000095
Figure BDA0003303540820000096
其中,公式(8)~(10)的另一形式可以表示如公式(11)~(13)。其中上标“*”代表中间态,“n”代表当前时间步。例如
Figure BDA0003303540820000097
代表气体密度的中间状态。ρfuf称为动量,ρfEf称为能量,则(ρfEf)n表示当前时间步的能量。
Figure BDA0003303540820000098
Figure BDA0003303540820000099
Figure BDA00033035408200000910
在对流仿真求解结束后,可以基于得到气体的中间状态以及气体的状态方程得到中间态的压强P*
可以理解,固体和气体满足本身物理模型所给出的本构方程。本构方程取决于具体材料。上述气体的控制方程为守恒格式,根据具体的本构模型,其亦可转换成另一种等价的非守恒格式。
步骤S208,基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态。
其中,耦合仿真是指一起进行仿真,即目标固体状态以及目标气体状态是一起解出来的,并不是分离的。在进行耦合仿真时,考虑了压强的影响,因此考虑了步骤S204以及S206中不考虑压强的作用带来的错误,因此能够对中间气体状态以及中间固体状态进行修复。
交界约束条件为目标固体对象与目标气体对象之间的交界对应的约束条件,交界约束条件包括交界压强约束条件。例如,在气体和固体的交界面处,气体由于不能穿透固体,故气体与固体在交界处的压强大小一致,即交界压强约束条件包括气体与固体在交界处的压强大小一致。交界约束条件还可以包括交界速度约束条件,交界速度约束条件包括交界接触面目标固体对象与目标气体对象法向速度一致。
具体地,在进行耦合仿真时,中间气体状态、中间固体状态可以被看出是一种待修复的状态,服务器可以基于与压强有关的气体控制方程、与压强有关的固体控制方程、中间气体状态、中间固体状态以及交界约束条件一起求解,得到满足约束条件的下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态。可以理解,得到下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态后,则下一时间步更新为当前时间步,可以循环执行本申请步骤S202~S208,直至所有时间步都得到仿真得到的状态。
在一些实施例中,基于当前固体状态对目标固体对象进行位置移动仿真,得到中间固体状态包括:在拉格朗日视角下,基于当前固体状态对目标固体对象进行位置号移动仿真,得到以拉格朗日视角记录的中间固体状态。基于当前气体状态对目标气体对象进行对流仿真,得到中间气体状态包括:将以拉格朗日视角记录的中间固体状态投射到目标气体对象对应的气体网格中,并转化为欧拉视角记录的中间固体状态;基于欧拉视角记录的中间固体状态,以及欧拉视角记录的离散到气体网格中的当前气体状态,对目标气体对象进行对流仿真,得到欧拉视角记录的中间气体状态。
欧拉视角追踪空间中固定的采样点的状态随时间的变化,拉格朗日视角则随着代表物质的点运动,并追踪这些点携带的状态变化。气体会充满空间中尚未被占据的地方,因此适合使用欧拉视角,而固体可能会在空间中大范围运动,因此适合拉格朗日视角。而本申请实施例中,在进行位置移动仿真时,是在拉格朗日视角下进行的,从而使得对固体的物理仿真更加准确。
投射也可以称为投影。投影是转换视角的过程,视角转化的过程可以理解为将记录在粒子信息所代表的离散物理场1,重新分配到记录在附近网格格点(也即附近的另一格点)上。转换后格点记录的信息代表了一个新的离散物理场2,这两个离散的物理场其实都是对同一个真实物理场的近似,因此他们之间越接近投影的效果就越好。记投影前的点为起始点ps,即将投影到的点为目标点pd,投影的任意物理量为F,则有公式(14)如下,这个公式的意思是目标点的物理量的值为附近所有起始点的值的加权ws,d求和Σs。w权重被称为通道函数,起始点为记录离散的固体信息的粒子,目标点为网格格点。
F(Pd)=Σsws,dF(Ps) (14)
通过在固体位置移动以后,将记录于拉格朗日视角下的相关物理信息,包括但不限于:质量,速度,体积,压强,投射到与气体同一套的气体网格上,因此能够方便地在同一套网格上构建耦合系统。因此步骤S208可以是在欧拉视角下进行的。当耦合仿真结束后,可以将目标固体对象的目标固体状态从欧拉视角转换为拉格朗日视角。
本申请实施例中,对于可压缩气体的气体仿真,采用欧拉视角进行仿真。而弹性固仿真采纳混合视角:即固体的位置移动使用拉格朗日视角,状态数据记录在代表固体质量点的粒子上,与气体的耦合步骤使用欧拉视角,并在气体网格上进行,固体的状态数据记录在和气体同一套网格,避免重新绘制与重构耦合的网格,两视角之间采用投射技术来保证准确性,且耦合步骤采用欧拉视角并且在一套气体网格上进行仿真,从而使得仿真数学系统的构建更加方便,且能够减少网格重构的时间。
在一些实施例中,在移动固体位置后,即使不考虑气体的压强影响,其速度及其形变梯度分布通常不符合本构方程限制,因此可以采纳速度及其形变梯度分布通进行修复。修复算法可以包括但不限于牛顿法或者拟牛顿法等,其中该修复既可以在拉格朗日视角下修复,也可以在投射到欧拉视角后,即投射到气体网格后,在对应的网格上修复。当修复成功后,再执行步骤S204。
上述物理仿真方法中,由于可以先分别对固体对象以及气体对象分别进行仿真,得到中间的状态信息,然后再基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,即一起进行求解,以对中间的状态进行修复,因此能对多物理现象更为准确的描述,使得得到的目标固体状态以及目标气体状态更加准确,提高物理仿真的准确性。
以下对耦合仿真的原理进行解释,根据步骤S204~S208可知,在对气体和固体相互作用的条件下进行物理仿真时,气体的物理仿真采用了时间分离技术,分为压强无关的步骤(步骤S206)与压强有关步骤(步骤S208),固体的物理仿真采用了时间分离技术,分为压强无关的步骤(步骤S204)与压强有关步骤(步骤S208)。
而在气体和固体的交界面处,气体由于不能穿透固体,即两者在接触面法向(法向向量用W代指)速度一致,而且在此处的压强大小也一致,因此可以添加两种交界约束条件,如公式(15)的速度约束条件以及公式(16)的压强约束条件,在步骤S208进行耦合仿真时,可以获取与压强有关的控制方程以及交界约束条件进行耦合仿真。
(uf-us)·W=0 (15)
Pf-Ps=0 (16)
其中,气体的时间分离第二步为压强相关的步骤,描述如公式(17)以及(18)
Figure BDA0003303540820000121
Figure BDA0003303540820000122
其中公式(18)能量方程,可以等价变化转换为一个压强方程如公式(19)。此转化步骤的是为了能够直接利用耦合的压强约束条件。其中Sf为刚度放缩矩阵,取决于气体的本构方程。
Figure BDA0003303540820000123
而基于与气体相似的原理,弹性固体的时间分离第二步的控制方程(20)以及(21)与上述固体的时间分离控制方程(17)以及(18)形式一致,因此亦可以利用耦合的压强约束条件。因此,公式(15)至(21)构成了完整的强耦合系统,可以进行联立求解。可以理解,此处的强耦合系统同时包含了压强与速度未知量,其离散系统在数学中一般被称作KKT(Karush-Kuhn-Tucker)系统,可以直接进行求解。也可以将变换为只包含压强未知量的SPD系统或者PD(正定)系统,先求解压强,基于压强求解速度,以提高求解效率。其中,KKT系统、SPD系统以及PD系统为代数系统。
Figure BDA0003303540820000131
Figure BDA0003303540820000132
通过上述分析,步骤S208采用了强耦合的方式进行求解。所谓“强耦合”是指将各个物理现象及它们间的联系包含在一个完整的数学方程组中,一起求解。强耦合是对多物理现象更为准确的描述。时间分离指的是将一个同时涉及多个相互影响项的时间步分解为,逐次求解单个或部分影响项的子步骤。时间分离与完全分离求解不同,完全分离求解的分解步骤是依据物理现象,每一次求解结束后输出的即为该物理现象在下一时间步的结果。而时间分离中,每一个子步骤的结果会作为下一个子步骤的输入,待全部子步骤解完后得到下一个时间的结果。单物理系统使用时间分离技术可以降低求解难度。由于可压缩气体流动过程中,传递的信息是流动与声波的叠加,表现在数学方程中则是压强无关项与压强项,如不将两者分离,则时间步长被限制为网格尺寸除以声速与流速之和,远小于不可压缩流动的时间步长。而通过时间分离技术,对可压缩气体部分采用时间分离,将流动与声波传递分离,能够使得时间步长不再受声速限制,能够提高时间步长。
此外,对于连续的数学方程组,物理状态量以及用于其的操作算符是在空间中连续,因此可以先进行离散,然后再进行求解,再被进行求解。离散包括空间离散和时间离散。对于离散,物理状态量的离散取决于网格的种类,以及将这些物理量放置于何处,放置位置包括但不限于网格的格点,网格的中心等。空间离散的操作算符
Figure BDA0003303540820000141
分别代表空间梯度和散度算符,其离散除了网格类型,还取决于离散系统的方法及方法的特殊格式。离散系统的方法包括但不限于有限差分法、有限体积法或者有限元法。特殊格式包括但不限于不同的阶数等。对于时间离散,时间离散作用于操作算符
Figure BDA0003303540820000142
其中F指代上述提到的任意物理状态量,可以将操作算符其转化为离散的时间推进算符
Figure BDA0003303540820000143
其中ΔF代指两个离散量之间的差值,对于时间分离第一步,物理量的差值为待修复的中间状态减去当前时间步;对于时间分离第二步,物理量的差值为本时间步结束后的值减去待修复的中间状态;Δt则为时间步长。
对于将KKT系统转化为SPD系统来提高求解效率的问题,记上标n、*、n+1分别为当前时间步的、待修复的中间态、下一时间步;记G,D分别为离散梯度算符与离散散度算符,根据数学通识D=-GT,即离散散度算符对应的矩阵为负的离散梯度算符的转置,则控制方程都变换为成如下离散形式。其中,下标f,s同时存在是指可以适用于气体和固体。
Figure BDA0003303540820000144
Figure BDA0003303540820000145
将上述两方程中的公式(22)代入公式(23),得到只包含压强未知量的公式(24,即转换为PD系统或者SPD系统。
Figure BDA0003303540820000146
因为在公式(24)只包含压强变量,在求解结束后,可以根据压强来修复得到速度等变量。气体与固体的速度变量可依照公式(25)修复。其中,U代表动量,M为质量运算符,M-1等于密度的倒数。下标f以及s同时存在表示可以适用于气体以及固体。
Figure BDA0003303540820000147
此后,气体的能量项可以按照公式(26)修复,以便下一时间步中的时间分离第一步。
Figure BDA0003303540820000151
以下结合图3对如何得到只包含压强未知量的公式以及如何得到最终的修复完成的目标固体状态以及目标气体状态进行解释。
在一些实施例中,如图3,基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态包括:
步骤S302,将中间气体状态作为气体压强约束方程的已知变量,得到气体约束条件;其中,气体压强约束方程为中间气体状态与目标气体压强之间的约束方程。
其中,气体压强约束方程是中间气体状态与目标气体压强之间的约束方程,约束了中间气体状态与目标气体压强之间的对应关系。可以根据气体的压强推进方程以及动量修复方程得到,例如可以是将气体对应的压强推进方程代入气体动量修复方程得到。
气体压强约束方程的原理描述如下:由于在进行位置仿真以及对流仿真时,没有考虑压强,因此中间状态的物理量需要修复,需将对流步骤中没有考虑的压强引入其中,其中,修复物理量时,以气体为例,动量的数学描述可以描述为公式(27),能量修复的数学描述可以描述为公式(28)
Figure BDA0003303540820000152
Figure BDA0003303540820000153
利用压强修复气体的动量与能量的方程中,因为需要n+1步的压强,在求解前尚未得知,因此引入可压缩气体所满足的压强推进方程,表示如公式(27)。将气体对应的压强推进方程代入气体动量修复方程(29),可以得到气体压强约束方程,如公式(30),称为扩散方程。公式(30)中的符号
Figure BDA0003303540820000154
为拉普拉斯算子,有
Figure BDA0003303540820000155
刚性系数Sf=(ρfc2)n,ρ为密度,c为声速。即为对一个物理场先做梯度操作,再做散度操作。上文已经指出梯度和散度算子可以被离散化,因此拉普拉斯算子即为连续进行两个离散操作,也是离散操作。如果记离散梯度算子为G,离散散度算子为D,那么上述扩散方程变成离散形式,可以表示为公式(31)。
Figure BDA0003303540820000161
Figure BDA0003303540820000162
Figure BDA0003303540820000163
具体地,可以将中间气体状态代入公式(31),例如公式(31)中的
Figure BDA0003303540820000164
以及
Figure BDA0003303540820000165
为中间压强状态以及中间速度状态。从而使得公式(31)中的未知变量为下一时间步(n+1时间步)的压强
Figure BDA0003303540820000166
步骤S304,将中间固体状态作为固体压强约束方程的已知变量,得到固体约束条件;其中,固体压强约束方程为中间固体状态与目标固体压强之间的约束方程。
与步骤S302原理相似,可以将记录在网格上的固体的中间速度状态记录为
Figure BDA0003303540820000167
以及与中间压强
Figure BDA0003303540820000168
则也可推导出与固体压强约束公式(32)以及离散形式的公式(33),这里不再赘述,其中固体的刚性系数Ss与固体的材料模型有关。
Figure BDA0003303540820000169
Figure BDA00033035408200001610
具体地,可以将中间固体状态代入公式(33),例如公式(33)中的
Figure BDA00033035408200001611
以及
Figure BDA00033035408200001612
为中间压强状态以及中间速度状态。从而使得公式(33)中的未知变量为下一时间步(n+1时间步)的压强
Figure BDA00033035408200001613
在一些实施例中,对于固体约束条件,也可以转化为只包含压强未知量的公式(34)以及只包含压强未知量的公式(35),其中公式(34)为交界速度约束条件,公式(35)为交界压强约束条件。其中“M”代表质量运算符。
Figure BDA00033035408200001614
Pf-Ps=0 (35)
步骤S306,根据气体约束条件、固体约束条件以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态。
具体地,可以根据气体约束条件、固体约束条件以及交界约束条件进行联立求解,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态。例如,联合公式(31)、(33)、(34)以及(35)进行求解,得到目标固体对象对应的目标固体压强以及目标气体对象对应的目标气体压强。
在一些实施例中,例如,可以根据气体约束条件、固体约束条件以及交界约束条件进行耦合仿真,得到目标固体对象对应的目标固体压强以及目标气体对象对应的目标气体压强。根据目标固体压强以及固体动量修复方程修复得到目标固体对象对应的目标固体速度,根据目标气体压强以及气体动量修复方程修复得到目标气体对象对应的目标气体速度。
例如,以气体为例,求解PD系统后,n+1时间步固体与气体的压强已经取得,因此对于气体,可以利用动量修复方程(36)来得到n+1时刻的动量与速度。
Figure BDA0003303540820000171
此后再利用能量修复方程(37)得到n+1时刻的能量。
Figure BDA0003303540820000172
对于固体,还可以根据压强对形变梯度进行修复,通过根据固体投影在网格上的物理量进行速度以及形变梯度的修复,能够修复固体本身的应力不平衡。
本申请实施例中,通过只包含压强的PD系统,求解压强之后再进行速度的求解,相较于直接将气体侧的压强与固体的速度场耦合的传统办法所得的KKT系统,能够提高求解效率。
在一些实施例中,在求解时,固体与气体各个待求解的速度,压强自由度可以被标记出来,标记是指即将空间中的位置编号通过一个索引转化为一个平铺的排号的过程,固体与气体的交界处也可以被标记以便施加离散的约束条件。上述界面的标记既可以沿着网格的边缘进行,也可以使用网格切割/合并技术来提高精度。网格切割/合并技术本质上是通过对结构化网格内部进行建模来提升精度,本质依然是结构网格。
在一些实施例中,由于耦合仿真是在气体网格上进行的,在修复结束后,固体在网格上的速度需投影回粒子,即从欧拉视角回到拉格朗日视角,以便继续下一时间步时固体的位置移动仿真。此处的透射方法为将拉格朗日视角的固体状态投射到欧拉视角的固体状态的反过程。
在应用本申请实施例提供的方法进行仿真时,可以在仿真软件中输入以下初始条件数据,即仿真系统的初始输入可以包括:气体与固体的初始状态条件、边界条件、气体与固体的本构模型、计算时间步长的限制条件,时间分离方法中气体的压强无关与压强相关项、固体的位置更新算法、固体的自身形变修复算法、强耦合系统的构造与离散算法、离散系统的求解器。仿真过程中重复每一个时间步的仿真步骤,直到到达设定的终止时间,得到仿真结果。在仿真的每一个时间步,数据的输入可以包括:气体当前的气体状态例如密度、速度以及压强,固体当前的固体状态例如速度以及形变梯度,仿真系统的输出可以包括:当前时间步长、气体下一个时间步的状态例如密度、速度以及压强,固体下一个时间步的状态例如速度以及形变梯度。
以下对时间离散和空间离散进行一步解释,在已经将物理量离散为每个离散的时间步下,空间中限个数据点的前提下,控制方程中依然含有连续的:时间算子
Figure BDA0003303540820000181
和空间梯度算子
Figure BDA0003303540820000182
空间散度算子
Figure BDA0003303540820000183
它们需要被转化为离散的,计算机可以处理的算子。对于任意的时间步,记时间步长为Δt,则方程中的时间导数
Figure BDA0003303540820000184
们转化为离散的差分算子
Figure BDA0003303540820000185
记上一步结束时的物理量带有角标n,即将求解的物理量带有角标n+1,则具体而言有,中间态与目标态的关系可以表示如公式(38)~(42)
Figure BDA0003303540820000186
Figure BDA0003303540820000187
Figure BDA0003303540820000188
Figure BDA0003303540820000189
Figure BDA0003303540820000191
方程左边第一项即为差分的时间导数,计算机可以直接处理。空间算子取决于空间是被什么样的网格所填充,也取决于离散算法本身,空间梯度算子如公式(43),其中,记其作用的任意物理量为F。
Figure BDA0003303540820000192
空间散度算子表示如公式(44),其中散度作用于矢量,即在三个空间维度上各有一个值的量,例如速度为矢量,记其作用的任意物理矢量为F=(Fx,Fy,Fz)
Figure BDA0003303540820000193
通过上述离散处理,记录在离散空间中的物理量可以被映射到计算机内存空间中,因此空间离散算子就变成了内存中数据的加减乘除基本操作。而且方程中的续算子都被转化为离散形式,物理量也记录在离散的时间步下的,离散的空间数据点上,因此计算机可以直接处理。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,如图4所示,提供了一种物理仿真装置,包括:
当前状态获取模块402,用于在针对目标固体对象与目标气体对象的物理仿真过程中,获取目标固体对象在当前时间步的当前固体状态以及目标气体对象在当前时间步的当前气体状态;
位置移动仿真模块404,用于基于当前固体状态对目标固体对象进行位置移动仿真,得到中间固体状态;
对流仿真模块406,用于基于当前气体状态对目标气体对象进行对流仿真,得到中间气体状态;
耦合仿真模块408,用于基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态;
其中交界约束条件为目标固体对象与目标气体对象之间的交界对应的约束条件,交界约束条件包括交界压强约束条件。
在一些实施例中,耦合仿真模块用于:将中间气体状态作为气体压强约束方程的已知变量,得到气体约束条件;其中,气体压强约束方程为中间气体状态与目标气体压强之间的约束方程;将中间固体状态作为固体压强约束方程的已知变量,得到固体约束条件;其中,固体压强约束方程为中间固体状态与目标固体压强之间的约束方程;根据气体约束条件、固体约束条件以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态。
在一些实施例中,气体压强约束方程为将气体对应的压强推进方程代入气体动量修复方程得到,固体压强约束方程为将固体对应的压强推进方程代入固体动量修复方程得到。
在一些实施例中,目标固体状态包括目标固体对象对应的目标固体速度,目标气体状态包括目标固体气体对应的目标气体压强;耦合仿真模块用于:根据气体约束条件、固体约束条件以及交界约束条件进行耦合仿真,得到目标固体对象对应的目标固体压强以及目标气体对象对应的目标气体压强;根据目标固体压强以及固体动量修复方程修复得到目标固体对象对应的目标固体速度;根据目标气体压强以及气体动量修复方程修复得到目标气体对象对应的目标气体速度。
在一些实施例中,气体压强约束方程为:
Figure BDA0003303540820000201
固体压强约束方程为:
Figure BDA0003303540820000202
其中,Δt为时间步长,Sf代表气体对应的刚性系数,
Figure BDA0003303540820000203
代表下一时间步气体的密度,
Figure BDA0003303540820000204
为拉普拉斯算子,
Figure BDA0003303540820000205
代表下一时间步气体的目标气体压强,
Figure BDA0003303540820000206
代表气体的中间压强状态;
Figure BDA0003303540820000207
代表空间散度算子,
Figure BDA0003303540820000208
代表气体的中间速度状态,Ss代表固体对应的刚性系数,
Figure BDA0003303540820000209
代表下一时间步固体的目标固体密度,
Figure BDA00033035408200002010
代表下一时间步固体的目标固体压强,
Figure BDA0003303540820000211
代表固体的中间压强状态;
Figure BDA0003303540820000212
代表固体的中间速度状态。
在一些实施例中,交界约束条件包括交界压强约束条件以及交界速度约束条件,交界压强约束条件包括交界处固体压强与气体压强一致,交界速度约束条件包括交界接触面目标固体对象与目标气体对象法向速度一致。
在一些实施例中,位置移动仿真模块用于:在拉格朗日视角下,基于当前固体状态对目标固体对象进行位置号移动仿真,得到以拉格朗日视角记录的中间固体状态;对流仿真模块用于:将以拉格朗日视角记录的中间固体状态投射到目标气体对象对应的气体网格中,并转化为欧拉视角记录的中间固体状态;基于欧拉视角记录的中间固体状态,以及欧拉视角记录的离散到气体网格中的当前气体状态,对目标气体对象进行对流仿真,得到欧拉视角记录的中间气体状态。
关于物理仿真装置的具体限定可以参见上文中对于物理仿真方法的限定,在此不再赘述。上述物理仿真装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储物理仿真结果。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种物理仿真方法。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种物理仿真方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5以及6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:在针对目标固体对象与目标气体对象的物理仿真过程中,获取目标固体对象在当前时间步的当前固体状态以及目标气体对象在当前时间步的当前气体状态;基于当前固体状态对目标固体对象进行位置移动仿真,得到中间固体状态;基于当前气体状态对目标气体对象进行对流仿真,得到中间气体状态;基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态;其中交界约束条件为目标固体对象与目标气体对象之间的交界对应的约束条件,交界约束条件包括交界压强约束条件。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在针对目标固体对象与目标气体对象的物理仿真过程中,获取目标固体对象在当前时间步的当前固体状态以及目标气体对象在当前时间步的当前气体状态;基于当前固体状态对目标固体对象进行位置移动仿真,得到中间固体状态;基于当前气体状态对目标气体对象进行对流仿真,得到中间气体状态;基于中间气体状态、中间固体状态以及交界约束条件进行耦合仿真,得到目标固体对象在下一时间步的目标固体状态以及目标气体对象在下一时间步的目标气体状态;其中交界约束条件为目标固体对象与目标气体对象之间的交界对应的约束条件,交界约束条件包括交界压强约束条件。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种物理仿真方法,其特征在于,所述方法包括:
在针对目标固体对象与目标气体对象的物理仿真过程中,获取所述目标固体对象在当前时间步的当前固体状态以及所述目标气体对象在当前时间步的当前气体状态;
基于所述当前固体状态对所述目标固体对象进行位置移动仿真,得到中间固体状态;
基于所述当前气体状态对所述目标气体对象进行对流仿真,得到中间气体状态;
将所述中间气体状态作为气体压强约束方程的已知变量,得到气体约束条件;其中,所述气体压强约束方程为中间气体状态与目标气体压强之间的约束方程;
将所述中间固体状态作为固体压强约束方程的已知变量,得到固体约束条件;其中,所述固体压强约束方程为中间固体状态与目标固体压强之间的约束方程;
根据所述气体约束条件、所述固体约束条件以及交界约束条件进行耦合仿真,得到所述目标固体对象在下一时间步的目标固体状态以及所述目标气体对象在下一时间步的目标气体状态;
其中所述交界约束条件为所述目标固体对象与所述目标气体对象之间的交界对应的约束条件,所述交界约束条件包括交界压强约束条件。
2.根据权利要求1所述的方法,其特征在于,所述气体压强约束方程为将气体对应的压强推进方程代入气体动量修复方程得到,所述固体压强约束方程为将固体对应的压强推进方程代入固体动量修复方程得到;
其中,所述气体动量修复方程和所述固体动量修复方程通过以下公式确定:
Figure FDA0003777824350000011
U代表动量,M为质量运算符,M-1等于密度的倒数; 下标f以及s同时存在表示可以适用于气体以及固体;上标*表示待修复的中间态,n+1表示下一时间步;Δt则为时间步长;G为离散梯度算符。
3.根据权利要求2所述的方法,其特征在于,所述目标固体状态包括所述目标固体对象对应的目标固体速度,所述目标气体状态包括所述目标气体对象对应的目标气体压强;
所述根据所述气体约束条件、所述固体约束条件以及所述交界约束条件进行耦合仿真,得到所述目标固体对象在下一时间步的目标固体状态以及所述目标气体对象在下一时间步的目标气体状态包括:
根据所述气体约束条件、所述固体约束条件以及所述交界约束条件进行耦合仿真,得到所述目标固体对象对应的目标固体压强以及所述目标气体对象对应的目标气体压强;
根据所述目标固体压强以及所述固体动量修复方程修复得到所述目标固体对象对应的目标固体速度;
根据所述目标气体压强以及所述气体动量修复方程修复得到所述目标气体对象对应的目标气体速度。
4.根据权利要求1所述的方法,其特征在于,所述气体压强约束方程为:
Figure FDA0003777824350000021
所述固体压强约束方程为:
Figure FDA0003777824350000022
其中,Δt为时间步长,Sf代表气体对应的刚性系数,
Figure FDA0003777824350000023
代表下一时间步气体的密度,
Figure FDA0003777824350000024
为拉普拉斯算子,
Figure FDA0003777824350000025
代表下一时间步气体的目标气体压强,
Figure FDA0003777824350000026
代表气体的中间压强状态;
Figure FDA0003777824350000027
代表空间散度算子,
Figure FDA0003777824350000028
代表气体的中间速度状态,Ss代表固体对应的刚性系数,
Figure FDA0003777824350000029
代表下一时间步固体的目标固体密度,
Figure FDA00037778243500000210
代表下一时间步固体的目标固体压强,
Figure FDA00037778243500000211
代表固体的中间压强状态;
Figure FDA00037778243500000212
代表固体的中间速度状态。
5.根据权利要求1所述的方法,其特征在于,所述交界约束条件包括交界压强约束条件以及交界速度约束条件,所述交界压强约束条件包括交界处固体压强与气体压强一致,所述交界速度约束条件包括交界接触面所述目标固体对象与所述目标气体对象法向速度一致。
6.根据权利要求1所述的方法,其特征在于,所述基于所述当前固体状态对所述目标固体对象进行位置移动仿真,得到中间固体状态包括:
在拉格朗日视角下,基于所述当前固体状态对所述目标固体对象进行位置号移动仿真,得到以拉格朗日视角记录的中间固体状态;
所述基于所述当前气体状态对所述目标气体对象进行对流仿真,得到中间气体状态包括:
将以拉格朗日视角记录的中间固体状态投射到所述目标气体对象对应的气体网格中,并转化为欧拉视角记录的中间固体状态;
基于欧拉视角记录的中间固体状态,以及欧拉视角记录的离散到所述气体网格中的当前气体状态,对所述目标气体对象进行对流仿真,得到欧拉视角记录的中间气体状态。
7.一种物理仿真装置,其特征在于,所述装置包括:
当前状态获取模块,用于在针对目标固体对象与目标气体对象的物理仿真过程中,获取所述目标固体对象在当前时间步的当前固体状态以及所述目标气体对象在当前时间步的当前气体状态;
位置移动仿真模块,用于基于所述当前固体状态对所述目标固体对象进行位置移动仿真,得到中间固体状态;
对流仿真模块,用于基于所述当前气体状态对所述目标气体对象进行对流仿真,得到中间气体状态;
耦合仿真模块,用于将所述中间气体状态作为气体压强约束方程的已知变量,得到气体约束条件;其中,所述气体压强约束方程为中间气体状态与目标气体压强之间的约束方程;将所述中间固体状态作为固体压强约束方程的已知变量,得到固体约束条件;其中,所述固体压强约束方程为中间固体状态与目标固体压强之间的约束方程;根据所述气体约束条件、所述固体约束条件以及所述交界约束条件进行耦合仿真,得到所述目标固体对象在下一时间步的目标固体状态以及所述目标气体对象在下一时间步的目标气体状态;
其中所述交界约束条件为所述目标固体对象与所述目标气体对象之间的交界对应的约束条件,所述交界约束条件包括交界压强约束条件。
8.根据权利要求7所述的装置,其特征在于,所述气体压强约束方程为:
Figure FDA0003777824350000041
所述固体压强约束方程为:
Figure FDA0003777824350000042
其中,Δt为时间步长,Sf代表气体对应的刚性系数,
Figure FDA0003777824350000043
代表下一时间步气体的密度,
Figure FDA0003777824350000044
为拉普拉斯算子,
Figure FDA0003777824350000045
代表下一时间步气体的目标气体压强,
Figure FDA0003777824350000046
代表气体的中间压强状态;
Figure FDA0003777824350000047
代表空间散度算子,
Figure FDA0003777824350000048
代表气体的中间速度状态,Ss代表固体对应的刚性系数,
Figure FDA0003777824350000049
代表下一时间步固体的目标固体密度,
Figure FDA00037778243500000410
代表下一时间步固体的目标固体压强,
Figure FDA00037778243500000411
代表固体的中间压强状态;
Figure FDA00037778243500000412
代表固体的中间速度状态。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202111197310.3A 2021-10-14 2021-10-14 物理仿真方法、装置、计算机设备和存储介质 Active CN113935169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111197310.3A CN113935169B (zh) 2021-10-14 2021-10-14 物理仿真方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111197310.3A CN113935169B (zh) 2021-10-14 2021-10-14 物理仿真方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113935169A CN113935169A (zh) 2022-01-14
CN113935169B true CN113935169B (zh) 2022-09-23

Family

ID=79279245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111197310.3A Active CN113935169B (zh) 2021-10-14 2021-10-14 物理仿真方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113935169B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960840A (zh) * 2017-12-26 2019-07-02 中国科学院深圳先进技术研究院 一种交界面气泡的仿真方法、终端设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114911B2 (en) * 2010-05-24 2018-10-30 Fujitsu Limited Fluid structure interaction simulation method and apparatus, and computer-readable storage medium
CN109063248B (zh) * 2018-06-26 2022-11-22 广东工业大学 一种用于激光冲击强化的气-液-固耦合计算方法
CN111695309B (zh) * 2020-06-02 2023-03-21 上海科技大学 基于统计动力学的高性能大规模流固耦合流体仿真方法
CN111783276A (zh) * 2020-06-04 2020-10-16 海仿(上海)科技有限公司 可压缩流体与固体界面耦合算法、装置、设备及存储介质
CN112861374B (zh) * 2021-03-05 2022-08-30 深圳泽森软件技术有限责任公司 基于预控制器的多物理耦合仿真处理方法、装置和设备
CN113361156A (zh) * 2021-05-20 2021-09-07 南京航空航天大学 一种基于sph方法的飞机水箱投汲水数值模拟方法
CN113378440A (zh) * 2021-06-23 2021-09-10 四川大学 一种流固耦合数值模拟计算方法、装置及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960840A (zh) * 2017-12-26 2019-07-02 中国科学院深圳先进技术研究院 一种交界面气泡的仿真方法、终端设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
飞行器气动热与结构传热双向耦合研究;贾洲侠等;《强度与环境》;20191215(第06期);16-23 *

Also Published As

Publication number Publication date
CN113935169A (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
CN107330972B (zh) 模拟生物力学特性的实时软组织形变方法和系统
US20160019325A1 (en) System and Method of Recovering Lagrange Multipliers in Modal Dynamic Analysis
Lan et al. Medial IPC: accelerated incremental potential contact with medial elastics
US20230061175A1 (en) Real-Time Simulation of Elastic Body
WO2018156087A1 (en) Finite-element analysis augmented reality system and method
CN110514375A (zh) 基于虚拟现实的卫星虚拟振动试验测试方法和系统
CN112861374B (zh) 基于预控制器的多物理耦合仿真处理方法、装置和设备
CN114655382B (zh) 一种船舶结构动力学分析结果的虚拟可视化系统及方法
CN113177290A (zh) 基于深度代理模型归一化的卫星组件温度场预测方法
Brchnelova et al. Effects of mesh topology on MHD solution features in coronal simulations
CN113935169B (zh) 物理仿真方法、装置、计算机设备和存储介质
CN117131832B (zh) 一种仿真元器件的构建方法、装置及存储介质
US20210034802A1 (en) Method and apparatus for explicit simulation
US20040012585A1 (en) Simulation apparatus for simulating interacting movements of fluid and solid
Lipovszki et al. Simulating complex systems and processes in LabVIEW
US10282899B2 (en) Systems, methods and, media for simulating deformations of nonlinear elastic bodies
CN115795985A (zh) 变形滑坡涌浪模拟方法及装置
Nair et al. Petascale atmospheric general circulation models
WO2020149919A1 (en) Inertial damping for enhanced simulation of elastic bodies
Nair A high-order multiscale global atmospheric model
CN115049766B (zh) 构建肌肉纤维模型方法、装置、计算机设备和存储介质
Huang et al. An Augmented Reality Platform for Interactive Finite Element Analysis
CN115146373A (zh) 飞行仿真方法、装置、设备、存储介质和程序产品
CN117436364A (zh) 外流高速脉动压力仿真方法、装置、设备和存储介质
Nguyen et al. A method for improving the accuracy of PODI-RBF solutions for the indentation of an elastic body by a rigid indenter

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: C2C, Building C2, TCL science park, No. 1001, Zhongshan Garden Road, Shuguang Community, Xili Street, Nanshan District, Shenzhen, Guangdong 518051

Patentee after: Shenzhen Zesen Software Technology Co.,Ltd.

Address before: 518051 5th floor, building 10a, Shenzhen Bay Science Park, Gaoxin South nine road, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Zesen Software Technology Co.,Ltd.