999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于熱點應力法的船舶結構疲勞分析系統開發

2012-04-03 02:01:38宋亞玲吳劍國林勇
船舶 2012年3期
關鍵詞:界面有限元分析

宋亞玲吳劍國林勇

(1.浙江工業大學建筑工程學院 杭州 310032;2.浙江省船檢局 杭州 310032)

基于熱點應力法的船舶結構疲勞分析系統開發

宋亞玲1吳劍國1林勇2

(1.浙江工業大學建筑工程學院 杭州 310032;2.浙江省船檢局 杭州 310032)

船體結構的熱點應力疲勞分析過程比較復雜,按照CCS《船體結構疲勞強度評估指南》實施起來比較困難。因此采用MSC.Patran二次開發語言PCL進行編程,開發船體結構熱點應力疲勞分析系統,實現了扣除腐蝕余量、荷載計算、施加疲勞荷載、提取結果及分析的自動化,大大提高了船體結構熱點應力疲勞分析的效率。

船體結構;熱點應力;PCL語言;疲勞分析

0 引言

疲勞破壞是船舶結構的主要破壞形式之一,中國船級社(CCS)《船體結構疲勞強度評估指南(2007)》(下文簡稱為:CCS指南)規定復雜結構的疲勞強度評估應該用熱點應力方法[1]。疲勞熱點應力需要用細化有限元直接計算,過程比較復雜。熱點應力的疲勞分析主要為:有限元建模并細化、扣除腐蝕余量、疲勞分析載荷計算、疲勞載荷自動加載,熱點應力計算等五步,實施起來比較困難。

本文基于CCS指南中的熱點應力方法,采用PCL二次開發熱點應力的疲勞分析系統,大大提高了船體結構疲勞分析的效率。

1 PCL語言簡述

PCL(Patran Command language)是MSC.Patran系統中不可缺的程序設計語言。它提供了大量的函數,具有一般高級語言具有的大部分數據類型。它類似C語言和Fortran語言,尤其適合CAE應用程序的開發與應用[2-3]。其擁有豐富的表格及菜單庫,可供開發用戶圖形界面、遞歸的子程序,以及函數調用、二進制及文本文件讀寫等功能。由于Patran程序啟動時,會自動搜尋“init.pcl”文件。因此,用戶可以將編寫的“*pcl”文件(如model.pcl)放到“init.pcl”同樣的根目錄下,然后在“init.pcl”文件中加入“!!INPUT*.pcl(model.pcl)”,便可實現每次啟動Patran程序即調用已編寫的程序。

2 熱點應力的疲勞分析系統

CCS指南對疲勞校核部位有明確規定,也要求計算點附近的有限元網格尺度不得大于受力構件板厚t,從疲勞熱點位置向外所有方向延伸范圍不小于10t。熱點處采用4節點或8節點殼元,避免使用三角形單元。將粗網格有限元模型進行細化便可利用CCS開發的“CCS_Tools”軟件中“節點細化”工具,故此處不作詳述。

2.1 扣除腐蝕余量

細化有限元模型應將實際結構尺寸扣除腐蝕余量。即當厚度t≤10mm時,腐蝕余量tk為0.75mm,否則腐蝕余量tk取0.05t+0.25和1.6之間的最小值。扣除腐蝕余量較繁瑣,因為所涉及到的所有單元的板厚和梁厚度均需要折減。因此利用PCL語言可以很方便解決此問題。首先編寫扣除腐蝕余量界面(如圖1所示),然后獲取板厚和梁厚的屬性列表,再點擊所需要修改屬性項,并單擊“應用”按鈕,會激發“apply_cb”函數。在“apply_cb”函數中,根據用戶所選項,獲取其屬性值,繼而再調用“reduce_thickness”函數,根據所獲取的板厚或梁厚值(tk)并按上述規則進行腐蝕余量的扣除。

此程序最大的優點是將所有單元所定義的屬性都放在一個列表中,通過點擊屬性名稱就可以實現板厚度或梁厚度的修改,有效提高了工作效率。其核心代碼如下[4-5]:

class deduction_corrosion_allowance

/*定義類名為“deduction_corrosion_allowance”*/classwide widget form,listbox_id1,ok_bt,ca_bt

/*定義在整個類的范圍中使用的變量*/

function init()/*函數初始化*/

圖1 扣除腐蝕余量界面

integer i_count,num_elems,iv_rid(VIRTUAL),

i_return_value,word_ids(8),num_words

string sv_name[64](VIRTUAL)

/*變量聲明,整數和字符串數*/

form=ui_form_create(″″,1.0,1.0,″UL″,2.8,5.5,″扣除腐蝕余量″,″″)

/*定義form界面,并作為其他變量的母體*/

ui_separator_create(form,″″,0.0,0.7,3.0,TRUE)

/*定義分割符*/

listbox_id1=ui_listbox_create(form,″″,0.2,1,2.6,22,″屬性列表″,″EXTEND″,false)

/*定義屬性下拉列表*/

ok_bt=ui_button_create(form,″apply_cb″,0.3,5.0,1.0,0.0,″應用″,false,false)/*點擊“應用”按鈕,則會產生響應事件(Event)即調用apply_cb函數*/

ca_bt=ui_button_create(form,″cancel_cb″,1.8,5.0,1.0,0.0,″取消″,true,false)

/*點擊“取消”按鈕,則調用cancel_cb函數*/

db_count_region_ids(i_count)

/*獲得已定義的單元屬性域個數*/

db_get_region_ids_and_names(i_count,iv_rid,sv_name)

/*獲得已定義的單元屬性域號和名稱*/

db_count_props(iv_rid(i),num_words)

/*通過單元屬性域號獲得其屬性代碼“word”數*/

db_get_props_by_region(num_words,iv_rid(i),word_ids)

/*獲得屬性代碼號即“word_ids”*/

db_count_elements_in_region(iv_rid(i),num_elems)

/*獲得所定義屬性的單元個數*/

if(num_elems!=0)then

/*通過判斷num_elems不為0,從而創建本模型所有單元的屬性列表*/

db_get_prop_value(iv_rid(i),word_ids(2),

material_id,data_type,integer_val,real_values,

character_val,coord_id,node_id,field_id)

/*獲得具體屬性值real_values*/

end if

ui_listbox_items_create(listbox_id1,sv_wantname,

sv_wantname,select_number,wid_array)

/*創建下拉列表*/

end function/*PCL函數由關鍵字function開始,end function結束*/

function display()

/*顯示deduction_corrosion_allowance界面*/

ui_form_display

(″deduction_corrosion_allowance″)

end function

function apply_cb()

/*點擊“應用”按鈕,調用apply_cb函數*/

integer pro_number

string pro_items[64](virtual)

/*定義pro_items具體維數未定*/

ui_wid_get(listbox_id1,″VALUE″,pro_items)

/*獲取在屬性列表中所選擇項目數*/

sys_allocate_array(pro_items,1,pro_number)

/*根據選擇項,定義pro_items維數*/

ui_wid_get(listbox_id1,″VALUE″,pro_items)

/*獲取在屬性列表中所選擇項的名*/

reduce_thickness(pro_number,pro_items)

/*調用腐蝕余量扣除函數*/

end function

function cancel_cb()

/*點擊“取消”按鈕,調用cancel_cb函數*/

ui_form_hide(″deduction_corrosion_allowance″)

/*隱藏deduction_corrosion_allowance界面*/

end function

end class

/*類由class開始,end class結束類*/

function reduce_thickness(pro_number,pro_items)

if(num_words==2)then/*判斷為板厚*/

elementprops_modify()

else if(num_words!=2)then/*判斷為梁厚*/

bl_get_std_beam_section_data(id,ndim,data_types,rvalues,field_ids)/*獲取梁參數rvalues*/

db_get_beam_section(id,section_shape,section_name,num_dims,mode)

/*得到梁是如何形狀section_shape,有矩形、T形、L形等等*/

if(section_shape==″bar″)then/*梁為矩形時*/

beam_section_modify(section_name,section_name,

section_shape,beambar_data)

/*梁參數修改函數*/

else if(section_shape==″L″)then

/*梁為L形時*/

beam_section_modify(section_name,section_name,section_shape,beamL_data)

else if(section_shape==″T″)then

/*梁為T形時*/

beam_section_modify(section_name,section_name,section_shape,beamT_data)

end if

end if

end function

2.2 疲勞載荷計算

CCS指南指出,直接計算疲勞強度應力時,應包含滿載和壓載計算工況:

(1)滿載或壓載下總體垂向波浪彎矩范圍;

(2)滿載或壓載下總體水平波浪彎矩范圍;

(3)對應滿載或壓載工況的外部水動壓力范圍;

(4)對應滿載或壓載工況的內部貨物動壓力范圍。

這四種疲勞載荷的計算主要與船體的一些參數有關,故利用PCL編制荷載計算界面(如下頁圖2所示)。在“指定文件名”選項處輸入載荷文件名,則可以形成“*.out”文本文件,而且自動施加位移約束、集中彎矩。其核心程序代碼如下:

box1=ui_databox_create(form,″″,0.8,0.5,0,1.5,″船長L(m)″,170,TRUE,″REAL″,1)/*在母體form中創建輸入表,其他按鈕創建也類似*/ui_wid_get(box2,″VALUE″,data2)/*獲得databox中的值*/

圖2 載荷計算界面

獲得疲勞載荷參數后,按照CCS指南第3章的方法進行疲勞載荷計算。此時僅涉及簡單的數學運算,故不贅述。將上述所計算得到疲勞載荷寫入“*.out”文本文件,并存入“d:\pljs”文件夾中,以便載荷施加。所用到核心代碼如下:

path=″d:\pljs″,定義荷載文件存盤路徑

ui_wid_get(file_dbox,″VALUE″,file_name)

/*獲得輸入文件名*/

file_create_directory(path,7*64+7*8+7)

/*在根目錄中創建名為pljs文件夾*/

file_build_fname(path,file_name,″out″,″NOV″,filename)/*pljs文件夾創建*.out文件*/

text_open(filename,″NOWA″,0,0,channel)

/*打開*.out文件,并對其進行編寫*/

text_write_string(channel,″垂向波浪彎矩范圍″)

/*一行行寫,并寫“垂向波浪彎矩范圍”*/

text_write_string(channel,str_from_real(Mw))

/*將Mw實數轉換成字符數并寫入*/

2.3 疲勞載荷自動加載

疲勞強度分析主要涉及到8種荷載施加,比較復雜。本文以PCL進行二次開發,通過點擊組名,對應需加荷載場名、荷載名,從而實現載荷自動加載。如圖3所示。

圖3 自動加載界面

第一次用MSC.Patran建立有限元模型必須規范化,特別是組名、場名、荷載名要一一對應。這樣以后建立有限元模型時,就可借用之前的模型文件,而只需刪除模型的幾何有限元單元,最后再利用此加載程序實現快速加載。

此加載程序最核心的代碼如下:

db_get_group_name(獲得組名),db_get_group_id(獲得組的id),db_get_all_field_names(獲得場名),db_get_lbc_id_for_type(獲得荷載名),ui_listbox_items_create來實現組列表、場列表、荷載列表的創建;然后,通過db_count_elems_in_group(組里單元數目),db_get_elem_ids_in_group(組里單元號),loadsbcs_create2(加載函數)實現荷載自動加載。

2.4 熱點應力法疲勞分析計算

船級社推薦兩點線性外推法,且為單元表面應力,其公式如下:

式中:t為板厚(mm);

σt/2為距焊趾t/2處的應力(N/mm2);

σ3t/2為距焊趾3t/2處的應力(N/mm2)。

利用PCL編制熱點應力疲勞分析計算程序時,主要分兩步:一是各應力范圍分量應力σh提取并計算;二是應力范圍合成并寫入“*.out”文件中,在其主界面“熱點名稱”中輸入所需要疲勞校核部位,單擊“熱點應力計算”按鈕,激活并產生callback,展開熱點應力計算子界面。如圖4所示。

圖4 熱點應力計算界面

圖4上部分界面所涉及到的程序代碼如下:form_id=ui_form_create(″″,1.0,1.0,″UL″,2.8,6.5,″許用應力插值″,″″)

select_frame1=ui_selectframe_create(form_id,″″,0.1,0.2,2.6,1.0,″Auto Execute″,TRUE)

data_box=ui_selectdatabox_create(select_frame1,″″,0.2,0.3,1.0,2.0,″定義的熱點″,

″″,TRUE,″NODE″,″select node filter″)

/*創建定義熱點選擇框,此處只能選擇node*/

此目的是獲取所要進行疲勞分析計算部位處節點的坐標。通過由圖2所獲得的模型起點的坐標和輸入的“模型起點距尾垂線的距離”,從而計算出疲勞校核計算點距尾垂線的距離X、距縱中剖面的距離Y、距基線的距離Z,繼而計算得出Se(海水動壓力引起的局部應力范圍)與Si(艙內貨物壓力引起的局部應力范圍)之間的平均相關系ρ。

sort_sw1=ui_switch_create(form_id,″″,0.5,2.0,2,″″,TRUE)/*創建滿載和壓載選擇項*/

創建圖4下部分界面所涉及程序代碼如下所示:

wid_id1=ui_item_create(sort_sw1,″1″,″滿載″,FALSE)

ui_wid_set(wid_id1,″VALUE″,TRUE)

ui_item_create(sort_sw1,″2″,″壓載″,FALSE)

select_frame2=ui_selectframe_create(form_id,″″,0.1,2.7,2.6,1.3,″Auto Execute″,TRUE)

data_box1=ui_selectdatabox_create(select_frame2,″″,0.2,0.1,1.0,2.0,″0.5t″,″″,TRUE,″ELEM2D″,

″prompt″)/*創建選擇板殼單元選擇框,0.5t處*/

data_box2=ui_selectdatabox_create(select_frame2,″″,0.2,0.7,1.0,2.0,″1.5t″,″″,TRUE,″ELEM2D″,″prompt″)/*創建選擇板殼單元選擇框,1.5t處*/

此目的是依次選擇滿載四個工況和壓載四個工況,從而分別計算八種工況下應力范圍分量應力σt/2、σ3t/2,然后計算出σh,點擊“熱點應力計算按鈕”,激活應力計算函數“apply-cb”。其主要涉及函數為:

res_utl_get_loadcases(num_loadcases,lcids,nsub)

/*獲得荷載工況數及工況數號*/

db_get_load_case_title(loadcases_ids(i),name)

/*獲得荷載工況名*/

res_utl_get_subcases/*獲得荷載子工況名*/

res_utl_get_result_layers

/*獲得結果具體層,一般板單元有上下兩層結果*/

res_utl_extract_elem_results2/*獲得單元應力*/

點擊“確定”按鈕,即可以將應力范圍合成并寫入

“*.out”文件中,然后自動存入“d:\pljs”文件夾中。通過SL與[SL](許用應力范圍)比較,可判斷該部位疲勞分析是否滿足CCS指南疲勞強度分析要求。

3 實例計算

本文對33 000 dwt散貨船進行熱點應力疲勞分析計算。全船除頂邊艙區域采用AH36鋼,外底板、內底板采用AH32鋼以外,其余皆采用船用低碳鋼。該船總長170m,船深26m,型深14.8m,方形系數0.837,滿載和壓載計算工況下吃水分別為9.98m和5.103m。船體外底板厚13mm,內底板和底邊艙斜板厚15mm,甲板和舷側外板厚16 mm,頂邊艙斜板和橫艙壁厚14mm。對于艏端加強以外區域,船底縱骨和底邊艙舷側縱骨為HP 280mm×11mm,內底縱骨和底邊艙斜板縱骨為HP 260mm×10mm,甲板縱骨、頂邊艙斜板縱骨、頂邊艙舷側縱骨為16mm×250mm,其三維有限元模型如圖5所示。

圖5 三維有限元模型

CCS指南對需要校核部位有詳細規定。本文也給出了100號肋位底邊艙與內底板折角處,100號肋位單殼散貨船肋骨與底邊艙,100號肋位單殼散貨船肋骨與頂邊艙,內底板與底凳斜板的連接處,橫艙壁與底凳頂板連接處,橫艙壁與頂凳斜板連接處共六處的細化有限元模型參見圖6。

熱點應力分析結果見表1。其中垂向SV指船體梁垂向波浪彎矩引起的應力范圍,水平SH指船體梁水平波浪彎矩引起的應力范圍,海水動壓力Se指海水動壓力引起的局部應力范圍,貨物Si指艙內貨物壓力引起的局部應力范圍,系數ρ指Se與Si之間的平均相關系數,總體Sg指總體應力范圍,局部Sl指局部應力范圍,設計SL指各種工況下的設計應力范圍,[SL]指許用應力范圍。

圖6 細化有限元模型

表1 熱點應力分析結果

4 結論

本文采用PCL編程語言,實現了船體結構熱點應力法的疲勞分析,大大減少了在扣除腐蝕余量、荷載計算及施加、結果提取和分析等方面的工作量,有效提高了疲勞分析的效率。

[1]中國船級社.船體結構疲勞強度指南[M].北京:人民交通出版社,2007:40-46.

[2]唐友宏,陳賓康.用MSC.Patran的PCL二次開發用戶界面[J].船海工程,2002(3):20-22.

[3]何祖平,王德禹.基于MSC.Patran二次開發的結構參數化建模及其集成開發環境[J].船海工程,2005(2):17-20.

[4]MSC.Patran PCL and Customization[S].London:2010.

[5]MSC.Patran PCL Reference Manual[S].London:2010.

Development of hull structure fatigue analysis system by hot spot stress method

SONG Ya-ling1WU Jian-guo1LIN Yong2
(1.College of Architectural&Civil Engineering,Zhejiang University of Technology,Hangzhou 310032,China;2.Ship Inspection Bureau of Zhejiang Province,Hangzhou 310032,China)

The hot spot stress fatigue complex analysis of the hull structure is difficult to be implemented according to the guidelines for assessment of hull structure fatigue strength by CCS.A fatigue analysis system of hull structure is developed based on Patran Command Language of MSC.Patran to automatically achieve the deduction of corrosion allowance,load calculation,imposed fatigue loading,results extraction and analysis,which can greatly improve the efficiency of the hull structure fatigue analysis.

hull structure;hot spot stress;Patran Command Language(PCL);fatigue analysis

U661.4

A

1001-9855(2012)03-0034-06

浙江省交通廳“國內航行海船結構疲勞設計與審核方法研究”資助(編號:2010W02)。

2011-12-21;

2011-12-29

宋亞玲(1986-),男,漢族,碩士研究生,研究方向:鋼結構。

吳劍國(1963-),男,漢族,博士,教授,研究生導師,研究方向:鋼結構。

林勇(1965-),男,漢族,雙學士,高級工程師,研究方向:船舶工程。

猜你喜歡
界面有限元分析
隱蔽失效適航要求符合性驗證分析
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
人機交互界面發展趨勢研究
電力系統及其自動化發展趨勢分析
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
磨削淬硬殘余應力的有限元分析
基于SolidWorks的吸嘴支撐臂有限元分析
箱形孔軋制的有限元模擬
上海金屬(2013年4期)2013-12-20 07:57:18
主站蜘蛛池模板: аⅴ资源中文在线天堂| 五月激情婷婷综合| 亚洲国产日韩一区| 国产美女无遮挡免费视频网站 | 制服丝袜 91视频| 国产精品福利在线观看无码卡| 69av免费视频| 欧美精品伊人久久| 国产精品九九视频| 婷婷伊人久久| 孕妇高潮太爽了在线观看免费| 国产在线精品99一区不卡| 亚洲视频色图| 成人精品视频一区二区在线| 日本中文字幕久久网站| 色成人亚洲| 黄色网页在线观看| 欧美成人午夜在线全部免费| 黄色免费在线网址| 中国一级毛片免费观看| aaa国产一级毛片| 2018日日摸夜夜添狠狠躁| 一本大道视频精品人妻| 99热这里只有精品免费| 精品人妻系列无码专区久久| 欧美不卡在线视频| 最新国产午夜精品视频成人| 国内黄色精品| 91在线视频福利| 欧美一级在线播放| 97国产在线播放| 在线一级毛片| 高h视频在线| 亚洲高清免费在线观看| 国产精欧美一区二区三区| 99国产精品免费观看视频| 亚洲精品无码久久久久苍井空| 91蜜芽尤物福利在线观看| 亚洲天堂2014| 亚洲AV无码久久精品色欲| 国产91麻豆免费观看| 91精品小视频| 少妇精品网站| 中文一级毛片| 一区二区三区国产| 97在线免费| 国产凹凸一区在线观看视频| 国产真实乱子伦精品视手机观看 | 国产在线欧美| 伊在人亚洲香蕉精品播放| 欧美成人精品在线| 8090成人午夜精品| 日韩黄色大片免费看| 精品午夜国产福利观看| 1769国产精品视频免费观看| 亚洲成A人V欧美综合| 天堂成人在线| 一级毛片免费播放视频| 91视频青青草| 亚洲人妖在线| 日本午夜精品一本在线观看 | 国产一区二区三区在线观看免费| 国产精品亚洲αv天堂无码| av一区二区人妻无码| 久久精品无码国产一区二区三区| 免费看黄片一区二区三区| 四虎免费视频网站| 美女国产在线| 久久久波多野结衣av一区二区| 欧美一区精品| 日韩二区三区无| 亚洲欧洲日韩综合| 亚洲黄网在线| 亚洲三级影院| 欧美特黄一免在线观看| 国产乱人伦精品一区二区| 国产福利一区二区在线观看| 免费精品一区二区h| 91久久偷偷做嫩草影院电| 中文字幕天无码久久精品视频免费 | 午夜成人在线视频| 欧美日韩激情|