本發(fā)明涉及大規(guī)模超算計(jì)算,尤其涉及一種并行耦合物質(zhì)點(diǎn)有限差分有限元模擬方法及裝置。
背景技術(shù):
1、物質(zhì)點(diǎn)法非常適合應(yīng)對(duì)極端事件,例如超高速碰撞、巖土問(wèn)題、爆炸、裂紋演化、不可壓縮流體等應(yīng)用。針對(duì)具有強(qiáng)非線性的流體固體耦合過(guò)程,耦合物質(zhì)點(diǎn)有限差分法將問(wèn)題域劃分為有限差分區(qū)和物質(zhì)點(diǎn)區(qū),采用有限差分模擬流體傳播,采用物質(zhì)點(diǎn)法模擬固體響應(yīng),既發(fā)揮了有限差分法求解大范圍流場(chǎng)問(wèn)題的優(yōu)勢(shì),又發(fā)揮了物質(zhì)點(diǎn)法求解結(jié)構(gòu)大變形問(wèn)題的優(yōu)勢(shì)。然而面對(duì)小變形問(wèn)題時(shí),例如爆炸應(yīng)用中建筑物鋼筋部分的模擬等,物質(zhì)點(diǎn)法的精度和效率均低于有限元法。因此,亟需一種面對(duì)小變形問(wèn)題的解決方法。
技術(shù)實(shí)現(xiàn)思路
1、為了解決現(xiàn)有技術(shù)中存在的問(wèn)題,本申請(qǐng)實(shí)施例提供了一種并行耦合物質(zhì)點(diǎn)有限差分有限元模擬的方法、裝置、計(jì)算設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及包含計(jì)算機(jī)程序的產(chǎn)品,能夠提高模擬精度,使得模擬更加貼合實(shí)際情況。
2、第一方面,本申請(qǐng)實(shí)施例提供一種并行耦合物質(zhì)點(diǎn)有限差分有限元模擬方法,應(yīng)用于物質(zhì)爆炸模擬,方法包括:生成背景網(wǎng)格,每個(gè)背景網(wǎng)格中包括若干個(gè)物質(zhì)點(diǎn),初始化物質(zhì)點(diǎn)的物質(zhì)信息,物質(zhì)信息包括質(zhì)量、動(dòng)量、密度、應(yīng)力應(yīng)變、變形梯度信息中的至少一種;初始化桿單元;基于有限差分有限元法,各個(gè)背景網(wǎng)格之間進(jìn)行并行模擬與通信;移動(dòng)網(wǎng)格數(shù)據(jù),包括物質(zhì)點(diǎn)的移動(dòng)以及桿單元的移動(dòng)。
3、在一些可能的實(shí)現(xiàn)方式中,生成背景網(wǎng)格具體包括:生成背景網(wǎng)格采用八叉樹(shù)結(jié)構(gòu)進(jìn)行構(gòu)建,通過(guò)對(duì)八叉樹(shù)的加密操作確定背景網(wǎng)格的最終形態(tài),八叉樹(shù)的初始參數(shù)及加密規(guī)則依據(jù)物質(zhì)爆炸模擬場(chǎng)景的空間特征和精度需確定。
4、在一些可能的實(shí)現(xiàn)方式中,初始化桿單元包括:為桿單元設(shè)定結(jié)構(gòu)參數(shù),結(jié)構(gòu)參數(shù)包括桿單元的長(zhǎng)度、截面形狀與尺寸、彈性模量、泊松比信息,建立桿單元的點(diǎn)結(jié)構(gòu)與物質(zhì)點(diǎn)的映射關(guān)系,其中點(diǎn)結(jié)構(gòu)參與物質(zhì)點(diǎn)法網(wǎng)格點(diǎn)映射和運(yùn)算,桿結(jié)構(gòu)依據(jù)桿單元兩端點(diǎn)的位置信息及設(shè)定的結(jié)構(gòu)參數(shù)進(jìn)行更新。
5、在一些可能的實(shí)現(xiàn)方式中,基于有限差分有限元法,各個(gè)背景網(wǎng)格之間進(jìn)行并行模擬與通信包括:將背景網(wǎng)格分為流體、固體、流固耦合三類(lèi),針對(duì)流體網(wǎng)格采用有限差分計(jì)算流體動(dòng)力學(xué)相關(guān)方程,針對(duì)固體網(wǎng)格采用物質(zhì)點(diǎn)法或有限元法計(jì)算固體力學(xué)相關(guān)方程,針對(duì)流固耦合網(wǎng)格采用浸沒(méi)邊界法處理相互作用;建立鄰居列表機(jī)制,當(dāng)數(shù)據(jù)傳輸涉及跨進(jìn)程時(shí),依據(jù)鄰居列表查找相鄰進(jìn)程中目標(biāo)網(wǎng)格的下標(biāo),通過(guò)數(shù)據(jù)打包和傳輸協(xié)議將數(shù)據(jù)發(fā)送。
6、在一些可能的實(shí)現(xiàn)方式中,移動(dòng)網(wǎng)格數(shù)據(jù)包括:對(duì)于物質(zhì)點(diǎn)的移動(dòng),通過(guò)建立物質(zhì)點(diǎn)位置查詢函數(shù)和進(jìn)程歸屬判斷函數(shù),依據(jù)物質(zhì)點(diǎn)新計(jì)算的位置與當(dāng)前進(jìn)程所負(fù)責(zé)的背景網(wǎng)格范圍進(jìn)行對(duì)比,當(dāng)物質(zhì)點(diǎn)超出當(dāng)前進(jìn)程范圍時(shí),將物質(zhì)點(diǎn)所有的物質(zhì)信息按照預(yù)設(shè)的數(shù)據(jù)格式打包移動(dòng)到對(duì)應(yīng)的相鄰進(jìn)程;對(duì)于桿單元的移動(dòng),基于桿單元兩端點(diǎn)的位置變化判斷其是否需要移動(dòng),若需移動(dòng),則在移動(dòng)過(guò)程中除了將桿單元的桿結(jié)構(gòu)與點(diǎn)結(jié)構(gòu)同時(shí)移動(dòng)到對(duì)應(yīng)的進(jìn)程之外;更新桿單元在新進(jìn)程中的索引映射關(guān)系。
7、第二方面,本申請(qǐng)實(shí)施例提供一種并行耦合物質(zhì)點(diǎn)有限差分有限元模擬裝置,部署于計(jì)算設(shè)備,計(jì)算設(shè)備應(yīng)用于物質(zhì)爆炸模擬,裝置包括:初始化模塊,用于生成背景網(wǎng)格,每個(gè)背景網(wǎng)格中包括若干個(gè)物質(zhì)點(diǎn),初始化物質(zhì)點(diǎn)的物質(zhì)信息,物質(zhì)信息包括質(zhì)量、動(dòng)量、密度、應(yīng)力應(yīng)變、變形梯度信息中的至少一種;初始化模塊,還用于初始化桿單元;處理模塊,用于基于有限差分有限元法,各個(gè)背景網(wǎng)格之間進(jìn)行并行模擬與通信;處理模塊,還用于移動(dòng)網(wǎng)格數(shù)據(jù),包括物質(zhì)點(diǎn)的移動(dòng)以及桿單元的移動(dòng)。
8、在一些可能的實(shí)現(xiàn)方式中,初始化模塊具體用于:生成背景網(wǎng)格采用八叉樹(shù)結(jié)構(gòu)進(jìn)行構(gòu)建,通過(guò)對(duì)八叉樹(shù)的加密操作確定背景網(wǎng)格的最終形態(tài),八叉樹(shù)的初始參數(shù)及加密規(guī)則依據(jù)物質(zhì)爆炸模擬場(chǎng)景的空間特征和精度需確定。
9、在一些可能的實(shí)現(xiàn)方式中,初始化模塊還用于:為桿單元設(shè)定結(jié)構(gòu)參數(shù),結(jié)構(gòu)參數(shù)包括桿單元的長(zhǎng)度、截面形狀與尺寸、彈性模量、泊松比信息,建立桿單元的點(diǎn)結(jié)構(gòu)與物質(zhì)點(diǎn)的映射關(guān)系,其中點(diǎn)結(jié)構(gòu)參與物質(zhì)點(diǎn)法網(wǎng)格點(diǎn)映射和運(yùn)算,桿結(jié)構(gòu)依據(jù)桿單元兩端點(diǎn)的位置信息及設(shè)定的結(jié)構(gòu)參數(shù)進(jìn)行更新。
10、在一些可能的實(shí)現(xiàn)方式中,處理模塊用于:將背景網(wǎng)格分為流體、固體、流固耦合三類(lèi),針對(duì)流體網(wǎng)格采用有限差分計(jì)算流體動(dòng)力學(xué)相關(guān)方程,針對(duì)固體網(wǎng)格采用物質(zhì)點(diǎn)法或有限元法計(jì)算固體力學(xué)相關(guān)方程,針對(duì)流固耦合網(wǎng)格采用浸沒(méi)邊界法處理相互作用;建立鄰居列表機(jī)制,當(dāng)數(shù)據(jù)傳輸涉及跨進(jìn)程時(shí),依據(jù)鄰居列表查找相鄰進(jìn)程中目標(biāo)網(wǎng)格的下標(biāo),通過(guò)數(shù)據(jù)打包和傳輸協(xié)議將數(shù)據(jù)發(fā)送。
11、在一些可能的實(shí)現(xiàn)方式中,處理模塊還用于:對(duì)于物質(zhì)點(diǎn)的移動(dòng),通過(guò)建立物質(zhì)點(diǎn)位置查詢函數(shù)和進(jìn)程歸屬判斷函數(shù),依據(jù)物質(zhì)點(diǎn)新計(jì)算的位置與當(dāng)前進(jìn)程所負(fù)責(zé)的背景網(wǎng)格范圍進(jìn)行對(duì)比,當(dāng)物質(zhì)點(diǎn)超出當(dāng)前進(jìn)程范圍時(shí),將物質(zhì)點(diǎn)所有的物質(zhì)信息按照預(yù)設(shè)的數(shù)據(jù)格式打包移動(dòng)到對(duì)應(yīng)的相鄰進(jìn)程;對(duì)于桿單元的移動(dòng),基于桿單元兩端點(diǎn)的位置變化判斷其是否需要移動(dòng),若需移動(dòng),則在移動(dòng)過(guò)程中除了將桿單元的桿結(jié)構(gòu)與點(diǎn)結(jié)構(gòu)同時(shí)移動(dòng)到對(duì)應(yīng)的進(jìn)程之外;更新桿單元在新進(jìn)程中的索引映射關(guān)系。
12、第三方面,本申請(qǐng)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括計(jì)算機(jī)可讀指令,當(dāng)計(jì)算機(jī)讀取并執(zhí)行所述計(jì)算機(jī)可讀指令時(shí),使得計(jì)算機(jī)執(zhí)行如第一方面任一項(xiàng)所述的方法。
13、第四方面,本申請(qǐng)實(shí)施例提供一種計(jì)算設(shè)備,包括處理器和存儲(chǔ)器,其中,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被所述處理器運(yùn)行時(shí),執(zhí)行如第一方面任一項(xiàng)所述的方法。
14、第五方面,本申請(qǐng)實(shí)施例提供一種包含計(jì)算機(jī)程序的產(chǎn)品,當(dāng)計(jì)算機(jī)程序產(chǎn)品在處理器上運(yùn)行時(shí),使得所述處理器執(zhí)行如第一方面任一項(xiàng)所述的方法。
1.一種并行耦合物質(zhì)點(diǎn)有限差分有限元模擬方法,應(yīng)用于物質(zhì)爆炸模擬,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成背景網(wǎng)格具體包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述初始化桿單元包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于有限差分有限元法,各個(gè)背景網(wǎng)格之間進(jìn)行并行模擬與通信包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述移動(dòng)網(wǎng)格數(shù)據(jù)包括:
6.一種并行耦合物質(zhì)點(diǎn)有限差分有限元模擬裝置,部署于計(jì)算設(shè)備,所述計(jì)算設(shè)備應(yīng)用于物質(zhì)爆炸模擬,其特征在于,所述裝置包括:
7.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述初始化模塊具體用于:
8.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述初始化模塊還用于:
9.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述處理模塊用于:
10.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述處理模塊還用于: