一種flac3d結構單元后處理方法
【專利摘要】本發明涉及一種FLAC3D結構單元后處理方法其,包括:步驟1、識別模型中包含的所有結構單元的類型并分類;步驟2、將步驟1中識別到的所有類型的結構單元分為線狀單元組和面狀單元組,并統計相應組中的結構單元類型的數目;步驟3、初始化線狀單元組和面狀單元組的計數變量;步驟4、逐單元類型判斷其是否屬于線狀單元組,若是,執行模式一處理流程;若否,執行模式二處理流程;步驟5、判斷是否處理完所有結構單元類型,若否,返回步驟4;若是,即處理完成。
【專利說明】
一種FLAC3D結構單元后處理方法
技術領域
[0001 ]本發明屬于巖土工程數值模擬領域,具體涉及一種FLAC3D結構單元后處理方法。
【背景技術】
[0002]后處理是數值分析至關重要且必不可少的一項工作,現有的各類數值分析軟件對于后處理的優化良莠不齊,但均存在一定程度上的過程繁復,操作不便的問題。
[0003]FLAC3D經過幾十年的迭代更新,至最新的5.01版,依舊沒有解決后處理操作復雜,可視化程度不高的問題。特別是針對結構單元的后處理效率低下,自動化程度低,處理過程繁雜,其輸出結果往往是一些云圖,對于工程技術人員或科研人員而言,這種結果并不能直觀反映結構的受力變形特征,因此,這種結果不能完全符合工程應用和科研實踐的要求。
[0004]現有技術利用FLAC3D自帶的log輸出方式輸出與結果相關的所有數據,然后通過人工篩選的方式,剔除無用的log信息,或選出有用的信息來進行進一步的數據處理。此方式最大的不足就是在于數據的人工篩選,為了獲得通用數據處理軟件,如excel ,origin等所要求的固定格式的數據文件。在篩選階段面臨大量的坐標處理,節點識別,物理參數輸出的工作,過程繁復,容易出錯。
[0005]因此,如何便捷準確地實現FLAC3D結構單元后處理,成為本領域技術人員亟待解決的技術問題之一。
【發明內容】
[0006]發明目的:本發明針對上述現有技術存在的問題做出改進,即本發明公開了一種FLAC3D結構單元后處理方法。本發明提供的技術方案是建立在FLAC3D計算完成后,對FLAC3D模型中的包含的應力、位移數據進行提取,并處理成科研人員廣泛接受的形式。
[0007]技術方案:一種FLAC3D結構單元后處理方法,包括以下步驟:
[0008]步驟1、識別模型中包含的所有結構單元的類型并分類,將所有的結構單元分為為梁結構單元、銷索結構單元、粧結構單元、殼結構單元、土工格柵結構單元、襯砌結構單元和實體單元;
[0009]步驟2、將步驟I中識別到的所有類型的結構單元分為線狀單元組和面狀單元組,并統計相應組中的結構單元類型的數目,其中:線狀單元組包括梁結構單元、錨索結構單元和粧結構單元,面狀單元組包括殼結構單元、土工格柵結構單元、襯砌結構單元和實體單元;
[0010]步驟3、初始化線狀單元組和面狀單元組的計數變量
[0011 ] 線狀單元組中單元類型數P = O ;面狀單元組單元類型數q = O ;
[0012]步驟4、逐單元類型判斷其是否屬于線狀單元組,若是,執行模式一處理流程;若否,執行模式二處理流程;
[0013]步驟5、判斷是否處理完所有結構單元類型,若否,返回步驟4;若是,即處理完成。
[0014]進一步地,模式一為用戶指定單元ID的后處理模式,適用于線狀單元組,其處理步驟如下:
[0015](101)、獲取線狀單元組內包含的所有結構單元的全局表首地址;
[0016](102)、判斷結構單元類型,即判斷結構單元屬于粧結構單元還是梁結構單元還是銷索結構單元;
[0017](103)、獲取結構單元的CID號;
[0018](104)、按結構單元類型分類建立單元ID與CID號之間的——對應關系,并寫入文本文件;
[0019](105)、獲取下一個單元地址,并判斷該單元是否為空單元,若否,返回步驟(102),若是,則進入步驟(106);
[0020](106)、對需要輸出的結構單元參量進行寫log輸出,結果保存為文本文件;
[0021](107)、使用MATLAB載入步驟(106)得到的文本文件,逐行讀入,檢測預設的關鍵詞,提取其后的有效數據,并寫入臨時文本文件;
[0022](108)、載入步驟(107)中產生的臨時文件與步驟(104)中產生的文本文件,進行ID-CID綜合匹配,并獲得輸出數據;
[0023](109)、對步驟(108)得到的輸出數據使用MATLAB的數據繪圖功能成圖預覽,并保存圖片文件;
[0024](110)、將步驟(109)中用于成圖的數據分類寫入Excel表格中,并保存。
[0025]進一步地,模式二為用戶指定測線的后處理模式,適用于處理面狀單元組,其處理步驟如下:
[0026](201)、定義起點、終點坐標及測點的個數以確定一條輸出測線;
[0027](202)、根據測點個數均分測線,并計算各測點的坐標;
[0028](203)、獲取模型中各測點坐標附近的節點或結構單元的ID號;
[0029](204)、按ID號尋址相應的結構單元或節點,并獲取輸出參量;
[0030](205)、將獲取的參量以ASCII碼的格式寫入文本文件;
[0031 ] (206)、使用MATLAB載入步驟(205)得到的文本文件;
[0032](207)、根據測線ID統計測線數目;
[0033](208)、按數據類別使用MATLAB的數據繪圖功能成圖預覽,并保存圖片文件;
[0034](209)、將步驟(208)中用于成圖的數據分類寫入Excel表格中,并保存。
[0035]本發明通過擴充FLAC3D的fish函數庫,并和MATLAB編寫的數據處理腳本接口共同協作,實現FLAC3D后處理的自動化、便捷化、可視化。
[0036]本發明針對目前FLAC3D數值分析軟件后處理方面的存在的一些不足進行了二次開發,實現了 FLAC3D后處理的自動化與便捷化,分析結果的呈現形式具有直觀易懂,簡潔明確的特點,符合科研領域及工程領域報告和論文的特殊要求。
[0037]有益效果:本發明公開的一種FLAC3D結構單元后處理方法具有以下有益效果:
[0038]1、一定程度上改變了FLAC3D軟件的后處理輸出方式,提供了后處理輸出的交互函數,可以實現輸出指定的測線、測點數據。輸出的結果格式較為規范。
[0039]2、實現了整個后處理過程的自動化,處理過程無需人工參與,極大地降低了人為失誤的概率,增強了后處理數據的精確性和可靠性。其自動化處理的方式,極大地提高了后處理的效率。
[0040]3、后處理方式具有極大的靈活性和便捷性,可由用戶通過調用函數自由輸出指定位置或指定構件的結果,其處理結果相對于FLAC3D自帶的各類云圖而言,更具有直觀性,更能被一般科研技術人員接受。
[0041 ] 4、通過擴充FLAC3D內置的FISH函數庫,配合相應的MATLAB數據處理腳本,解決了FLAC3D后處理的復雜性和重復性問題,實現了 FLAC3D結構單元后處理的快速化,便捷化和準確化。
[0042]5、最終輸出結果中,不僅包含直觀的曲線圖,也提供了相應圖件的繪圖數據(excel格式),方便用戶使用其他數據處理軟件對其進行進一步處理,體現了數據結果的強大兼容性。
【附圖說明】
[0043]圖1為本發明公開的一種FLAC3D結構單元后處理方法的流程圖。
【具體實施方式】
:
[0044]下面對本發明的【具體實施方式】詳細說明。
[0045]如圖1所示,一種FLAC3D結構單元后處理方法,包括以下步驟:
[0046]步驟1、識別模型中包含的所有結構單元的類型并分類,將所有的結構單元分為為梁結構單元、銷索結構單元、粧結構單元、殼結構單元、土工格柵結構單元、襯砌結構單元和實體單元;
[0047]步驟2、將步驟I中識別到的所有類型的結構單元分為線狀單元組和面狀單元組,并統計相應組中的結構單元類型的數目,其中:線狀單元組包括梁結構單元、錨索結構單元和粧結構單元,面狀單元組包括殼結構單元、土工格柵結構單元、襯砌結構單元和實體單元;
[0048]步驟3、初始化線狀單元組和面狀單元組的計數變量
[0049 ] 線狀單元組中單元類型數P = O ;面狀單元組單元類型數q = O ;
[0050]步驟4、逐單元類型判斷其是否屬于線狀單元組,若是,執行模式一處理流程;若否,執行模式二處理流程;
[0051]步驟5、判斷是否處理完所有結構單元類型,若否,返回步驟4;若是,即處理完成。
[0052]進一步地,模式一為用戶指定單元ID的后處理模式,適用于線狀單元組,其處理步驟如下:
[0053](101)、獲取線狀單元組內包含的所有結構單元的全局表首地址;
[0054](102)、判斷結構單元類型,即判斷結構單元屬于粧結構單元還是梁結構單元還是銷索結構單元;
[°°55] (103)、獲取結構單元的CID號(即component-1D號,構件的識別碼);
[0056](104)、按結構單元類型分類建立單元ID與CID號之間的一一對應關系,并寫入文本文件;
[0057](105)、獲取下一個單元地址,并判斷該單元是否為空單元,若否,返回步驟(102),若是,則進入步驟(106);
[0058](106)、對需要輸出的結構單元參量進行寫log輸出,結果保存為文本文件;
[0059](107)、使用MATLAB載入步驟(106)得到的文本文件,逐行讀入,檢測預設的關鍵詞,提取其后的有效數據,并寫入臨時文本文件;
[0060](108)、載入步驟(107)中產生的臨時文件與步驟(104)中產生的文本文件,進行ID-CID綜合匹配,并獲得輸出數據;
[0061](109)、對步驟(108)得到的輸出數據使用MATLAB的數據繪圖功能成圖預覽,并保存圖片文件;
[0062](110)、將步驟(109)中用于成圖的數據分類寫入Excel表格中,并保存。
[0063]進一步地,模式二為用戶指定測線的后處理模式,適用于處理面狀單元組,其處理步驟如下:
[0064](201)、定義起點、終點坐標及測點的個數以確定一條輸出測線;
[0065](202)、根據測點個數均分測線,并計算各測點的坐標;
[0066](203)、獲取模型中各測點坐標附近的節點或結構單元的ID號;
[0067](204)、按ID號尋址相應的結構單元或節點,并獲取輸出參量;
[0068](205)、將獲取的參量以ASCII碼的格式寫入文本文件(數據格式是測線標號+三維坐標+參量);
[0069 ] (206),使用MATLAB載入步驟(205)得到的文本文件;
[0070](207)、根據測線ID統計測線數目;
[0071](208)、按數據類別使用MATLAB的數據繪圖功能成圖預覽,并保存圖片文件;
[0072](209)、將步驟(208)中用于成圖的數據分類寫入Excel表格中,并保存。
[0073]本發明通過擴充FLAC3D的fish函數庫,并和MATLAB編寫的數據處理腳本接口共同協作,實現FLAC3D后處理的自動化、便捷化、可視化。
[0074]本發明針對目前FLAC3D數值分析軟件后處理方面的存在的一些不足進行了二次開發,實現了 FLAC3D后處理的自動化與便捷化,分析結果的呈現形式具有直觀易懂,簡潔明確的特點,符合科研領域及工程領域報告和論文的特殊要求。
[0075]上面對本發明的實施方式做了詳細說明。但是本發明并不限于上述實施方式,在所屬技術領域普通技術人員所具備的知識范圍內,還可以在不脫離本發明宗旨的前提下做出各種變化。
【主權項】
1.一種FLAC3D結構單元后處理方法,其特征在于,包括以下步驟: 步驟1、識別模型中包含的所有結構單元的類型并分類,將所有的結構單元分為為梁結構單元、銷索結構單元、粧結構單元、殼結構單元、土工格柵結構單元、襯砌結構單元和實體單元; 步驟2、將步驟I中識別到的所有類型的結構單元分為線狀單元組和面狀單元組,并統計相應組中的結構單元類型的數目,其中:線狀單元組包括梁結構單元、錨索結構單元和粧結構單元,面狀單元組包括殼結構單元、土工格柵結構單元、襯砌結構單元和實體單元; 步驟3、初始化線狀單元組和面狀單元組的計數變量 線狀單元組中單元類型數P = O ;面狀單元組單元類型數q = O ; 步驟4、逐單元類型判斷其是否屬于線狀單元組,若是,執行模式一處理流程;若否,執行模式二處理流程; 步驟5、判斷是否處理完所有結構單元類型,若否,返回步驟4;若是,即處理完成。2.根據權利要求1所述的一種FLAC3D結構單元后處理方法,其特征在于,模式一為用戶指定單元ID的后處理模式,適用于線狀單元組,其處理步驟如下: (101),獲取線狀單元組內包含的所有結構單元的全局表首地址; (102)、判斷結構單元類型,即判斷結構單元屬于粧結構單元還是梁結構單元還是錨索結構單元; (103)、獲取結構單元的CID號; (104)、按結構單元類型分類建立單元ID與CID號之間的一一對應關系,并寫入文本文件; (105)、獲取下一個單元地址,并判斷該單元是否為空單元,若否,返回步驟(102),若是,則進入步驟(106); (106)、對需要輸出的結構單元參量進行寫log輸出,結果保存為文本文件; (107)、使用MATLAB載入步驟(106)得到的文本文件,逐行讀入,檢測預設的關鍵詞,提取其后的有效數據,并寫入臨時文本文件; (108)、載入步驟(107)中產生的臨時文件與步驟(104)中產生的文本文件,進行ID-CID綜合匹配,并獲得輸出數據; (109)、對步驟(108)得到的輸出數據使用MATLAB的數據繪圖功能成圖預覽,并保存圖片文件; (110)、將步驟(109)中用于成圖的數據分類寫入Excel表格中,并保存。3.根據權利要求1所述的一種FLAC3D結構單元后處理方法,其特征在于,模式二為用戶指定測線的后處理模式,適用于處理面狀單元組,其處理步驟如下: (201 )、定義起點、終點坐標及測點的個數以確定一條輸出測線; (202),根據測點個數均分測線,并計算各測點的坐標; (203)、獲取模型中各測點坐標附近的節點或結構單元的ID號; (204)、按ID號尋址相應的結構單元或節點,并獲取輸出參量; (205)、將獲取的參量以ASCII碼的格式寫入文本文件; (206),使用MATLAB載入步驟(205)得到的文本文件; (207)、根據測線ID統計測線數目;(208)、按數據類別使用MATLAB的數據繪圖功能成圖預覽,并保存圖片文件;(209)、將步驟(208)中用于成圖的數據分類寫入Excel表格中,并保存。
【文檔編號】G06F17/50GK106055754SQ201610347581
【公開日】2016年10月26日
【申請日】2016年5月23日
【發明人】程輝, 門玉明, 曹蕊, 原興霞, 鄒愈, 李凱玲, 張軒銘, 李森濤, 王鵬, 楊龍偉, 高潔, 李楠
【申請人】長安大學