《模拟方法和模拟装置.pdf》由会员分享,可在线阅读,更多相关《模拟方法和模拟装置.pdf(24页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103970928 A (43)申请公布日 2014.08.06 C N 1 0 3 9 7 0 9 2 8 A (21)申请号 201310627332.8 (22)申请日 2013.11.26 2013-016206 2013.01.30 JP G06F 17/50(2006.01) (71)申请人富士通株式会社 地址日本神奈川县 (72)发明人风间正喜 (74)专利代理机构北京集佳知识产权代理有限 公司 11227 代理人朱胜 李春晖 (54) 发明名称 模拟方法和模拟装置 (57) 摘要 当包括液体和固体的连续体由多个粒子表示 时计算在第一时间处于液体状态的粒。
2、子在第一时 间之后的第二时间的状态。确定该粒子在第二时 间是否变为第一固体粒子。当确定在第一时间处 于液体状态的粒子在第二时间变为第一固体粒子 时,将第一固体粒子和属于包括布置在距第一固 体粒子的预定范围内的第二固体粒子的固体的所 有粒子定义为属于同一固体的粒子。使用刚体 的运动方程式来计算属于同一固体的各粒子的状 态。 (30)优先权数据 (51)Int.Cl. 权利要求书2页 说明书12页 附图9页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书12页 附图9页 (10)申请公布号 CN 103970928 A CN 103970928 A 1/2页 2。
3、 1.一种存储有模拟程序的计算机可读记录介质,所述模拟程序使计算机执行包括以下 步骤的处理: 计算当包括液体和固体的连续体由多个粒子表示时所述多个粒子当中的在第一时间 处于液体状态的粒子在所述第一时间之后的第二时间的状态; 基于在所述第一时间处于液体状态的粒子在所述第二时间的状态来确定该粒子在所 述第二时间是否变为第一固体粒子; 当确定在所述第一时间处于液体状态的粒子在所述第二时间变为所述第一固体粒子 时,将所述第一固体粒子和属于包括布置在距所述第一固体粒子的预定范围内的第二固体 粒子的固体的所有粒子定义为属于同一固体的粒子;以及 使用刚体的运动方程式来计算属于同一固体的各粒子的状态。 2.根。
4、据权利要求1所述的计算机可读记录介质,其中,当将所述第一固体粒子和属于 包括所述第二固体粒子的固体的所有粒子定义为属于同一固体的粒子、并且存在包括布置 在距所述第一固体粒子的所述预定范围内的所述第二固体粒子的多个固体时,所述定义将 所述第一固体粒子和属于包括所述第二固体粒子的所述多个固体的所有粒子定义为属于 同一固体的粒子。 3.根据权利要求1或2所述的计算机可读记录介质,其中,所述处理还包括: 计算所述多个粒子当中的在第三时间处于固体状态的粒子在所述第三时间之后的第 四时间的状态; 基于在所述第三时间处于固体状态的粒子在所述第四时间的状态来确定该粒子在所 述第四时间是否变为第一液体粒子; 当。
5、确定在所述第三时间处于固体状态的粒子在所述第四时间变为所述第一液体粒子 时,将属于包括在所述第三时间处于固体状态的粒子的固体的所有粒子、以及布置在属于 包括在所述第三时间处于固体状态的粒子的固体的所有粒子中的每个粒子的预定范围内 的其它粒子定义为属于同一固体的粒子;以及 使用所述刚体的运动方程式来计算属于同一固体的各粒子的状态。 4.一种模拟方法,其使计算机进行以下: 计算当包括液体和固体的连续体由多个粒子表示时所述多个粒子当中的在第一时间 处于液体状态的粒子在所述第一时间之后的第二时间的状态; 基于在所述第一时间处于液体状态的粒子在所述第二时间的状态来确定该粒子在所 述第二时间是否变为第一固。
6、体粒子; 当确定在所述第一时间处于液体状态的粒子在所述第二时间变为所述第一固体粒子 时,将所述第一固体粒子和属于包括布置在距所述第一固体粒子的预定范围内的第二固体 粒子的固体的所有粒子定义为属于同一固体的粒子;以及 使用刚体的运动方程式来计算属于同一固体的各粒子的状态。 5.一种模拟装置,包括: 计算单元,计算当包括液体和固体的连续体由多个粒子表示时所述多个粒子当中的在 第一时间处于液体状态的粒子在所述第一时间之后的第二时间的状态,并且使用刚性体的 运动方程式来计算属于所定义的同一固体的各粒子的状态; 确定单元,基于在所述第一时间处于液体状态的粒子在所述第二时间的状态来确定该 权 利 要 求 。
7、书CN 103970928 A 2/2页 3 粒子在所述第二时间是否变为第一固体粒子;以及 定义单元,当确定在所述第一时间处于液体状态的粒子在所述第二时间变为所述第一 固体粒子时,将所述第一固体粒子和属于包括布置在距所述第一固体粒子的预定范围内的 第二固体粒子的固体的所有粒子定义为属于同一固体的粒子。 权 利 要 求 书CN 103970928 A 1/12页 4 模拟方法和模拟装置 技术领域 0001 本文所论述的实施例涉及模拟方法和模拟装置。 背景技术 0002 作为计算诸如流体或弹性体的连续体的运动的数值计算方法,例如,已经使用基 于数值网格(mesh)来求出微分方程式的近似解的有限差分。
8、法、有限元素法和有限体积法。 另外,近年来,由于数值计算已经用在诸如计算机辅助工程(CAE)的应用领域中,因此已经 发展了计算连续体的状态的数值计算方法,并且已经解决了流体与结构物之间的相互作用 的问题。然而,在使用数值网格的数值计算方法中,当发生移动边界问题(诸如,包括自由表 面的界面的存在或者用于分析流体与结构物之间的相互作用的流体结构相互作用分析中 的问题)时,连续体的处理变得复杂。因此,在一些情况下,难以创建程序。 0003 作为无需使用数值网格的数值计算方法,存在粒子法。该粒子法将连续体的运动 分析为有限数量的粒子的运动。当前提出的代表粒子法例如是光滑粒子流体动力学(SPH) 法或移。
9、动粒子半隐式(MPS)法。该粒子法在移动边界的处理中无需进行特别测量就可以分 析连续体的运动。因此,近年来,粒子法已经作为计算连续体的运动的数值计算方法得到广 泛使用。 0004 特别地,在诸如铸造或锻造的金属冲压中,通过复杂处理对金属进行加工。例如, 将冷却并固化的金属(固化金属)与液体金属混合,固化金属生长,并且在固化过程中金属 的体积改变。由于粒子法具有容易对自由表面进行处理、并且相对容易计算并行性能和与 固体的相互作用等的优点,因此期望在铸造和锻造模拟中积极使用粒子法。 0005 作为用作用于模拟铸造过程的基本技术的计算使液体冷却并固化的过程(固化过 程)的方法,已知有Cleary方法。
10、。该Cleary方法使用作为一种粒子法的SPH法来计算各液 体粒子的内部能量的时间演变,并且将液体粒子的温度、密度和粘性系数作为内部能量的 函数来进行计算。也就是说,当内部能量减少并且温度下降时,Cleary方法使液体的粘性 系数增大以表示固化并且使液体的密度增大以表示由于固化所引起的体积缩小。 0006 如由以下表达式(1)至(4)所示,Cleary方法使用SPH法来使流体的方程式离散 化。 0007 0008 说 明 书CN 103970928 A 2/12页 5 0009 0010 0011 表达式(1)表示质量守恒定律,表达式(2)表示动量守恒定律,表达式(3)表示状 态方程式,以及表。
11、达式(4)表示能量守恒定律。在表达式(1)至(4)中,x i 、v i 、 i 、m i 、p i 和 U i 分别是粒子i的位置矢量、粒子i的速度矢量、粒子i的密度、粒子i的质量、粒子i的压 力和粒子i的内部能量。另外,x ij 和v ij 分别是粒子i和j的相对位置矢量和相对速度矢 量,并且x ij =x i -x j 和v ij =v i -v j 成立。此外, i 和 i 分别是粒子i的热导率和粒子i的粘性 系数。另外,P 0 = 0 c 2 成立并且c是声速。此外, s,i 是粒子i的基准密度,并且在 i = s,i 成立时压力为0。 0012 另外,W是核函数,并且例如使用通过以下。
12、表达式(5)所表示的样条函数作为W。 0013 0014 在表达式(5)中,h是粒子之间的影响半径。例如,作为h,使用约为处于初始状态 的粒子之间的平均距离的2至3倍的值。另外,是被调整成使得核函数的整个空间积分 量为1的值。在二维的情况下,将设置为0.7h 2 。在三维的情况下,将设置为h 3 。 0015 在Cleary方法中,当内部能量减少并且温度低于熔点时,粘性系数 i 增大,并且 消除由表达式(2)的第三项表示的粒子之间的相对速度的效果得到改善。因此,难以利用 第三项进行变形。这样,Cleary方法表示固化。另外,在Cleary方法中,当基准密度 s,i 增大时,压力降低并且利用表达。
13、式(2)的第二项的效果来收集周围粒子。这样,Cleary方法 表示由于固化所引起的收缩。 0016 可以通过使用作为一般的常微分方程式的Euler法或Leapfrog法计算表达式(1) 至(4)的时间演变来进行模拟。 0017 在Cleary方法中,由于在固化过程中粘性系数的值增大,因此计算时的时间步长 非常小。因此,直到计算结束为止的计算操作的次数增加。结果,Cleary方法的计算时间 长。 0018 作为计算流体与刚体之间的相互作用的方法的示例,存在针对液体部分使用流体 的运动方程式、并且针对固体部分使用刚体的运动方程式的方法。在该方法中,由于通过刚 体的运动方程式来计算固体部分的运动,因。
14、此与Cleary方法相比,计算时间较短。 0019 关于传统技术,例如,参考Paul W.Cleary,“Extension of SPH to predict 说 明 书CN 103970928 A 3/12页 6 feeding freezing and defect creation in low pressure die casting”,Applied Mathematical Modeling,34(2010),pp.3189-3201;以及Koshizuka,S.,Nobe A.和Oka Y.“Numerical Analysis of Breaking Waves Using 。
15、the Moving Particle Semi-implicit Method”,Int.J.Numer.Meth.Fluids,26,751-769(1998)。 0020 然而,在针对固体部分使用刚体的运动方程式的方法中,在根据液体生成新的固 体的状况下,计算结果的精度不高。例如,将描述将液体金属倒入模具然后冷却的情况。在 这种情况下,液体金属的多个部分根据冷却条件开始固化,并且多个固化部分的体积随着 时间的经过而增大。然后,整个液体金属固化。图14是示出根据现有技术的方法的问题的 示例的图。在图14所示的示例中,通过冷却而固化的金属中的固体部分90的粒子90a、固 体部分91的粒子91。
16、a和液体部分92的粒子92a存在于模具中。在这种情况下,即使当固 体部分90的固化体积增大、液体部分92固化并且固化部分92和固体部分90通过冷却而 形成同一固体时,上述方法也将固化部分92和固体部分90当作单独固体。也就是说,上述 方法使用刚体的运动方程式来单独计算固化部分92的运动和固体部分90的运动。因此, 尽管原来存在一个固体,上述方法也能单独计算多个固体的运动。结果,计算结果的精度不 高。 0021 因此,本发明的实施例的一个方面的目的是提供如下技术:该技术用于即使在使 用针对液体部分使用液体的运动方程式并且针对固体部分使用刚体的运动方程式的方法 时,也能以高精度进行计算。 发明内容。
17、 0022 根据实施例的一方面,一种模拟方法使得计算机执行以下步骤:计算当包括液体 和固体的连续体由多个粒子表示时所述多个粒子当中的在第一时间处于液体状态的粒子 在第一时间之后的第二时间的状态;基于在第一时间处于液体状态的粒子在第二时间的状 态来确定该粒子在第二时间是否变为第一固体粒子;当确定在第一时间处于液体状态的粒 子在第二时间变为第一固体粒子时,将第一固体粒子和属于包括布置在距第一固体粒子的 预定范围内的第二固体粒子的固体的所有粒子定义为属于同一固体的粒子;以及使用刚体 的运动方程式来计算属于同一固体的各粒子的状态。 0023 根据实施例的另一方面,一种模拟装置包括计算单元、确定单元和定。
18、义单元。计算 单元计算当包括液体和固体的连续体由多个粒子表示时多个粒子当中的在第一时间处于 液体状态的粒子在第一时间之后的第二时间的状态,并且使用刚性体的运动方程式来计算 属于所定义的同一固体的各粒子的状态。确定单元基于在第一时间处于液体状态的粒子在 第二时间的状态来确定该粒子在第二时间是否变为第一固体粒子。定义单元当确定在第一 时间处于液体状态的粒子在第二时间变为第一固体粒子时,将第一固体粒子和属于包括布 置在距第一固体粒子的预定范围内的第二固体粒子的固体的所有粒子定义为属于同一固 体的粒子。 附图说明 0024 图1是示出根据实施例的模拟装置所进行的处理的示例的图; 0025 图2是示出根。
19、据实施例的模拟装置的功能结构的示例的图; 说 明 书CN 103970928 A 4/12页 7 0026 图3是示出由金属模型数据表示的金属模型的示例的图; 0027 图4是示出由金属模型数据表示的金属模型的示例的图; 0028 图5是示出根据实施例的模拟装置所进行的处理的示例的图; 0029 图6是示出根据实施例的模拟装置所进行的处理的示例的图; 0030 图7是示出根据实施例的模拟装置所进行的处理的示例的图; 0031 图8是示出根据实施例的模拟装置所进行的处理的示例的图; 0032 图9是示出根据实施例的模拟装置所进行的处理的示例的图; 0033 图10是示出根据实施例的模拟装置所进行。
20、的处理的示例的图; 0034 图11A和11B是示出根据实施例的模拟处理的过程的流程图; 0035 图12是示出根据实施例的固体编号定义处理的过程的流程图; 0036 图13是示出执行模拟程序的计算机的图;以及 0037 图14是示出根据现有技术的方法的问题的示例的图。 具体实施方式 0038 将参考附图来说明本发明的优选实施例。这些实施例并没有限制所公开的技术。 0039 模拟装置的结构 0040 将描述根据实施例的模拟装置。根据本实施例的模拟装置根据将金属液体倒入模 具并且使该金属液体冷却的方案,使用粒子法按每时间步长t ts 计算包括金属液体和金属 固体的连续体的各粒子的状态。图1是示出。
21、根据实施例的模拟装置所进行的处理的示例的 图。如图1所示,模拟装置将金属液体20倒入模具21,使金属液体20冷却,并且使用粒子 法计算当金属液体20和作为固化后的金属液体20的金属固体22彼此混合时的各粒子的 状态。 0041 图2是是示出根据实施例的模拟装置的功能结构的示例的图。如图2所示,模拟 装置10包括输入单元11、显示单元12、存储单元13和控制单元14。 0042 输入单元11向控制单元14输入信息。例如,输入单元11从用户接收用以进行 以下将描述的模拟处理的模拟执行指令,并且将所接收到的模拟执行指令输入至控制单元 14。另外,输入单元11从用户接收处于初始状态的各粒子的初始值,并。
22、且将所接收到的各 粒子的初始值输入至控制单元14。处于初始状态的各粒子的初始值包括各粒子的位置、密 度、速度、内部能量、状态和固体编号。当内部能量大于预定值并且温度高于熔点时,粒子是 液体。因此,将表示粒子是液体的信息设置为粒子的状态。另外,当内部能量等于或小于预 定值并且温度低于凝固点时,粒子是固体。因此,将表示粒子是固体的信息设置为粒子的状 态。将包括粒子的固体的识别编号设置为固体编号。输入单元11的示例装置是键盘或鼠 标。 0043 显示单元12显示各种信息。例如,显示单元12在以下将描述的显示控制单元14e 的控制下显示模拟结果。显示单元12的示例装置是液晶显示器。 0044 存储单元。
23、13存储控制单元14所执行的各种程序。另外,存储单元13存储金属模 型数据13a。金属模型数据13a表示将包括金属液体和金属固体的连续体表示为多个粒子 的金属模型。图3和图4是示出由金属模型数据表示的金属模型的示例的图。在图3所示 的示例中,倒入模具21中的金属液体20的一部分固化,并且金属液体20和金属固体22彼 说 明 书CN 103970928 A 5/12页 8 此混合。将详细描述图3所示的部分23的金属模型。图4是示出图3所示的部分23的金 属模型的细节的图。如图4的示例中所示,金属液体20和金属固体22的模型包括多个粒 子25。在本实施例中,按每时间步长t ts 计算各粒子25的位。
24、置、密度、速度、内部能量、状态 和固体编号。 0045 返回图1,存储单元13是诸如闪速存储器的半导体存储器装置、或者诸如硬盘或 光盘的存储装置。存储单元13不限于以上类型的存储装置,而且可以是随机存取存储器 (RAM)或只读存储器(ROM)。 0046 控制单元14包括用于存储定义各种过程的程序或控制数据的内部存储器,并且 利用该程序或控制数据来执行各种处理。如图2所示,控制单元14包括计算单元14a、更新 单元14b、确定单元14c、定义单元14d和显示控制单元14e。 0047 计算单元14a计算各种信息。例如,计算单元14a按每时间步长t ts 、针对作为处 于液体状态的粒子的液体粒子。
25、来使用流体的运动方程式执行时间演变计算,以计算液体粒 子的位置、速度、密度和内部能量。例如,计算单元14a使用上述表达式(1)至(4)来计算在 时间步长(t ts -1)处于液体状态的所有粒子在时间步长t ts 的位置、速度、密度和内部能量。 0048 计算单元14a按每时间步长t ts 、针对包括作为处于固体状态的粒子的固体粒子的 固体来使用刚体的运动方程式执行时间演变计算,以计算固体粒子的位置、速度、密度和内 部能量。例如,计算单元14a计算在时间步长(t ts -1)处于固体状态的粒子在时间步长t ts 的重心的平移运动和固体粒子绕重心的转动运动。这样,计算单元14a计算包括固体粒子 的。
26、固体在时间步长t ts 的时间演变。也就是说,计算单元14a根据施加至各固体中的固体粒 子的力来计算在时间步长t ts 的各固体的重心的平移运动和固体绕中心的转动运动。然后, 计算单元14a根据所计算出的固体的重心的平移运动和所计算出的该固体绕重心的转动 运动,使用刚体的运动方程式来计算各固体中的固体粒子在时间步长t ts 的位置、速度和密 度。另外,计算单元14a使用上述表达式(4)来计算固体粒子在时间步长t ts 的内部能量。 0049 将描述计算单元14a的一方面。例如,当从输入单元11输入模拟执行指令时,首 先,计算单元14a将时间步长t ts 的值设置为0。然后,计算单元14a确定从。
27、输入单元11是 否输入了各粒子的初始值。当输入了初始值时,计算单元14a使时间步长t ts 的值加1。另 外,当显示控制单元14e确定时间步长t ts 的值等于或小于模拟的最后的时间步长N L 时,计 算单元14a使时间步长t ts 的值加1。 0050 然后,计算单元14a使用上述表达式(1)至(4)来计算在时间步长(t ts -1)处于液 体状态的所有粒子在时间步长t ts 的位置、速度、密度和内部能量。 0051 另外,计算单元14a针对包括在时间步长(t ts -1)处于固体状态的粒子的所有固 体,使用刚体的运动方程式来执行时间演变计算,并且执行接下来的处理。也就是说,计算 单元14a。
28、计算在时间步长(t ts -1)处于固体状态的所有粒子在时间步长t ts 的位置、速度、密 度和内部能量。 0052 更新单元14b更新各种信息。将描述更新单元14b的一方面。例如,更新单元14b 将在时间步长(t ts -1)处于液体状态的所有粒子的位置、速度、密度和内部能量分别更新为 所计算出的液体粒子在时间步长t ts 的位置、速度、密度和内部能量。 0053 另外,更新单元14b将在时间步长(t ts -1)处于固体状态的所有粒子的位置、速度、 密度和内部能量分别更新为所计算出的固体粒子在时间步长t ts 的位置、速度、密度和内部 说 明 书CN 103970928 A 6/12页 9。
29、 能量。 0054 然后,更新单元14b基于所计算出的内部能量来更新所有粒子的状态。例如,当所 计算出的内部能量大于预定值时,更新单元14b将表示粒子是液体的信息设置为粒子的状 态以更新状态。当内部能量等于或小于预定值时,更新单元14b将表示粒子是固体的信息 设置为粒子的状态以更新状态。 0055 然后,更新单元14b将所有粒子的更新结果(位置、速度、密度、内部能量和状态)与 时间步长t ts 相关联地存储在存储单元13的预定区域中。 0056 然后,确定单元14c执行各种确定操作。将描述确定单元14c的一方面。例如,确 定单元14c基于在时间步长t ts 所有粒子在更新之前和之后的状态来确定。
30、是否存在新固化 的粒子(状态已从液体改变为固体的粒子)。 0057 当存在新固化的粒子时,确定单元14c指定该新固化的粒子。然后,确定单元14c 将所指定的固体粒子的固体编号设置为未定义状态。 0058 确定单元14c基于在时间步长t ts 所有粒子在更新之前和之后的状态来确定是否 存在新熔融的液体粒子(状态已从固体改变为液体的粒子)。 0059 当存在新熔融的液体粒子时,确定单元14c指定该新熔融的液体粒子。然后,确定 单元14c将在所指定的液体粒子在时间步长t ts 已是固体粒子时固体中所包括的所有固体 粒子的固体编号设置为未定义状态。 0060 然后,确定单元14c基于在时间步长t ts。
31、 所有粒子在更新之前和之后的状态来确定 是否存在新固化的粒子以及是否存在新熔融的液体粒子。 0061 定义单元14d定义各种信息。将描述定义单元14d的一方面。例如,当确定单元 14c确定存在新固化的粒子或者确定存在新熔融的液体粒子时,定义单元14d进行接下来 的处理。也就是说,定义单元14d确定在固体编号未定义的固体粒子当中是否存在尚未被 选择的固体粒子。 0062 当存在尚未被选择的固体粒子时,定义单元14d选择固体编号未定义的尚未被选 择的固体粒子中的一个。然后,定义单元14d确定在以所选择的固体粒子为中心的具有半 径h的球内是否存在属于固体的固体粒子。作为确定属于固体的固体粒子的方法的。
32、示例, 存在确定固体识别编号是否被设置为球内的固体粒子的固体编号的方法。在该方法中,当 设置了识别编号时,确定固体粒子属于固体。当未设置识别编号时,确定固体粒子不属于固 体。另外,半径h可以具有任意值。例如,可以使用粒子法中的粒子的影响半径。 0063 图5至图7是示出根据实施例的模拟装置所进行的处理的示例的图。在图5所示 的示例中,定义单元14d选择固体编号未定义的固体粒子30。另外,在图5所示的示例中, 固体粒子30与属于固体31的固体粒子31a当中离固体粒子30最近的固体粒子31a之间 的距离为r 1 。在图5所示的示例中,固体粒子30与属于固体32的固体粒子32a当中离固 体粒子30最。
33、近的固体粒子32a之间的距离为r 2 。在图5所示的示例中,r 1 和r 2 这两者均 大于半径h。在图5所示的示例中,定义单元14d确定在以所选择的固体粒子30为中心的 具有半径h的球内不存在属于固体的固体粒子。 0064 在图6所示的示例中,定义单元14d选择固体编号未定义的固体粒子35。在图6 所示的示例中,固体粒子35与属于固体36的固体粒子36a当中离固体粒子35最近的固体 粒子36a之间的距离为r 3 。在图6所示的示例中,固体粒子35与属于固体37的固体粒子 说 明 书CN 103970928 A 7/12页 10 37a当中离固体粒子35最近的固体粒子37a之间的距离为r 4 。
34、。在图6所示的示例中,r 3 等 于或小于半径h并且r 4 大于半径h。在图6所示的示例中,定义单元14d确定在以所选择 的固体粒子35为中心的具有半径h的球内是否存在属于固体36的固体粒子36a。 0065 在图7所示的示例中,定义单元14d选择固体编号未定义的固体粒子40。在图7 所示的示例中,固体粒子40与属于固体41的固体粒子41a当中离固体粒子40最近的固体 粒子41a之间的距离为r 5 。在图7所示的示例中,固体粒子40与属于固体42的固体粒子 42a当中离固体粒子40最近的固体粒子42a之间的距离为r 6 。在图7所示的示例中,r 5 和 r 6 这两者均等于或小于半径h。在图7。
35、所示的示例中,定义单元14d确定在以所选择的固 体粒子40为中心的具有半径h的球内存在分别属于多个固体41和42的固体粒子41a和 固体粒子42a。 0066 当存在固体粒子时,定义单元14d确定被确定为存在的固体粒子是否属于多个固 体中的各固体。例如,在图6所示的示例中,定义单元14d确定被确定为存在的固体粒子不 属于多个固体中的任一固体。在图7所示的示例中,定义单元14d确定被确定为存在的固 体粒子属于多个固体中的各固体。 0067 当被确定为存在的固体粒子不属于多个固体中的任一固体时,定义单元14d将球 内的固体粒子的固体编号的值设置为所选择的固体粒子的固体编号。例如,在图6所示的 示例。
36、中,定义单元14d将球内的固体粒子的固体编号“36”的值设置为所选择的固体粒子35 的固体编号。这样,将属于一个固体的粒子定义成属于一个固体。 0068 另一方面,当被确定为存在的固体粒子属于多个固体中的各固体时,定义单元14d 将球内的多个固体粒子当中离所选择的固体粒子最近的固体粒子的固体编号的值设置为 所选择的固体粒子的固体编号。例如,在图7所示的示例中,定义单元14d将球内的多个固 体粒子41a和42a当中离所选择的固体粒子40最近的固体粒子41a的固体编号的值“41” 设置为所选择的固体粒子40的固体编号。这样,将属于一个固体的粒子定义成属于一个固 体。 0069 定义单元14d在球内。
37、的多个固体粒子当中指定固体编号被设置为除为所选择的 固体粒子设置的固体编号的值以外的值的固体粒子。例如,在图7所示的示例中,定义单元 14d在球内的固体粒子41a和42a当中指定固体编号被设置为除为所选择的固体粒子设置 的固体编号的值“41”以外的值“42”的固体粒子42a。 0070 然后,定义单元14d将属于包括所指定的固体粒子的固体的所有固体粒子的固体 编号的值更新为设置为所选择的固体粒子的固体编号的值。例如,在图7所示的示例中,定 义单元14d将属于包括所指定的固体粒子42a的固体42的所有固体粒子42a(三个固体粒 子42a)的固体编号的值更新为被设置为所选择的固体粒子40的固体编号。
38、的值“41”。这 样,通过所选择的固体粒子将属于多个固体的固体粒子定义成属于一个固体。 0071 当在以所选择的固体粒子为中心的具有半径h的球内不存在属于固体的固体粒 子时,定义单元14d将与其它固体粒子的固体编号的值不重复的值设置为所选择的固体粒 子的固体编号。例如,在图5所示的示例中,定义单元14d将与其它固体粒子的固体编号的 值不重复的值“50”设置为所选择的固体粒子30的固体编号。 0072 然后,定义单元14d再次执行在确定在固体编号未定义的固体粒子当中是否存在 尚未被选择的固体粒子的处理之后的处理。因此,定义单元14d可以设置固体编号未定义 说 明 书CN 103970928 A 。
39、10 8/12页 11 的所有固体粒子的固体编号。然后,当在固体编号未定义的固体粒子当中不存在尚未被选 择的固体粒子时,定义单元14d将所有粒子的固体编号与时间步长t ts 相关联地存储在存储 单元13中。 0073 图8至图10是示出根据本实施例的模拟装置所进行的处理的示例的图。如图8所 示,定义单元14d使用上述处理来追踪半径h内的粒子60以识别属于同一固体的粒子60。 图9示出表示当将半径h内的粒子60相连结时粒子之间的连结关系的链接列表。 0074 在图10所示的示例中,属于在时间步长t ts 已新熔融的液体粒子70在时间步长 (t ts -1)作为固体粒子所属的固体的所有固体粒子71。
40、的固体编号是未定义的,并且定义了 新的固体编号。在图10所示的示例中,将每个固体粒子71的固体编号定义为作为固体81 的固体编号的“81”或作为固体82的固体编号的“82”。在图10所示的示例中,由于固体 81中的粒子71与固体82中的粒子71之间的最短距离为r(h),因此将粒子71定义成使 得这些粒子不属于一个固体而是属于两个固体中的任一个。 0075 显示控制单元14e控制各种信息的显示。将描述显示控制单元14e的一方面。例 如,当定义单元14d将所有粒子的固体编号与时间步长t ts 相关联地存储在存储单元13中 时,显示控制单元14e确定时间步长t ts 的值是否等于或小于模拟的最后的时。
41、间步长N L 。当 时间步长t ts 的值不等于或小于模拟的最后的时间步长N L 时,显示控制单元14e执行接下 来的处理。也就是说,显示控制单元14e按所有的时间步长获取在各时间步长存储在存储 单元13中的所有粒子的位置、速度、密度、内部能量、状态和固体编号。然后,显示控制单元 14e对显示单元12的显示进行控制以使得显示模拟结果(在所有时间步长的所有粒子的位 置、速度、密度、内部能量、状态和固体编号)。 0076 控制单元14是诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的硬线逻 辑。替选地,中央处理单元(CPU)或微处理单元(MPU)执行程序以实现控制单元14的功能。 00。
42、77 处理的流程 0078 接着,将描述根据本实施例的模拟装置10所进行的处理的流程。图11A和图11B 是示出根据本实施例的模拟处理的过程的流程图。在各时间处执行该模拟处理。例如,当 从输入单元11输入用以执行模拟处理的模拟执行指令时,控制单元14执行该模拟处理。 0079 如图11A和图11B所示,计算单元14a将时间步长t ts 的值设置为0(S101)。然 后,计算单元14a确定从输入单元11是否输入了各粒子的初始值(S102)。当没有输入初始 值时(在步骤S102中为“否”),计算单元14a再次执行S102的确定。另一方面,当输入了初 始值时(在步骤S102中为“是”),计算单元14。
43、a使时间步长t ts 的值加1(S103)。 0080 然后,计算单元14a使用上述表达式(1)至(4)计算在时间步长(t ts -1)处于液体 状态的所有粒子在时间步长t ts 的位置、速度、密度和内部能量(S104)。然后,更新单元14b 将在时间步长(t ts -1)处于液体状态的所有粒子的位置、速度、密度和内部能量更新为所计 算出的在时间步长t ts 的位置、速度、密度和内部能量(S105)。 0081 然后,计算单元14a针对包括在时间步长(t ts -1)处于固体状态的粒子的所有固 体,使用刚体的运动方程式来进行时间演变计算,并且执行接下来的处理。也就是说,计算 单元14a计算在时。
44、间步长(t ts -1)处于固体状态的所有粒子在时间步长t ts 的位置、速度、密 度和内部能量(S106)。 0082 然后,更新单元14b将在时间步长(t ts -1)处于固体状态的所有粒子的位置、速 说 明 书CN 103970928 A 11 9/12页 12 度、密度和内部能量分别更新为所计算出的在时间步长t ts 的位置、速度、密度和内部能量 (S107)。 0083 然后,更新单元14b基于所计算出的内部能量来更新所有粒子的状态(S108)。然 后,更新单元14b将所有粒子的更新结果(位置、速度、密度、内部能量和状态)与时间步长 t ts 相关联地存储在存储单元13的存储区域中(。
45、S109)。 0084 确定单元14c基于在时间步长t ts 所有粒子在更新之前和之后的状态来确定是否 存在新固化的粒子(S110)。当不存在新固化的粒子时(在步骤S110中为“否”),该处理进行 到S113。 0085 另一方面,当存在新固化的粒子时(在步骤S110中为“是”),确定单元14c指定该 新固化的粒子(S111)。然后,确定单元14c将所指定的固体粒子的固体编号设置为未定义 状态(S112)。 0086 然后,确定单元14c基于在时间步长t ts 所有粒子在更新之前和之后的状态来确 定是否存在新熔融的液体粒子(S113)。当不存在新熔融的液体粒子时(在步骤S113中 为“否”),。
46、该处理进行到S116。另一方面,当存在新熔融的液体粒子时(在步骤S113中为 “是”),确定单元14c指定该新熔融的液体粒子(S114)。然后,确定单元14c将属于包括在 时间步长(t ts -1)已为固体粒子的所指定的液体粒子的固体的所有固体粒子的固体编号设 置为未定义状态(S115)。 0087 然后,确定单元14c基于在时间步长t ts 所有粒子在更新之前和之后的状态来再次 确定是否存在新固化的粒子以及是否存在新熔融的液体粒子(S116)。 0088 当不存在新固化的粒子并且不存在新熔融的液体粒子时(在步骤S116中为 “否”),该处理进行到S119。另一方面,当存在新固化的粒子或者存在。
47、新熔融的液体粒子时 (在步骤S116中为“是”),定义单元14d执行接下来的处理。也就是说,定义单元14d执行 固体编号定义处理(S117)。然后,定义单元14d将所有粒子的固体编号与时间步长t ts 相关 联地存储在存储单元13中(S118)。 0089 然后,显示控制单元14e确定时间步长t ts 的值是否等于或小于模拟的最后的时间 步长N L (S119)。当时间步长t ts 的值等于或小于模拟的最后的时间步长N L 时(在步骤S119 中为“是”),该处理返回至S103。另一方面,当时间步长t ts 的值不等于或小于模拟的最后 的时间步长N L 时(在步骤S119中为“否”),显示控制。
48、单元14e执行接下来的处理。也就是 说,显示控制单元14e在所有时间步长获取与各时间步长相关联地存储在存储单元13中的 所有粒子的位置、速度、密度、内部能量、状态和固体编号。然后,显示控制单元14e对显示 单元12的显示进行控制,以使得显示模拟结果(所有粒子在所有时间步长的位置、速度、密 度、内部能量、状态和固体编号)(S120),并且该处理结束。 0090 图12是示出根据实施例的固体编号定义处理的过程的流程图。如图12所示,定义 单元14d定义在固体编号未定义的固体粒子当中是否存在尚未被选择的固体粒子(S201)。 0091 当存在尚未被选择的固体粒子时(在步骤S201中为“是”),定义单。
49、元14d选择固体 编号未定义的尚未被选择的固体粒子中的一个(S202)。然后,定义单元14d确定在以所选 择的固体粒子为中心的具有半径h的球内是否存在属于固体的固体粒子(S203)。 0092 当在球内存在固体粒子时(在步骤S203中为“是”),定义单元14d确定被确定为存 在的固体粒子是否属于多个固体中的各固体(S204)。 说 明 书CN 103970928 A 12 10/12页 13 0093 当被确定为存在的固体粒子不属于多个固体中的任一个时(在步骤S204为 “否”),定义单元14d将球内的固体粒子的固体编号的值设置为所选择的固体粒子的固体编 号(S205),并且该处理返回至S201。 0094 另一方面,当被确定为存在的固体粒子属于多个固体中的各固体时(在步骤S204 为“是”),定义单元14d执行接下来的处理。也就是说,定义单元14d将球内的多个固体粒 子当中离所选择的。