• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于熱點應力法的船舶結(jié)構(gòu)疲勞分析系統(tǒng)開發(fā)

      2012-04-03 02:01:38宋亞玲吳劍國林勇
      船舶 2012年3期
      關(guān)鍵詞:船體熱點界面

      宋亞玲吳劍國林勇

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

      基于熱點應力法的船舶結(jié)構(gòu)疲勞分析系統(tǒng)開發(fā)

      宋亞玲1吳劍國1林勇2

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

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

      船體結(jié)構(gòu);熱點應力;PCL語言;疲勞分析

      0 引言

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

      本文基于CCS指南中的熱點應力方法,采用PCL二次開發(fā)熱點應力的疲勞分析系統(tǒng),大大提高了船體結(jié)構(gòu)疲勞分析的效率。

      1 PCL語言簡述

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

      2 熱點應力的疲勞分析系統(tǒng)

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

      2.1 扣除腐蝕余量

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

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

      class deduction_corrosion_allowance

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

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

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

      圖1 扣除腐蝕余量界面

      integer i_count,num_elems,iv_rid(VIRTUAL),

      i_return_value,word_ids(8),num_words

      string sv_name[64](VIRTUAL)

      /*變量聲明,整數(shù)和字符串數(shù)*/

      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)/*點擊“應用”按鈕,則會產(chǎn)生響應事件(Event)即調(diào)用apply_cb函數(shù)*/

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

      /*點擊“取消”按鈕,則調(diào)用cancel_cb函數(shù)*/

      db_count_region_ids(i_count)

      /*獲得已定義的單元屬性域個數(shù)*/

      db_get_region_ids_and_names(i_count,iv_rid,sv_name)

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

      db_count_props(iv_rid(i),num_words)

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

      db_get_props_by_region(num_words,iv_rid(i),word_ids)

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

      db_count_elements_in_region(iv_rid(i),num_elems)

      /*獲得所定義屬性的單元個數(shù)*/

      if(num_elems!=0)then

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

      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)

      /*創(chuàng)建下拉列表*/

      end function/*PCL函數(shù)由關(guān)鍵字function開始,end function結(jié)束*/

      function display()

      /*顯示deduction_corrosion_allowance界面*/

      ui_form_display

      (″deduction_corrosion_allowance″)

      end function

      function apply_cb()

      /*點擊“應用”按鈕,調(diào)用apply_cb函數(shù)*/

      integer pro_number

      string pro_items[64](virtual)

      /*定義pro_items具體維數(shù)未定*/

      ui_wid_get(listbox_id1,″VALUE″,pro_items)

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

      sys_allocate_array(pro_items,1,pro_number)

      /*根據(jù)選擇項,定義pro_items維數(shù)*/

      ui_wid_get(listbox_id1,″VALUE″,pro_items)

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

      reduce_thickness(pro_number,pro_items)

      /*調(diào)用腐蝕余量扣除函數(shù)*/

      end function

      function cancel_cb()

      /*點擊“取消”按鈕,調(diào)用cancel_cb函數(shù)*/

      ui_form_hide(″deduction_corrosion_allowance″)

      /*隱藏deduction_corrosion_allowance界面*/

      end function

      end class

      /*類由class開始,end class結(jié)束類*/

      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)/*獲取梁參數(shù)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)

      /*梁參數(shù)修改函數(shù)*/

      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)對應滿載或壓載工況的內(nèi)部貨物動壓力范圍。

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

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

      圖2 載荷計算界面

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

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

      ui_wid_get(file_dbox,″VALUE″,file_name)

      /*獲得輸入文件名*/

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

      /*在根目錄中創(chuàng)建名為pljs文件夾*/

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

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

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

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

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

      text_write_string(channel,str_from_real(Mw))

      /*將Mw實數(shù)轉(zhuǎn)換成字符數(shù)并寫入*/

      2.3 疲勞載荷自動加載

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

      圖3 自動加載界面

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

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

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

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

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

      式中:t為板厚(mm);

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

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

      利用PCL編制熱點應力疲勞分析計算程序時,主要分兩步:一是各應力范圍分量應力σh提取并計算;二是應力范圍合成并寫入“*.out”文件中,在其主界面“熱點名稱”中輸入所需要疲勞校核部位,單擊“熱點應力計算”按鈕,激活并產(chǎn)生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″)

      /*創(chuàng)建定義熱點選擇框,此處只能選擇node*/

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

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

      創(chuàng)建圖4下部分界面所涉及程序代碼如下所示:

      wid_id1=ui_item_create(sort_sw1,″1″,″滿載″,F(xiàn)ALSE)

      ui_wid_set(wid_id1,″VALUE″,TRUE)

      ui_item_create(sort_sw1,″2″,″壓載″,F(xiàn)ALSE)

      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″)/*創(chuàng)建選擇板殼單元選擇框,0.5t處*/

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

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

      res_utl_get_loadcases(num_loadcases,lcids,nsub)

      /*獲得荷載工況數(shù)及工況數(shù)號*/

      db_get_load_case_title(loadcases_ids(i),name)

      /*獲得荷載工況名*/

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

      res_utl_get_result_layers

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

      res_utl_extract_elem_results2/*獲得單元應力*/

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

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

      3 實例計算

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

      圖5 三維有限元模型

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

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

      圖6 細化有限元模型

      表1 熱點應力分析結(jié)果

      4 結(jié)論

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

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

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

      [3]何祖平,王德禹.基于MSC.Patran二次開發(fā)的結(jié)構(gòu)參數(shù)化建模及其集成開發(fā)環(huán)境[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

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

      2011-12-21;

      2011-12-29

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

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

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

      猜你喜歡
      船體熱點界面
      船體行駛過程中的壓力監(jiān)測方法
      熱點
      國企黨委前置研究的“四個界面”
      當代陜西(2020年13期)2020-08-24 08:22:02
      熱點
      車迷(2019年10期)2019-06-24 05:43:28
      結(jié)合熱點做演講
      快樂語文(2018年7期)2018-05-25 02:32:00
      基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
      人機交互界面發(fā)展趨勢研究
      手機界面中圖形符號的發(fā)展趨向
      新聞傳播(2015年11期)2015-07-18 11:15:04
      焊接殘余應力對船體結(jié)構(gòu)疲勞強度的影響分析
      焊接(2015年9期)2015-07-18 11:03:51
      赴美軍“仁慈”號醫(yī)院船駐船體會
      康保县| 南京市| 井陉县| 柘荣县| 秭归县| 吴川市| 巫溪县| 桓台县| 新安县| 夏津县| 通许县| 攀枝花市| 靖远县| 弥勒县| 遵义县| 津市市| 沅陵县| 定安县| 新营市| 正安县| 如东县| 大同市| 施秉县| 砀山县| 永川市| 成安县| 乌鲁木齐县| 武乡县| 和平县| 平潭县| 绥宁县| 桃江县| 广丰县| 彭水| 崇信县| 海宁市| 都兰县| 通州市| 龙井市| 麻栗坡县| 静海县|