本技術(shù)實(shí)施例涉及有限元分析領(lǐng)域,尤其涉及一種三維規(guī)則單元接觸面生成方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、有限元分析是利用數(shù)學(xué)近似的方法對真實(shí)物理系統(tǒng)(幾何和載荷工況)進(jìn)行模擬。利用簡單而又相互作用的元素(即單元),就可以用有限數(shù)量的未知量去逼近無限未知量的真實(shí)系統(tǒng)。有限元分析方法已廣泛應(yīng)用結(jié)構(gòu)、巖土、熱物理等多種學(xué)科的工程問題分析。
2、現(xiàn)有成熟的有限元分析軟件較多,如ansys、abaqus、comsol?multiphysics等等,相關(guān)軟件中一般帶有多種結(jié)構(gòu)接觸面設(shè)置方法等,但軟件自帶的接觸面仍存在無法滿足模擬分析需要的情況,因此需要分析人員基于二次開發(fā)自生成所需的接觸面。
3、目前,現(xiàn)有有限元分析軟件中自帶的接觸面生成方法,存在不能滿足模擬分析人員需要的情況,因此需要分析人員基于二次開發(fā)生成所需的接觸面。接觸面生成包括生成接觸面單元和賦予接觸面屬性,其中生成接觸面單元是核心步驟,但在目前現(xiàn)有的有限元分析軟件中,僅有軟件自身提供的單元節(jié)點(diǎn)連接規(guī)則,在面對實(shí)際問題是無法根據(jù)分析人員需求生成所需的接觸面,因此,一種自動(dòng)、高效、準(zhǔn)確的生成部件之間接觸面的方法亟待開發(fā)。
技術(shù)實(shí)現(xiàn)思路
1、基于上述技術(shù)問題,本技術(shù)實(shí)施例提供一種三維規(guī)則單元接觸面生成方法、裝置、設(shè)備及介質(zhì),旨在如何自動(dòng)、高效、準(zhǔn)確的生成部件之間接觸面。
2、本技術(shù)實(shí)施例第一方面提供了一種三維規(guī)則單元接觸面生成方法,所述方法包括:
3、獲取目標(biāo)模型,所述目標(biāo)模型包括至少第一部件和第二部件,所述第一部件與所述第二部件相互接觸,且每個(gè)部件包括多個(gè)節(jié)點(diǎn);
4、基于第一接觸條件和第二接觸條件,對所述第一部件與所述第二部件的節(jié)點(diǎn)分別進(jìn)行篩選,得到第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合,所述第一接觸條件用于表征節(jié)點(diǎn)是否符合目標(biāo)接觸面的形狀信息,所述第二接觸條件用于表征節(jié)點(diǎn)是否符合目標(biāo)接觸面的位置信息;
5、在所述第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合中分別獲取相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離,并基于所有節(jié)點(diǎn)距離中的最小值確定為距離閾值;
6、獲取所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中所有節(jié)點(diǎn)之間的第二節(jié)點(diǎn)距離;
7、基于所述距離閾值以及所述第二節(jié)點(diǎn)距離,將所述第一節(jié)點(diǎn)集合與所述第二節(jié)點(diǎn)集合中的節(jié)點(diǎn)進(jìn)行匹配,得到多個(gè)節(jié)點(diǎn)組;
8、將所述多個(gè)節(jié)點(diǎn)組中節(jié)點(diǎn)按照預(yù)設(shè)形狀進(jìn)行組合,得到多個(gè)接觸面單元;
9、將所述多個(gè)接觸面單元組合為目標(biāo)接觸面。
10、可選地,基于第一接觸條件和第二接觸條件,對所述第一部件與所述第二部件的節(jié)點(diǎn)分別進(jìn)行篩選,得到第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合,包括:獲取所述形狀信息以及所述位置信息;
11、基于所述形狀信息,確定接觸面方程;
12、以所述位置信息為依據(jù),基于所述第一部件與所述第二部件中所有節(jié)點(diǎn)的節(jié)點(diǎn)信息,確定節(jié)點(diǎn)坐標(biāo)范圍;
13、基于所述接觸面方程對所述第一部件與所述第二部件的節(jié)點(diǎn)進(jìn)行篩選,將滿足所述接觸面方程的節(jié)點(diǎn),作為滿足所述第一接觸條件的節(jié)點(diǎn);
14、基于所述節(jié)點(diǎn)坐標(biāo)范圍對所述第一部件與所述第二部件的節(jié)點(diǎn)進(jìn)行篩選,將處于所述節(jié)點(diǎn)坐標(biāo)范圍內(nèi)的節(jié)點(diǎn),作為滿足所述第二接觸條件的節(jié)點(diǎn);
15、基于所述第一部件中同時(shí)滿足所述第一接觸條件和所述第二接觸條件的節(jié)點(diǎn),生成所述第一節(jié)點(diǎn)集合;
16、基于所述第二部件中同時(shí)滿足所述第一接觸條件和所述第二接觸條件的節(jié)點(diǎn),生成所述第二節(jié)點(diǎn)集合。
17、可選地,在所述第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合中分別獲取相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離,并基于所有節(jié)點(diǎn)距離中的最小值確定為距離閾值,包括:
18、基于所述第一節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,確定所述第一節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離;
19、基于所述第二節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,確定所述第二節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離;
20、將所述第一節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離以及第二節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離中的最小值,作為最小第一節(jié)點(diǎn)距離;
21、將所述最小第一節(jié)點(diǎn)距離按照預(yù)設(shè)比例進(jìn)行縮小,得到所述距離閾值。
22、可選地,獲取所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中所有節(jié)點(diǎn)之間的第二節(jié)點(diǎn)距離,包括:
23、基于所述第一節(jié)點(diǎn)集合以及所述第二節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,得到所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中所有節(jié)點(diǎn)之間的第一坐標(biāo)差、第二坐標(biāo)差、第三坐標(biāo)差;
24、將所述第一坐標(biāo)差、所述第二坐標(biāo)差以及所述第三坐標(biāo)差的絕對值求和,得到所述第二節(jié)點(diǎn)距離。
25、可選地,基于所述距離閾值以及所述第二節(jié)點(diǎn)距離,將所述第一節(jié)點(diǎn)集合與所述第二節(jié)點(diǎn)集合中的節(jié)點(diǎn)進(jìn)行匹配,得到多個(gè)節(jié)點(diǎn)組,包括:
26、將所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中的所有節(jié)點(diǎn)的第二節(jié)點(diǎn)距離與所述距離閾值進(jìn)行對比;
27、在所述第二節(jié)點(diǎn)距離小于所述距離閾值的情況下,將所述第二節(jié)點(diǎn)距離對應(yīng)的第一節(jié)點(diǎn)集合中的節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中的節(jié)點(diǎn)作為一個(gè)節(jié)點(diǎn)組。
28、可選地,所述預(yù)設(shè)形狀為三角形,將所述多個(gè)節(jié)點(diǎn)組中節(jié)點(diǎn)按照預(yù)設(shè)形狀進(jìn)行組合,得到多個(gè)接觸面單元,包括:
29、獲取第一邊界方程和第二邊界方程,所述第一邊界方程和所述第二邊界方程用于分別表征連接多個(gè)第一節(jié)點(diǎn)集合中節(jié)點(diǎn)的第一邊界和第二邊界,且所述第一邊界和所述第二邊界互相平行且相鄰設(shè)置;
30、基于所述第一節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息以及所述第一邊界方程,確定第一邊界上相鄰的第一生成節(jié)點(diǎn)和第二生成節(jié)點(diǎn);
31、基于所述第一生成節(jié)點(diǎn)與所述第二生成節(jié)點(diǎn)以及所述第二邊界方程,確定第三生成節(jié)點(diǎn),所述第三生成節(jié)點(diǎn)為所述第二邊界上距離所述第一生成節(jié)點(diǎn)與所述第二生成節(jié)點(diǎn)最近的節(jié)點(diǎn);
32、將所述第一生成節(jié)點(diǎn)、所述第二生成節(jié)點(diǎn)、所述第三生成節(jié)點(diǎn)分別對應(yīng)的節(jié)點(diǎn)組組合為所述接觸面單元。
33、可選地,所述目標(biāo)模型包括多個(gè)內(nèi)部單元,在得到所述接觸面單元之后,所述方法還包括:
34、基于所述內(nèi)部單元的節(jié)點(diǎn)順序,生成目標(biāo)排列順序;
35、基于所述接觸面單元中的任意兩個(gè)生成節(jié)點(diǎn)的節(jié)點(diǎn)信息,得到多個(gè)邊向量;
36、基于任意兩個(gè)邊向量的向量積的正負(fù),確定所述接觸面單元的初始排列順序;
37、在所述初始排列順序與所述目標(biāo)排列順序不一致的情況下,按照所述目標(biāo)排列順序?qū)λ鼋佑|面單元的生成節(jié)點(diǎn)重新排序。
38、本技術(shù)實(shí)施例第二方面提供了一種三維規(guī)則單元接觸面生成裝置,所述裝置包括:
39、數(shù)據(jù)獲取模塊,用于獲取目標(biāo)模型,所述目標(biāo)模型包括至少第一部件和第二部件,所述第一部件與所述第二部件相互接觸,且每個(gè)部件包括多個(gè)節(jié)點(diǎn);
40、節(jié)點(diǎn)篩選模塊,用于基于第一接觸條件和第二接觸條件,對所述第一部件與所述第二部件的節(jié)點(diǎn)分別進(jìn)行篩選,得到第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合,所述第一接觸條件用于表征節(jié)點(diǎn)符合目標(biāo)接觸面的形狀信息,所述第二接觸條件用于表征節(jié)點(diǎn)符合目標(biāo)接觸面的位置信息;
41、距離閾值確定模塊,用于在所述第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合中分別獲取相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離,并基于所有節(jié)點(diǎn)距離中的最小值確定為距離閾值;
42、第二節(jié)點(diǎn)距離確定模塊,用于獲取所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中所有節(jié)點(diǎn)之間的第二節(jié)點(diǎn)距離;
43、節(jié)點(diǎn)組生成模塊,用于基于所述距離閾值以及所述第二節(jié)點(diǎn)距離,將所述第一節(jié)點(diǎn)集合與所述第二節(jié)點(diǎn)集合中的節(jié)點(diǎn)進(jìn)行匹配,得到多個(gè)節(jié)點(diǎn)組;
44、單元生成模塊,用于將所述多個(gè)節(jié)點(diǎn)組中節(jié)點(diǎn)按照預(yù)設(shè)形狀進(jìn)行組合,得到多個(gè)接觸面單元;
45、接觸面生成模塊,用于將所述多個(gè)接觸面單元組合為目標(biāo)接觸面。
46、可選地,所述節(jié)點(diǎn)篩選模塊,包括:
47、信息獲取子模塊,用于獲取所述形狀信息以及所述位置信息;
48、接觸面方程確定子模塊,用于基于所述形狀信息,確定接觸面方程;
49、節(jié)點(diǎn)坐標(biāo)范圍確定子模塊,用于以所述位置信息為依據(jù),基于所述第一部件與所述第二部件中所有節(jié)點(diǎn)的節(jié)點(diǎn)信息,確定節(jié)點(diǎn)坐標(biāo)范圍;
50、第一接觸條件篩選子模塊,用于基于所述接觸面方程對所述第一部件與所述第二部件的節(jié)點(diǎn)進(jìn)行篩選,將滿足所述接觸面方程的節(jié)點(diǎn),作為滿足所述第一接觸條件的節(jié)點(diǎn);
51、第二接觸條件篩選子模塊,用于基于所述節(jié)點(diǎn)坐標(biāo)范圍對所述第一部件與所述第二部件的節(jié)點(diǎn)進(jìn)行篩選,將處于所述節(jié)點(diǎn)坐標(biāo)范圍內(nèi)的節(jié)點(diǎn),作為滿足所述第二接觸條件的節(jié)點(diǎn);
52、第一節(jié)點(diǎn)集合生成子模塊,用于基于所述第一部件中同時(shí)滿足所述第一接觸條件和所述第二接觸條件的節(jié)點(diǎn),生成所述第一節(jié)點(diǎn)集合;
53、第二節(jié)點(diǎn)集合生成子模塊,用于基于所述第二部件中同時(shí)滿足所述第一接觸條件和所述第二接觸條件的節(jié)點(diǎn),生成所述第二節(jié)點(diǎn)集合。
54、可選地,所述距離閾值確定模塊,包括:
55、第一節(jié)點(diǎn)距離確定子模塊,用于基于所述第一節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,確定所述第一節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離;以及,基于所述第二節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,確定所述第二節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離;
56、最小第一節(jié)點(diǎn)距離生成子模塊,用于將所述第一節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離以及第二節(jié)點(diǎn)集合中相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離中的最小值,作為最小第一節(jié)點(diǎn)距離;
57、距離閾值生成子模塊,用于將所述最小第一節(jié)點(diǎn)距離按照預(yù)設(shè)比例進(jìn)行縮小,得到所述距離閾值。
58、可選地,所述第二節(jié)點(diǎn)距離確定模塊,包括:
59、坐標(biāo)差確認(rèn)子模塊,用于基于所述第一節(jié)點(diǎn)集合以及所述第二節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,得到所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中所有節(jié)點(diǎn)之間的第一坐標(biāo)差、第二坐標(biāo)差、第三坐標(biāo)差;
60、第二節(jié)點(diǎn)距離計(jì)算子模塊,用于將所述第一坐標(biāo)差、所述第二坐標(biāo)差以及所述第三坐標(biāo)差的絕對值求和,得到所述第二節(jié)點(diǎn)距離。
61、可選地,所述節(jié)點(diǎn)組生成模塊,包括:
62、距離閾值比較子模塊,用于將所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中的所有節(jié)點(diǎn)的第二節(jié)點(diǎn)距離與所述距離閾值進(jìn)行對比;
63、節(jié)點(diǎn)組確認(rèn)子模塊,用于在所述第二節(jié)點(diǎn)距離小于所述距離閾值的情況下,將所述第二節(jié)點(diǎn)距離對應(yīng)的第一節(jié)點(diǎn)集合中的節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中的節(jié)點(diǎn)作為一個(gè)節(jié)點(diǎn)組。
64、可選地,所述單元生成模塊,包括:
65、邊界方程生成子模塊,用于獲取第一邊界方程和第二邊界方程,所述第一邊界方程和所述第二邊界方程用于分別表征連接多個(gè)第一節(jié)點(diǎn)集合中節(jié)點(diǎn)的第一邊界和第二邊界,且所述第一邊界和所述第二邊界互相平行且相鄰設(shè)置;
66、第一節(jié)點(diǎn)確定子模塊,用于基于所述第一節(jié)點(diǎn)集合中各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息以及所述第一邊界方程,確定第一邊界上相鄰的第一生成節(jié)點(diǎn)和第二生成節(jié)點(diǎn);
67、第二節(jié)點(diǎn)確定子模塊,用于基于所述第一生成節(jié)點(diǎn)與所述第二生成節(jié)點(diǎn)以及所述第二邊界方程,確定第三生成節(jié)點(diǎn),所述第三生成節(jié)點(diǎn)為所述第二邊界上距離所述第一生成節(jié)點(diǎn)與所述第二生成節(jié)點(diǎn)最近的節(jié)點(diǎn);
68、接觸面單元確定子模塊,用于將所述第一生成節(jié)點(diǎn)、所述第二生成節(jié)點(diǎn)、所述第三生成節(jié)點(diǎn)分別對應(yīng)的節(jié)點(diǎn)組組合為所述接觸面單元。
69、可選地,所述單元生成模塊,還包括:
70、目標(biāo)排列順序生成子模塊,用于基于所述內(nèi)部單元的節(jié)點(diǎn)順序,生成目標(biāo)排列順序;
71、邊向量生成子模塊,用于基于所述接觸面單元中的任意兩個(gè)生成節(jié)點(diǎn)的節(jié)點(diǎn)信息,得到多個(gè)邊向量;
72、初始排列順序生成子模塊,用于基于任意兩個(gè)邊向量的向量積的正負(fù),確定所述接觸面單元的初始排列順序;
73、排序子模塊,用于在所述初始排列順序與所述目標(biāo)排列順序不一致的情況下,按照所述目標(biāo)排列順序?qū)λ鼋佑|面單元的生成節(jié)點(diǎn)重新排序。
74、本技術(shù)實(shí)施例第三方面提供了一種電子設(shè)備,所述電子設(shè)備包括:包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被該處理器執(zhí)行時(shí)實(shí)現(xiàn)如本技術(shù)實(shí)施例第一方面的三維規(guī)則單元接觸面生成方法。
75、本技術(shù)實(shí)施例第四方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本技術(shù)實(shí)施例第一方面的三維規(guī)則單元接觸面生成方法。
76、通過本技術(shù)實(shí)施例的三維規(guī)則單元接觸面生成方法,獲取目標(biāo)模型,所述目標(biāo)模型包括至少第一部件和第二部件,所述第一部件與所述第二部件相互接觸,且每個(gè)部件包括多個(gè)節(jié)點(diǎn);基于第一接觸條件和第二接觸條件,對所述第一部件與所述第二部件的節(jié)點(diǎn)分別進(jìn)行篩選,得到第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合,所述第一接觸條件用于表征節(jié)點(diǎn)是否符合目標(biāo)接觸面的形狀信息,所述第二接觸條件用于表征節(jié)點(diǎn)是否符合目標(biāo)接觸面的位置信息;在所述第一節(jié)點(diǎn)集合以及第二節(jié)點(diǎn)集合中分別獲取相鄰節(jié)點(diǎn)之間的第一節(jié)點(diǎn)距離,并基于所有節(jié)點(diǎn)距離中的最小值確定為距離閾值;獲取所述第一節(jié)點(diǎn)集合中的每個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)集合中所有節(jié)點(diǎn)之間的第二節(jié)點(diǎn)距離;基于所述距離閾值以及所述第二節(jié)點(diǎn)距離,將所述第一節(jié)點(diǎn)集合與所述第二節(jié)點(diǎn)集合中的節(jié)點(diǎn)進(jìn)行匹配,得到多個(gè)節(jié)點(diǎn)組;將所述多個(gè)節(jié)點(diǎn)組中節(jié)點(diǎn)按照預(yù)設(shè)形狀進(jìn)行組合,得到多個(gè)接觸面單元;將所述多個(gè)接觸面單元組合為目標(biāo)接觸面。
77、在本實(shí)施例中,本技術(shù)通過獲取目標(biāo)接觸面的形狀信息以及位置信息,對相互接觸的部件的節(jié)點(diǎn)進(jìn)行重組,得到分屬于不同部件的接觸面位置的節(jié)點(diǎn),并基于不同部件的接觸面位置的節(jié)點(diǎn)生成目標(biāo)接觸面,實(shí)現(xiàn)了三維規(guī)則單元接觸面的快速自動(dòng)生成,極大提高了有限元模擬分析工作的效率和準(zhǔn)確率。