CN117556745B - 空间自适应流体仿真方法、设备及存储介质 - Google Patents
空间自适应流体仿真方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117556745B CN117556745B CN202410046915.XA CN202410046915A CN117556745B CN 117556745 B CN117556745 B CN 117556745B CN 202410046915 A CN202410046915 A CN 202410046915A CN 117556745 B CN117556745 B CN 117556745B
- Authority
- CN
- China
- Prior art keywords
- particles
- radius
- self
- density
- flow field
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004088 simulation Methods 0.000 title claims abstract description 58
- 239000012530 fluid Substances 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 239000002245 particle Substances 0.000 claims abstract description 399
- 230000003044 adaptive effect Effects 0.000 claims abstract description 68
- 230000000704 physical effect Effects 0.000 claims abstract description 42
- 230000009471 action Effects 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000014509 gene expression Effects 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 10
- 230000006978 adaptation Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 239000011164 primary particle Substances 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000007596 consolidation process Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000010348 incorporation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- -1 for example Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/25—Design optimisation, verification or simulation using particle-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Fluid Mechanics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种空间自适应流体仿真方法、设备及存储介质,该方法包括:根据流场中粒子的质量比率,进行对应的自适应调整;根据所述自适应调整后的调整对象的质量,计算所述调整对象的理论支持半径;根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径;根据多次记录的流场中粒子的物理属性和对应的优化支持半径,生成关于流体动作的动画。
Description
技术领域
本公开实施例涉及计算机仿真技术领域,更具体地,涉及一种空间自适应流体仿真方法、一种设备和一种存储介质。
背景技术
在虚拟环境中与自然现象的自由交互可以增强虚拟现实系统中的用户体验。目前,空间自适应流体仿真方法可以通过在不同区域使用不同的分辨率来提高仿真效率,并保证关键区域具有足够的计算精度。该仿真方法主要包括最优分辨率计算和分辨率自适应调整两个步骤。在对应拉格朗日仿真方法中,分辨率自适应调整可以通过质量调整实现,即,粒子分裂、合并与质量重分配三个操作实现。然而,多尺度离散化与粒子分裂、合并等过程使得这类方法存在密度误差的积累,严重时会导致仿真不稳定,进而难以在提高仿真效率的同时,保证流体的高仿真度。
发明内容
本公开实施例的一个目的是提供一种空间自适应流体仿真的新的技术方案,以实现在高效仿真动态流体的同时,以高保真度提供充分的流体细节。
根据本公开的第一方面,提供了一种空间自适应流体仿真方法,该方法包括:
根据流场中粒子的质量比率,进行对应的自适应调整;其中,所述粒子的质量比率为所述流场中粒子的真实质量值与最优质量值的比值;
根据所述自适应调整后调整对象的质量,计算所述调整对象的理论支持半径;其中,所述调整对象为所述流场中粒子在自适应调整过程中所作用的对象;
根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径;
根据多次记录的流场中粒子的物理属性和对应的优化支持半径,生成关于流体动作的动画。
可选地,所述自适应调整的类型包括粒子分裂、粒子合并和粒子质量重分配中的至少一种。
可选地,所述根据流场中粒子的质量比率,进行对应的自适应调整包括:
在所述流场中粒子的质量比率大于第四阈值的情况下,对所述粒子进行分裂;
在所述流场中粒子的质量比率大于或者等于第二阈值,且小于第三阈值的情况下,保持所述粒子不变;
在所述流场中粒子的质量比率大于或者等于所述第三阈值,且小于或者等于所述第四阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行质量重分配;
在所述流场中粒子的质量比率小于所述第一阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行合并。
可选地,所述自适应调整包括粒子分裂,所述自适应调整后调整对象的质量为流场中待分裂粒子分裂后生成的子粒子的质量;
或者,所述自适应调整包括粒子合并,所述自适应调整后调整对象的质量为流场中粒子合并后调整对象的质量;
或者,所述自适应调整包括粒子质量重分配,所述自适应调整后调整对象的质量为流场中粒子质量重分配后调整对象的质量。
可选地,所述根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径,包括:
根据所述理论支持半径和所述自适应调整前的粒子的物理属性,确定所述流场中粒子自适应调整前的第一密度;
以第一支持半径和第二支持半径为未知参数,根据所述自适应调整后粒子的物理属性,构建所述流场中粒子自适应调整后的第二密度的表达式;
在所述第一密度和所述第二密度相等的情况下,将所述理论支持半径作为所述第一支持半径,并根据所述第一支持半径和所述第一密度,得到第二支持半径;
在所述第二支持半径与所述第一支持半径的变化比小于或者等于变化阈值的情况下,将所述第二支持半径作为所述优化支持半径。
可选地,所述方法还包括:
在所述第二支持半径与所述第一支持半径的变化比大于变化阈值的情况下,将所述第二支持半径作为更新后的第一支持半径,根据更新后的第一支持半径和所述第一密度,得到更新后的第二支持半径。
可选地,所述方法还包括:
在更新后的第二支持半径与本次更新前的第二支持半径的变化比小于或者等于变化阈值的情况下,将更新后的第二支持半径作为优化支持半径;
或者,
在更新次数大于次数阈值的情况下,将当前更新次数对应的第二支持半径作为优化支持半径。
可选地,所述第一密度包括:原始粒子的密度影响值、原始调整对象的密度影响值和所述理论支持半径区域内的邻居粒子的密度影响值中的至少一项。
可选地,所述第二密度包括调整对象在自适应调整后的密度影响值、原始粒子自适应调整后剩余质量的密度影响值、所述第一支持半径区域内邻居粒子的密度影响值中的至少一项。
根据本公开的第二方面,还提供了一种空间自适应流体仿真设备,该设备包括:
自适应调整模块,用于根据所述流场中粒子的质量比率,进行对应的自适应调整;其中,所述粒子的质量比率为所述流场中粒子的真实质量值与最优质量值的比值;
理论支持半径计算模块,用于根据所述自适应调整后调整对象的质量,计算所述调整对象的理论支持半径;其中,所述调整对象为所述流场中粒子在自适应调整过程中所作用的对象;
支持半径优化模块,用于根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径;
动画生成模块,用于根据多次记录的流场中粒子的物理属性和对应的优化支持半径,生成关于流体动作的动画。
根据本公开的第三方面,还提供了一种空间自适应流体仿真设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,以实现根据本公开第一方面所述的方法。
根据本公开的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现根据本公开的第一方面所述的方法。
本公开实施例的一个有益效果在于,在本公开实施例的流体仿真方法中,通过根据粒子的质量比率对流场中粒子进行自适应调整,通过自适应调整前后的粒子的物理属性,计算自适应调整前后的优化支持半径,进而通过优化支持半径和粒子的物理属性,生成关于流体动作的动画,可以实现对自适应调整前后的密度误差校正,提高仿真的稳定性,从而可以在提高仿真效率的同时,保证流体的高仿真度。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开实施例的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开实施例的原理。
图1是可用于实现本公开实施例的仿真设备的硬件配置框图;
图2是根据一个实施例的空间自适应流体仿真方法的流程示意图;
图3是根据一个实施例的粒子自适应调整的示意图;
图4是根据一个实施例的支持半径优化前后的密度误差示意图;
图5是根据另一个实施例的空间自适应流体仿真方法的流程示意图;
图6是根据一个实施例的空间自适应流体仿真设备的方框原理图;
图7是根据一个实施例的空间自适应流体仿真设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
在虚拟现实场景中,为了提高用户的体验感,需要对流体进行高效和高真实感流体仿真。为了实现该目的,相关技术中常通过在不同的区域使用不同的分辨率来提高仿真效率,并保证关键区域具有足够的计算精度。该方法主要包括最优分辨率计算和分辨率自适应调整两个步骤。在拉格朗日方法中,分辨率自适应调整可以通过粒子分裂、合并与质量重分配三个操作实现。然而,多尺度离散化与粒子分裂、合并等过程使得这类方法存在密度误差的积累,严重时会导致仿真不稳定,进而难以在提高仿真效率的同时,保证流体的高仿真度。
<硬件配置>
图1是可用于实现本公开实施例的仿真设备的硬件配置框图。
如图1所示,该仿真设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。
处理器1100用于执行计算机程序,该计算机程序可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,通信装置1400可以包括至少一种短距离通信模块,例如是基于Hilink协议、WiFi(IEEE 802.11协议)、Mesh、蓝牙、ZigBee、Thread、Z-Wave、NFC、UWB、LiFi等短距离无线通信协议进行短距离无线通信的任意模块,通信装置1400也可以包括远程通信模块,例如是进行WLAN、GPRS、2G/3G/4G/5G远程通信的任意模块。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘等。扬声器1700用于输出音频信号。麦克风1800用于采集音频信号。
该仿真设备1000可以是具有计算处理能力的任意类型的电子设备,在此不做限定。示例性地,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等。
本领域技术人员应当理解,尽管在图1中示出了仿真设备1000的多个装置,但是,本公开实施例的仿真设备1000可以仅涉及其中的部分装置,例如,只涉及处理器1100和存储器1200。这是本领域公知,此处不再赘述。
应用于本实施例中,存储器1200用于存储计算机程序指令,该指令用于控制处理器1100进行操作以执行根据本公开任意实施例的流体仿真方法。技术人员可以根据本发明所公开方案设计该指令。该指令如何控制处理器1100进行操作,这是本领域公知,故在此不再详细描述。
<方法实施例>
图2是根据一个实施例的空间自适应流体仿真方法的流程示意图。
如图2所示,本实施例的空间自适应流体仿真方法可以包括如下步骤S210~S240:
步骤S210,根据流场中粒子的质量比率,进行对应的自适应调整,其中,所述粒子的质量比率为所述流场中粒子的真实质量值与最优质量值的比值。
本实施例中,基于粒子的拉格朗日流体运动的描述方法来模拟流体场景。拉格朗日方法是通过离散的采样点来计算连续的流场。具体地,该方法是把整个被模拟的流场离散成采样点,这些离散的采样点被称为光滑粒子。
基于粒子的拉格朗日方法可以包括光滑粒子流体动力学方法(SPH)。
其中,SPH(Smoothed Particle Hydrodynamics)是光滑粒子流体动力学方法的缩写。该方法的基本思想是将连续的流体(或固体)用相互作用的质点组来描述,各个质点上承载各种物理量,包括质量、位置、速度等,通过求解质点组的动力学方程和跟踪每个质点的运动轨道,求得整个系统的力学行为。
在仿真设备模拟流体运动时,每一时刻流场中粒子的物理属性被计算并记录在该仿真设备的存储器中。其中,相邻时刻流畅中粒子可以分别对应自适应调整前和自适应调整后。该仿真设备例如可以是手机、平板电脑等,在此不做限定。
粒子可以是初始化后静态的粒子,也可以是对原始粒子进行处理后的粒子,例如按照本实施例的方法对原始粒子进行合并、分裂和质量重分配后的粒子等等,在此不做限定。
每个粒子的物理属性包括真实质量、位置、密度、速度、位置中的任意一项或多项。物理属性用于描述流场中粒子的运动状态,仿真设备得到每一时刻流场中粒子的运动状态,可生成流体动作的动画,实现流体动作的模拟。其中,真实质量指的是流场中粒子的实际质量。位置指的是粒子的相对位置。
根据流场中粒子的真实质量和位置,通过SPH方法可以计算粒子的密度,如公式(1)所示:
,(1)
其中,表示目标粒子,/>用于迭代邻居粒子,/>表示粒子密度,/>表示粒子质量,表示光滑核函数,/>表示位置矢量差,/>表示支持半径。
目标粒子可以是该流体空间中的任意粒子。目标粒子和邻居粒子存在一定的对应关系,目标粒子不同,对应的邻居粒子不同。
本实施例中,首先得到粒子的最佳分辨率,即,粒子的最优质量值。例如,仿真设备可以根据粒子距离自由表面的距离,使用粒子尺寸函数得到粒子的最优质量值。然后,根据粒子的真实质量值与最优质量值的比值,即粒子质量比率,将粒子分为不同的类别。根据粒子所属的类别,进行对应的自适应调整。
在一些实施例中,所述自适应调整的类型包括粒子分裂、粒子合并和粒子质量重分配。
本实施例中,粒子分裂指的是将一个真实质量值明显大于最优质量值的原始粒子分裂成多个更小的子粒子,例如如图3所示,原始粒子o分裂为两个子粒子,从而达到减小粒子的真实质量,提高局部区域的分辨率的目的。其中,每个子粒子/>对应一个调整对象。
粒子合并指的是将真实质量较小的原始粒子合并到真实质量较大的粒子,例如,如图3所示,原始粒子o合并到两个合并对象上,达到降低局部区域分辨率,提高仿真效率的目的。其中,真实质量较大的粒子接收原始粒子分配的质量,该真实质量较大的粒子称为调整对象,即,合并对象。
粒子质量重分配指的是将一个比最优质量值略大的粒子的部分质量分配给比最优质量值略小的邻居粒子,达到平滑地调整整体流场粒子分辨率的目的。例如,如图3所示,原始粒子o质量重分配给两个粒子。其中,最优质量值略小的邻居粒子为粒子质量重分配过程中的调整对象,即重分配对象。与粒子合并不同的是,质量重分配后原始粒子的部分质量会保留。
需要说明的是,针对粒子合并或者粒子质量重分配过程,其需要原始粒子和调整对象共同参与。因此,在粒子合并或者质量重分配前,参与合并或者质量重分配的原始粒子和调整对象均已确定。为了便于描述,本申请中将参与合并或者质量重分配前确定的调整对象称为原始调整对象。根据以上对于原始调整对象的定义,对于粒子分裂过程,其不存在原始调整对象。
在一些实施例中,所述步骤S210中根据流场中粒子的质量比率,进行对应的自适应调整包括:
在所述流场中粒子的质量比率大于第四阈值的情况下,对所述粒子进行分裂;
在所述流场中粒子的质量比率大于或者等于第二阈值,且小于第三阈值的情况下,保持所述粒子不变;
在所述流场中粒子的质量比率大于或者等于所述第三阈值,且小于或者等于所述第四阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行质量重分配;
在所述流场中粒子的质量比率小于所述第一阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行合并。
在一些示例中,第四阈值为2.0,第三阈值为1.1,第二阈值为0.9,第一阈值为0.5。根据粒子质量比率,将粒子分为5类。在质量比率小于0.5的情况下,表示原始粒子为过小粒子,通过将过小粒子和较小粒子合并并移除该过小粒子。在质量比率大于0.5且小于0.9的情况下,表示原始粒子为较小粒子,通过将该较小粒子和过小粒子(原始合并对象)进行粒子合并获得质量,或者和较大粒子(原始重分配对象)进行粒子质量重分配获得质量。在质量比率大于0.9且小于1.1的情况下,表示该原始粒子接近合适尺寸,不需要做额外的操作。在质量比率大于1.1且小于2.0的情况下,表示该原始粒子为较大粒子,通过粒子质量重分配移除该较大粒子的部分多余质量。在质量比率大于2.0的情况下,表示该原始粒子为过大粒子,通过粒子分裂分散其质量。
在一些实施例中,所述自适应调整包括粒子分裂,所述粒子分裂方法包括:步骤S310~S340。
步骤S310,根据待分裂粒子的质量比率,确定待分裂粒子的子粒子数量。
本实施例中,待分裂粒子为在所述流场中粒子的质量比率大于第四阈值的粒子。
示例性地,对于质量比率为2.2的粒子,可以将其平均拆分为2个子粒子,对于质量比率为3.0的粒子,可以将其平均拆分为3个子粒子。
步骤S320,根据所述待分裂粒子的子粒子数量,为待分裂粒子匹配分裂模板。
在本实施例中,不同的子粒子数量,对应不同的分裂模板。
示例性地,当子粒子数量为2时,采用子粒子均匀分配的分裂模板。2个子粒子的位置可以是左右排布,也可以是上下排布,此处不做限定。
步骤S330,旋转所述分裂模板,计算待分裂粒子与每次旋转所述分裂模板得到的子粒子之间的密度误差,得到多个密度误差中的最小密度误差。
粒子分裂时,由于子粒子的位置和真实质量和原始粒子不同,导致引入了密度误差。其中,密度误差可以包括原始粒子替换为多个子粒子所引起的邻居粒子位置处的误差,以及每个子粒子与原始粒子的密度误差。
密度误差计算公式如下所示:
其中,表示粒子/>被分裂后的密度误差,/>用于迭代粒子/>的所有邻居粒子,/>用于迭代粒子/>的所有子粒子,/>是/>的邻居,m表示质量,/>表示粒子/>的密度,W表示光滑核系数,为SPH方法中的光滑核函数。公式右边的第一项表示将粒子/>替换为多个子粒子所引起的邻居粒子位置处的误差,第二项是每个子粒子与原始粒子的密度误差。
根据上述密度误差计算公式可以计算每次旋转分裂模板后的密度误差。
步骤S340,通过最小密度误差对应的分裂方式,对待分裂粒子进行分裂。
当密度误差最小时,表示子粒子与原始粒子的物理属性比较接近,可以有效提高流体模拟的稳定性。
根据本申请实施例,通过旋转分裂模板,计算待分裂粒子和分裂后子粒子的密度误差,使用误差最小的旋转角度对应的分裂模板对粒子进行分裂,可以提高流体仿真的稳定性。
在一些实施例中,对于粒子合并或者粒子质量重分配,在粒子合并(质量重分配)后,合并(重分配)对象的位置由以下公式(2)计算得到:
,(2)
其中,为权重值,/>为原始合并(重分配)粒子的位置,/>为原始合并(重分配)粒子的质量,/>为原始合并(重分配)对象的位置,/>为原始合并(重分配)对象的质量。
合并(重分配)对象的质量由合并(重分配)对象接收合并(重分配)粒子的多余质量得到。
针对粒子分裂,其使得单一粒子被多个子粒子替代,必然会使得局部区域粒子过度拥挤,对周围邻居粒子产生挤压,从而造成密度误差。
针对粒子合并,合并后的原始粒子耗散,粒子的数量减少,粒子位置也发生改变,从而带来粒子密度的变化,造成密度误差。
针对粒子质量重分配,原始粒子和重分配对象的质量和位置发生改变必然引起数值误差,从而造成密度误差。
由于自适应调整后均会带来一定的密度误差,进而导致仿真不稳定。因此,本申请实施例的空间自适应流体仿真通过执行以下步骤S220和S230来进行误差校正,以减小自适应调整后的密度误差,提高仿真稳定性。
步骤S220,根据自适应调整后的调整对象的质量,计算所述调整对象的理论支持半径;其中,所述调整对象为所述流场中粒子在自适应调整过程中所作用的对象。
本实施例中,计算理论支持半径如下公式(3)所示:
,(3)
其中,为常量,一般取值为2,/>为自适应调整后调整对象的质量,/>为水体密度,一般取值为1000。
在一些实施例中,所述自适应调整包括粒子分裂,所述自适应调整后的调整对象的质量为流场中待分裂粒子分裂后生成的子粒子的质量,所述步骤S220中根据自适应调整后调整对象的质量,计算所述调整对象的理论支持半径包括:
根据流场中待分裂粒子分裂后生成的每个子粒子的质量,计算每个子粒子的理论支持半径。
本实施例中,针对粒子分裂,可以通过上述公式(3)计算分裂后生成的每个子粒子的理论支持半径。其中,/>对应一个子粒子的质量。
在一些实施例中,所述自适应调整包括粒子合并,所述自适应调整后的调整对象的质量为流场中粒子合并后的调整对象的质量,所述步骤S220中根据自适应调整后的调整对象的质量,计算所述调整对象的理论支持半径包括:
根据流场中粒子合并后的每个调整对象的质量,计算每个调整对象的理论支持半径。
本实施例中,针对粒子合并后的每个合并对象,可以通过上述公式(3)计算理论支持半径。其中,合并对象为粒子合并过程中质量增加的粒子,/>对应一个原始合并对象在粒子合并后的质量。
在一些实施例中,所述自适应调整包括粒子质量重分配,所述自适应调整后的调整对象的质量为流场中粒子质量重分配后的调整对象的质量,所述步骤S220中根据自适应调整后的调整对象的质量,计算所述调整对象的理论支持半径,包括:
根据流场中粒子质量重分配后的每个调整对象的质量,计算每个调整对象的理论支持半径。
本实施例中,针对粒子质量重分配,可以通过上述公式(3)计算每个重分配对象的理论支持半径。其中,调整对象为在粒子质量重分配过程中质量增加的粒子,公式(3)中对应一个原始质量重分配对象在粒子质量重分配后的质量。
步骤S230,根据调整对象的理论支持半径、自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径。
在一些实施例中,步骤S230中根据调整对象的理论支持半径、自适应调整前后的粒子的物理属性,计算调整对象的优化支持半径包括:步骤S231~步骤S234。
步骤S231,根据理论支持半径和自适应调整前的粒子的物理属性,确定流场中粒子自适应调整前的第一密度。
本实施例中,流场中粒子自适应调整前的物理属性包括粒子的质量和位置。针对自适应调整前的每个粒子,根据其物理属性和理论支持半径,通过SPH方法的粒子密度的公式(1),计算得到其第一密度。
对于粒子分裂,第一密度的计算公式为:
其中,表示原始粒子对分裂位置处的密度影响值,/>表示为当支持半径为/>时,在该支持半径/>区域内的每个邻居粒子j对分裂位置处的密度影响值的总和,/>为理论支持半径,/>为原始粒子的位置,W为SPH方法中的光滑核函数,/>为邻居粒子j的质量。
对于粒子合并,第一密度的计算公式为:
=/>
其中,为原始合并对象i对合并位置处的密度影响值。
对于粒子质量重分配,第一密度的计算公式为:
其中,为原始质量重分配对象i对质量重分配位置处的密度影响值。
步骤S232,以第一支持半径和第二支持半径为未知参数,根据自适应调整后的粒子的物理属性,构建流场中粒子自适应调整后的第二密度的表达式。
本实施例中,第二支持半径为自适应调整后的调整对象的支持半径。第一支持半径为自适应调整后该调整对象对应的邻居粒子的支持半径。第一支持半径和第二支持半径均为未知参数。
对于粒子分裂,第二密度的表达式为:
其中,为粒子分裂后的子粒子/>对分裂位置处的密度影响值,表示当支持半径为/>时,在该支持半径/>区域内的每个邻居粒子j对分裂位置处的密度影响值的总和,/>为第二支持半径,/>为第一支持半径,/>为子粒子/>的质量。
对于粒子合并,第二密度的表达式为:
其中,为粒子合并后的合并对象对合并位置处的密度影响值,为支持半径为/>时,在该支持半径/>区域内的每个邻居粒子j对合并位置处的密度影响值的总和。
对于粒子质量重分配,第二密度的表达式为:
其中,为粒子质量重分配后的重分配对象对质量重分配位置处的密度影响值,/>为原始粒子在质量重分配后的剩余质量对质量重分配位置处的密度影响值,/>为支持半径为/>时,在该支持半径/>区域内的每个邻居粒子j对质量重分配位置处的密度影响值的总和。
步骤S233,在第一密度和第二密度相等的情况下,将理论支持半径作为第一支持半径,并根据第一支持半径和第一密度,得到第二支持半径。
本实施例中,在第一密度和第二密度相等的情况下,第二支持半径的表达式为公式(4);
,(4)
其中,为常量。
在粒子分裂中,
在粒子合并中,
在粒子质量重分配中,
针对自适应调整的不同类型,将理论支持半径作为第一支持半径/>,得到第二支持半径/>。
步骤S234,在第二支持半径与第一支持半径的变化比小于或者等于变化阈值的情况下,将第二支持半径作为优化支持半径。
本实施例中,第二支持半径与第一支持半径的变化比可以通过公式(5)计算。
,(5)
本实施例中,预设变化阈值,例如可以预设变化阈值为0.5%。
若≤0.5%,则认为以该第二支持半径和该第一支持半径计算得到的第二密度与第一密度的密度误差在允许范围内,则将该第二支持半径作为调整对象的优化支持半径。
根据本申请实施例,通过自适应调整前的第一密度等于自适应调整后的第二密度,以理论支持半径作为第一支持半径的值,计算第二支持半径,进而计算变化比,在变化比小于或者等于变化阈值的情况下,将第二支持半径作为优化支持半径,即,将密度误差在允许范围内对应的第二支持半径作为优化支持半径,并且,在优化支持半径的过程中,结合了全部邻居粒子的密度影响值,可以减少自适应调整前后的密度误差,提高仿真的稳定性。
在一些实施例中,所述方法还包括:步骤S410,在所述第二支持半径与所述第一支持半径的变化比大于变化阈值的情况下,将所述第二支持半径作为更新后的第一支持半径,根据更新后的第一支持半径和所述第一密度,得到更新后的第二支持半径。
本实施例中,若>0.5%,将第二支持半径/>作为第一支持半径/>,代入公式(4),计算得到更新后的第二支持半径。再根据更新后的第二支持半径和本次更新前的第二支持半径,计算变化比,进而根据计算的变化比确定是否结束第二支持半径的更新。
在一些实施例中,所述方法还包括:步骤S420,在更新后的第二支持半径和本次更新前的第二支持半径的变化比小于或者等于变化阈值的情况下,将更新后的第二支持半径作为优化支持半径。
示例性地,在更新后的第二支持半径和本次更新前的第二支持半径的变化比为0.3%的情况下,将更新后的第二支持半径作为优化支持半径。
在一些实施例中,所述方法还包括:步骤S430,在更新次数大于次数阈值的情况下,将当前更新次数对应的第二支持半径作为优化支持半径。
本实施例中,预设更新次数的阈值,例如,次数阈值可以是6。在第二支持半径的更新次数为7次时,将第七次更新后的第二支持半径作为优化支持半径。
如图4所示,其为调整对象的支持半径优化前后的密度误差示意图。可以看出,无论是对于单帧图像优化后的密度值,还是对于多帧图像优化后的平均密度值,其密度误差均显著减少。
在一些实施例中,校正后的平均局部密度误差可以通过以下公式(6)来计算:
,(6)
在一些示例中,校正后的平均局部密度误差可以减少50倍以上。
步骤S240,根据多次记录的流场中粒子的物理属性和对应的优化支持半径,生成关于流体动作的动画。
本实施例中,相邻两次记录分别对应自适应调整前和自适应调整后。在每次自适应调整操作后,对流场中参与该次自适应调整的调整对象的支持半径进行优化,即,密度误差校正,以得到调整对象的优化支持半径。再根据调整对象的优化支持半径和该次记录的流场中粒子的物理属性,生成单帧图像。在多次记录流程中粒子的物理属性和对应的优化支持半径后,可以对应生成多个多帧图像,进而生成关于流体动作的动画。
<例子>
图5是根据另一个实施例的空间自适应流体仿真方法的流程示意图。如图5所示,该空间自适应流体仿真方法包括步骤s1~S13。
步骤S1,计算并记录流场中粒子的物理属性。
本实施例中,粒子的物理属性包括流场中粒子的真实质量和所处的位置。
步骤S2,根据所述流场中粒子的质量比率,进行对应的自适应调整。
本实施例中,自适应调整的类型包括粒子分裂、粒子合并和粒子质量重分配。
示例性地,在质量比率小于0.5的情况下,表示原始粒子为过小粒子,通过将过小粒子和较小粒子合并并移除该过小粒子。在质量比率大于0.5且小于0.9的情况下,表示原始粒子为较小粒子,通过将该较小粒子和过小粒子进行粒子合并获得质量,或者和较大粒子进行粒子质量重分配获得质量。在质量比率大于0.9且小于1.1的情况下,表示该原始粒子接近合适尺寸,不需要做额外的操作。在质量比率大于1.1且小于2.0的情况下,表示该原始粒子为较大粒子,通过粒子质量重分配移除该较大粒子的部分多余质量。在质量比率大于2.0的情况下,表示该原始粒子为过大粒子,通过粒子分裂分散其质量。
步骤S3,计算并记录自适应调整后流场中粒子的物理属性。
步骤S4,根据自适应调整后调整对象的质量,计算所述调整对象的理论支持半径。
本实施例中,对于粒子分裂,待分裂粒子分裂后生成的每个子粒子对应一个调整对象。对于粒子合并,调整对象为粒子合并操作中质量增加的粒子。对于粒子质量重分配,调整对象为粒子质量重分配过程中质量增加的粒子。
步骤S5,根据理论支持半径和自适应调整前的粒子的物理属性,确定所述流场中粒子自适应调整前的第一密度。
步骤S6,以第一支持半径和第二支持半径为未知参数,根据所述自适应调整后的粒子的物理属性,构建所述流场中粒子自适应调整后的第二密度的表达式。
步骤S7,在所述第一密度和所述第二密度相等的情况下,将所述理论支持半径作为所述第一支持半径,并根据所述第一支持半径和所述第一密度,得到第二支持半径。
步骤S8,第二支持半径与第一支持半径的变化比是否小于或者等于变化阈值;若是,执行步骤S9,若否,执行步骤S10。
步骤S9,将所述第二支持半径作为所述优化支持半径。
步骤S10,将所述第二支持半径作为更新后的第一支持半径,根据更新后的第一支持半径和所述第一密度,得到更新后的第二支持半径。
步骤S11,更新后的第二支持半径与本次更新前的第二支持半径的变化比是否小于或者等于变化阈值;若是,执行步骤S12,若否,执行步骤S13。
步骤S12,将更新后的第二支持半径作为优化支持半径。
步骤S13,更新次数是否大于次数阈值;若是,则执行步骤S12,若否,执行步骤S10。
<设备实施例一>
图6是根据一个实施例的空间自适应流体仿真设备的方框原理图。
如图6所示,该仿真设备6000可以包括自适应调整模块6100,理论支持半径计算模块6200,支持半径优化模块6300,动画生成模块6400。
其中,自适应调整模块6100,用于根据所述流场中粒子的质量比率,进行对应的自适应调整;其中,所述粒子的质量比率为所述流场中粒子的真实质量值与最优质量值的比值。
理论支持半径计算模块6200,用于根据所述自适应调整后的调整对象的质量,计算所述调整对象的理论支持半径;其中,所述调整对象为所述流场中粒子在自适应调整过程中所作用的对象。
支持半径优化模块6300,用于根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径。
动画生成模块6400,用于根据多次记录的流场中粒子的物理属性和对应的优化支持半径,生成关于流体动作的动画。
在一个实施例中,所述自适应调整的类型包括粒子分裂、粒子合并和粒子质量重分配中的至少一种。
在一个实施例中,该自适应调整模块6100,用于在所述流场中粒子的质量比率大于第四阈值的情况下,对所述粒子进行分裂;
在所述流场中粒子的质量比率大于或者等于第二阈值,且小于第三阈值的情况下,保持所述粒子不变;
在所述流场中粒子的质量比率大于或者等于所述第三阈值,且小于或者等于所述第四阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行质量重分配;
在所述流场中粒子的质量比率小于所述第一阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行合并。
在一个实施例中,所述自适应调整包括粒子分裂,所述自适应调整后调整对象的质量为流场中待分裂粒子分裂后生成的子粒子的质量;或者,所述自适应调整包括粒子合并,所述自适应调整后的调整对象的质量为流场中粒子合并后的调整对象的质量;或者,所述自适应调整包括粒子质量重分配,所述自适应调整后的调整对象的质量为流场中粒子质量重分配后的调整对象的质量。
在一个实施例中,该支持半径优化模块6300用于根据所述理论支持半径和所述自适应调整前的粒子的物理属性,确定所述流场中粒子自适应调整前的第一密度;以第一支持半径和第二支持半径为未知参数,根据所述自适应调整后的粒子的物理属性,构建所述流场中粒子自适应调整后的第二密度的表达式;在所述第一密度和所述第二密度相等的情况下,将所述理论支持半径作为所述第一支持半径,并根据所述第一支持半径和所述第一密度,得到第二支持半径;在所述第二支持半径与所述第一支持半径的变化比小于或者等于变化阈值的情况下,将所述第二支持半径作为所述优化支持半径。
在一个实施例中,该支持半径优化模块6300用于在所述第二支持半径与所述第一支持半径的变化比大于变化阈值的情况下,将所述第二支持半径作为更新后的第一支持半径,根据更新后的第一支持半径和所述第一密度,得到更新后的第二支持半径。
在一个实施例中,该支持半径优化模块6300用于在更新后的第二支持半径与本次更新前的第二支持半径的变化比小于或者等于变化阈值的情况下,将更新后的第二支持半径作为优化支持半径;或者,在更新次数大于次数阈值的情况下,将当前更新次数对应的第二支持半径作为优化支持半径。
在一个实施例中,所述第一密度包括:原始粒子的密度影响值、原始调整对象的密度影响值和所述理论支持半径区域内的邻居粒子的密度影响值中的至少一项。
在一个实施例中,所述第二密度包括调整对象在自适应调整后的密度影响值、原始粒子自适应调整后剩余质量的密度影响值、所述第一支持半径区域内邻居粒子的密度影响值中的至少一项。
根据本公开实施例的空间自适应流体仿真设备6000,通过根据粒子的质量比率对流场中粒子进行自适应调整,通过自适应调整前后的粒子的物理属性,计算自适应调整前后的优化支持半径,进而通过优化支持半径和粒子的物理属性,生成关于流体动作的动画,可以实现对自适应调整前后的密度误差校正,提高仿真的稳定性,从而可以在高效仿真动态流体的同时,以高保真度提供充分的流体细节。
<设备实施例二>
图7是根据一个实施例的空间自适应流体仿真设备的结构示意图。
如图7所示,该仿真设备7000包括处理器7100和存储器7200,该存储器7200用于存储可执行的计算机程序,该处理器7100用于根据该计算机程序的控制,执行如本公开以上任意实施例所述的方法。
<介质实施例>
在本公开实施例中,还提供一种计算机可读存储介质,该计算机可读存储介质存储有可被计算机读取并运行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行如本公开以上任意实施例所述的方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (11)
1.一种空间自适应流体仿真方法,其特征在于,包括:
根据流场中粒子的质量比率,进行对应的自适应调整;其中,所述粒子的质量比率为所述流场中粒子的真实质量值与最优质量值的比值;
根据所述自适应调整后的调整对象的质量,计算所述调整对象的理论支持半径;其中,所述调整对象为所述流场中粒子在自适应调整过程中所作用的对象;
根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径;
根据多次记录的流场中粒子的物理属性和对应的优化支持半径,生成关于流体动作的动画;
其中,所述根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径,包括:
根据所述理论支持半径和所述自适应调整前的粒子的物理属性,确定所述流场中粒子自适应调整前的第一密度;
以第一支持半径和第二支持半径为未知参数,根据所述自适应调整后的粒子的物理属性,构建所述流场中粒子自适应调整后的第二密度的表达式;
在所述第一密度和所述第二密度相等的情况下,将所述理论支持半径作为所述第一支持半径,并根据所述第一支持半径和所述第一密度,得到第二支持半径;
在所述第二支持半径与所述第一支持半径的变化比小于或者等于变化阈值的情况下,将所述第二支持半径作为所述优化支持半径。
2.根据权利要求1所述的方法,其特征在于,所述自适应调整的类型包括粒子分裂、粒子合并和粒子质量重分配中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述根据流场中粒子的质量比率,进行对应的自适应调整包括:
在所述流场中粒子的质量比率大于第四阈值的情况下,对所述粒子进行分裂;
在所述流场中粒子的质量比率大于或者等于第二阈值,且小于第三阈值的情况下,保持所述粒子不变;
在所述流场中粒子的质量比率大于或者等于所述第三阈值,且小于或者等于所述第四阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行质量重分配;
在所述流场中粒子的质量比率小于所述第一阈值,或者,大于或者等于第一阈值,且小于所述第二阈值的情况下,对所述粒子进行合并。
4.根据权利要求1所述的方法,其特征在于,所述自适应调整包括粒子分裂,所述自适应调整后调整对象的质量为流场中待分裂粒子分裂后生成的子粒子的质量;
或者,所述自适应调整包括粒子合并,所述自适应调整后调整对象的质量为流场中粒子合并后调整对象的质量;
或者,所述自适应调整包括粒子质量重分配,所述自适应调整后调整对象的质量为流场中粒子质量重分配后调整对象的质量。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第二支持半径与所述第一支持半径的变化比大于变化阈值的情况下,将所述第二支持半径作为更新后的第一支持半径,根据更新后的第一支持半径和所述第一密度,得到更新后的第二支持半径。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在更新后的第二支持半径与本次更新前的第二支持半径的变化比小于或者等于变化阈值的情况下,将更新后的第二支持半径作为优化支持半径;
或者,
在更新次数大于次数阈值的情况下,将当前更新次数对应的第二支持半径作为优化支持半径。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一密度包括:原始粒子的密度影响值、原始调整对象的密度影响值和所述理论支持半径区域内的邻居粒子的密度影响值中的至少一项。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述第二密度包括调整对象在自适应调整后的密度影响值、原始粒子自适应调整后剩余质量的密度影响值、所述第一支持半径区域内邻居粒子的密度影响值中的至少一项。
9.一种空间自适应流体仿真设备,包括:
自适应调整模块,用于根据流场中粒子的质量比率,进行对应的自适应调整;其中,所述粒子的质量比率为所述流场中粒子的真实质量值与最优质量值的比值;
理论支持半径计算模块,用于根据所述自适应调整后的调整对象的质量,计算所述调整对象的理论支持半径;其中,所述调整对象为所述流场中粒子在自适应调整过程中所作用的对象;
支持半径优化模块,用于根据所述调整对象的理论支持半径、所述自适应调整前后的粒子的物理属性,计算所述调整对象的优化支持半径;
动画生成模块,用于根据多次记录的流场中粒子的物理属性和对应的优化支持半径,生成关于流体动作的动画;
所述支持半径优化模块用于根据所述理论支持半径和所述自适应调整前的粒子的物理属性,确定所述流场中粒子自适应调整前的第一密度;以第一支持半径和第二支持半径为未知参数,根据所述自适应调整后的粒子的物理属性,构建所述流场中粒子自适应调整后的第二密度的表达式;在所述第一密度和所述第二密度相等的情况下,将所述理论支持半径作为所述第一支持半径,并根据所述第一支持半径和所述第一密度,得到第二支持半径;在所述第二支持半径与所述第一支持半径的变化比小于或者等于变化阈值的情况下,将所述第二支持半径作为所述优化支持半径。
10.一种空间自适应流体仿真设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序用于控制所述处理器进行操作以执行根据权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410046915.XA CN117556745B (zh) | 2024-01-11 | 2024-01-11 | 空间自适应流体仿真方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410046915.XA CN117556745B (zh) | 2024-01-11 | 2024-01-11 | 空间自适应流体仿真方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117556745A CN117556745A (zh) | 2024-02-13 |
CN117556745B true CN117556745B (zh) | 2024-03-22 |
Family
ID=89823724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410046915.XA Active CN117556745B (zh) | 2024-01-11 | 2024-01-11 | 空间自适应流体仿真方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117556745B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650064A (zh) * | 2016-12-09 | 2017-05-10 | 华东师范大学 | 一种基于粒子模型的凝结现象仿真方法 |
CN115587523A (zh) * | 2022-12-09 | 2023-01-10 | 北京大学 | 高动态空间自适应流体仿真方法、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017068817A (ja) * | 2015-10-01 | 2017-04-06 | 三星電子株式会社Samsung Electronics Co.,Ltd. | オブジェクトをモデリングする方法及び装置 |
-
2024
- 2024-01-11 CN CN202410046915.XA patent/CN117556745B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650064A (zh) * | 2016-12-09 | 2017-05-10 | 华东师范大学 | 一种基于粒子模型的凝结现象仿真方法 |
CN115587523A (zh) * | 2022-12-09 | 2023-01-10 | 北京大学 | 高动态空间自适应流体仿真方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117556745A (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836576B2 (en) | Distributed machine learning at edge nodes | |
KR102107709B1 (ko) | 공간 트랜스포머 모듈들 | |
CN112381209B (zh) | 一种模型压缩方法、系统、终端及存储介质 | |
CN112074806A (zh) | 使用减小的位宽向量的块浮点计算 | |
CN109981787B (zh) | 用于展示信息的方法和装置 | |
CN115587523B (zh) | 高动态空间自适应流体仿真方法、设备及存储介质 | |
Kaufmann et al. | Finite element image warping | |
TW202226070A (zh) | 促進神經網路間高效率知識共享的方法及設備 | |
TW202226030A (zh) | 促進持續學習的方法及設備 | |
CN115797571A (zh) | 3d风格化场景的新视角合成方法 | |
KR20220040295A (ko) | 메트릭 학습을 위한 가상의 학습 데이터 생성 방법 및 시스템 | |
CN103782290A (zh) | 建议值的生成 | |
CN117556745B (zh) | 空间自适应流体仿真方法、设备及存储介质 | |
CN110069195B (zh) | 图像拖拽变形方法和装置 | |
CN114067030A (zh) | 动态流体效果处理方法、装置、电子设备和可读介质 | |
AU2016277556B2 (en) | 3d digital content interaction and control | |
US10321164B2 (en) | System and method for improving graphics and other signal results through signal transformation and application of dithering | |
US10691845B2 (en) | Data driven shrinkage compensation | |
US10650581B1 (en) | Sketch-based 3D fluid volume generation using a machine learning system | |
Singh | Hybrid Machine Learning Approach for Predictive Modeling of Complex Systems | |
Zhang et al. | Visualization of fluid simulation: An SPH‐based multi‐resolution method | |
Toledo et al. | Fuzzy and data-driven urban crowds | |
CN110569134A (zh) | 一种基于正态分布模拟目标时间延迟的方法及系统 | |
Yu et al. | Data-driven subspace enrichment for elastic deformations with collisions | |
US20240153177A1 (en) | Vector object blending |
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 |