[發明專利]基于python和c++模擬LNG船運輸過程中液艙晃蕩的方法在審
| 申請號: | 202310439422.8 | 申請日: | 2023-04-21 |
| 公開(公告)號: | CN116522488A | 公開(公告)日: | 2023-08-01 |
| 發明(設計)人: | 徐奕藍;王瑾;黃丹 | 申請(專利權)人: | 河海大學 |
| 主分類號: | G06F30/15 | 分類號: | G06F30/15;G06F30/25;G06F30/28;G06F17/16;G06T13/80;G06T11/00;G06F119/12;G06F119/14;G06F113/08;G06F111/10 |
| 代理公司: | 南京千語知識產權代理事務所(普通合伙) 32394 | 代理人: | 尚于杰 |
| 地址: | 210000 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 python c++ 模擬 lng 船運 過程 中液艙 晃蕩 方法 | ||
1.基于python和c++模擬LNG船運輸過程中液艙晃蕩的方法,其特征在于,包括如下步驟:
S1:利用Pyqt5模塊搭建可供用戶輸入數據的交互界面;
S2:通過交互界面輸入LNG船的設定數據,基于sph無網格化方法建立LNG船三維液艙模型;
S3:獲取LNG船中運輸的液化天然氣流體的初始信息,包括流體的初始密度初速度和液化天然氣粒子間的初始距離Δρ;液化天然氣由若干流體粒子組成,設定初始時刻液化天然氣為均質流體,則Δρ為常數;
S4:設置邊界虛粒子:具體為,將LNG船三維液艙模型簡化為二維模型,獲取液艙的矩形截面,根據步驟S2中的三維液艙模型的尺寸設置邊界虛粒子間的相對位置,模擬液艙邊界;
S5:更新臨時網格設置,由鏈表搜索法搜索鄰近粒子;所述臨時網格設置包括網格的大小、位置及編號,鄰近粒子是指以每個粒子為中心光滑核半徑范圍內的所有其他粒子;
S6:更新粒子信息:具體為,在每一個時間步長開始前,預測并更新粒子的位置;
S7:通過動量方程求得各粒子的加速度,并通過連續密度法,求出流體密度的變化率;
S8:再次更新粒子信息:具體為,在每一個時間步長結束時,校正并更新粒子位置、速度和加速度;
S9:導出用于后處理的計算數據,包括位置坐標、速度、加速度和壓力,每個時間步長導出一次;
S10:重復步驟S6-S9,直至達到設定的循環次數后,退出循環;
S11:后處理,利用Pyvista,讀取粒子信息制作動畫,即得到LNG船運輸過程中液艙晃蕩的模擬動畫。
2.根據權利要求1所述的基于python和c++模擬LNG船運輸過程中液艙晃蕩的方法,其特征在于,所述步驟S2中,通過交互界面輸入LNG船的設定數據,包括:液艙的長度、寬度和高度,擋板的寬度、高度、厚度、位置,以及LNG船的運行速度。
3.根據權利要求2所述的基于python和c++模擬LNG船運輸過程中液艙晃蕩的方法,其特征在于,所述步驟S5中,網格大小與光滑核函數支持域大小相等,記為2h,h為光滑核半徑。
4.根據權利要求3所述的基于python和c++模擬LNG船運輸過程中液艙晃蕩的方法,其特征在于,所述步驟S5中,由鏈表搜索法搜索鄰近粒子,具體包括如下步驟:在整個計算域內建立網格,將全部粒子放入網格中;由粒子位置得出粒子間的距離,根據此距離確定每個網格對應的粒子,在每個小網格內部建立一個相應的鏈表,將網格內的粒子放入鏈表中,搜索其中一個粒子的周圍粒子時,只需要對其周圍的9個網格進行搜索。
5.根據權利要求4所述的基于python和c++模擬LNG船運輸過程中液艙晃蕩的方法,其特征在于,所述步驟S6,具體為:采用SPH時間積分求解中的newmark法,預測并更新粒子位置信息:
式中,Δt為時間步長,xt為t時刻粒子位置,為t時刻粒子速度,xt+Δt為t+Δt時刻粒子位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于河海大學,未經河海大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310439422.8/1.html,轉載請聲明來源鉆瓜專利網。





