本發明涉及一種確定再結晶元胞自動機中晶界斜率的方法,屬于微觀組織模擬技術領域。
背景技術:
再結晶元胞自動機模型被廣泛應用于模擬金屬材料熱成形過程中的微觀組織演變,這種模型有助于理解微觀組織演變的機理及規律,更好地調控坯料內部微觀組織,獲得滿足使用要求的高品質鍛件。中國專利申請:“一種模擬GH4169合金靜態再結晶行為的元胞自動機方法”(申請號:CN201610060605.9,公開號:CN105653822A)介紹了一種模擬GH4169合金靜態再結晶的元胞自動機模型,所建立的模型可以很好地預測靜態再結晶晶粒尺寸的演變。中國專利申請:“一種焊接過程熱影響區組織演變的模擬方法”(專利號:CN102750425B)介紹了一種模擬鈦合金在焊接過程中微觀組織演變的元胞自動機模型。中國專利申請:“預測板帶鋼熱變形中奧氏體動態再結晶組織演變的方法”(專利號:CN101591729B)介紹了一種模擬板帶鋼動態再結晶行為的元胞自動機模型。
然而,目前大多數再結晶元胞自動機模型面向的只是單相金屬或合金材料,尚無完善的面向多相合金材料的再結晶元胞自動機模型。這主要是因為多相合金材料熱成形過程中的微觀組織演變涉及到析出相的溶解和析出,機理十分復雜。多相合金會在晶界上或者晶內析出析出相,而傳統的再結晶元胞自動機模型無法有效地模擬這一析出過程,因此,實際研究中急需能夠有效地模擬析出相在晶界上或者晶內析出的方法。析出相在晶界上的析出方向與晶界呈一定角度,若晶界斜率已知,則可以根據析出相與晶界之間的角度關系進而得到析出相的斜率,從而模擬出析出后的析出相。因此,本發明提供了一種確定再結晶元胞自動機中晶界斜率的方法,可以為多相合金微觀組織模擬提供新方法。
技術實現要素:
本發明的目的在于提供一種確定再結晶元胞自動機中晶界斜率的方法,該方法總結了再結晶元胞自動機中晶界頂點的特征,可以準確地計算再結晶元胞自動機中的晶界斜率。
為達到上述目的,本發明采取的技術方案是:一種確定再結晶元胞自動機中晶界斜率的方法,該方法包括以下步驟:
步驟1:確定晶界頂點;
步驟2:判斷晶界頂點是否相鄰;
步驟3:計算相鄰晶界頂點之間的斜率,并賦值給晶界頂點之間的晶界元胞;
步驟1包括如下子步驟:
(1)對模擬區域內所有晶粒進行編號,每個晶粒的編號是唯一的;
(2)采用馮諾依曼鄰居類型,統計晶界頂點個數,并記錄晶界頂點元胞的坐標;晶界頂點包含4個晶界元胞,晶界頂點的統計步驟為:首先統計鄰居元胞分別隸屬于3個不同晶粒的元胞,并標記為第一晶界頂點元胞;然后基于第一晶界頂點元胞,統計剩余的晶界頂點元胞,并標記為第二晶界頂點元胞;設第一晶界頂點元胞的坐標為(i,j),第一晶界頂點元胞的鄰居元胞有4種情況:
若鄰居元胞(i-1,j)為第一晶界頂點元胞,則判斷元胞(i-1,j-1)的晶粒編號是否等于元胞(i,j-1)的晶粒編號,元胞(i-1,j-1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i,j-1)的晶粒編號是否不等于元胞(i-1,j)的晶粒編號,若滿足上述條件,則標記元胞(i-1,j-1)和(i,j-1)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i-1,j+1)和(i,j+1)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄這兩個第一晶界頂點元胞和兩個第二晶界頂點元胞的坐標;
若鄰居元胞(i,j-1)為第一晶界頂點元胞,則判斷元胞(i+1,j-1)的晶粒編號是否等于元胞(i+1,j)的晶粒編號,元胞(i+1,j-1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i+1,j)的晶粒編號是否不等于元胞(i,j-1)的晶粒編號,若滿足上述條件,則標記元胞(i+1,j-1)和(i+1,j)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i-1,j-1)和(i-1,j)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄這兩個第一晶界頂點元胞和兩個第二晶界頂點元胞的坐標;
若鄰居元胞(i+1,j)為第一晶界頂點元胞,則判斷元胞(i+1,j+1)的晶粒編號是否等于元胞(i,j+1)的晶粒編號,元胞(i+1,j+1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i,j+1)的晶粒編號是否不等于元胞(i+1,j)的晶粒編號,若滿足上述條件,則標記元胞(i+1,j+1)和(i,j+1)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i,j-1)和(i+1,j-1)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄這兩個第一晶界頂點元胞和兩個第二晶界頂點元胞的坐標;
若鄰居元胞(i,j+1)為第一晶界頂點元胞,則判斷元胞(i-1,j+1)的晶粒編號是否等于元胞(i-1,j)的晶粒編號,元胞(i-1,j+1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i-1,j)的晶粒編號是否不等于元胞(i,j+1)的晶粒編號,若滿足上述條件,則標記元胞(i-1,j+1)和(i-1,j)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i+1,j+1)和(i+1,j)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄這兩個第一晶界頂點元胞和兩個第二晶界頂點元胞的坐標。
步驟2中判斷晶界頂點是否相鄰的方法為:對比所有晶界頂點所隸屬的晶粒,若兩個晶界頂點各自所隸屬的晶粒中,存在2個相同晶粒,則這兩個晶界頂點是相鄰晶界頂點,兩個晶界頂點之間存在一條晶界;
步驟3中斜率的計算方法為:若兩個晶界頂點為相鄰晶界頂點,則根據兩個晶界頂點的坐標,計算晶界斜率k,
其中,和分別為兩個晶界頂點縱坐標的平均值,和分別為兩個晶界頂點的橫坐標的平均值,并將斜率k賦值給點和劃定的矩形范圍內的晶界元胞。
本發明的創新性和有益效果為:(1)總結了再結晶元胞自動機中晶界頂點的特點,提出了一種確定晶界斜率的方法;(2)本發明為多相合金微觀組織模擬提供了一種新方法。
附圖說明
圖1再結晶元胞自動機模擬區域;
圖2鄰居元胞示意圖;
圖3晶界頂點示意圖;
圖4相鄰晶界頂點示意圖;
圖5相對于晶界呈不同角度不同長度的線段;
具體實施方式
下面結合具體實施例來進一步說明,應當理解,此處所描述的實施例僅用于說明和解釋本發明,并不用于限定本發明。
本發明是一種確定再結晶元胞自動機中晶界斜率的方法,如圖1所示,模擬區域內共有10個晶粒,黑色線段為晶界。
步驟1:(1)為這10個晶粒進行編號,如圖1所示,每個晶粒的編號是唯一的。
(2)采用馮諾依曼鄰居類型,統計晶界頂點個數,并記錄晶界頂點元胞的坐標。圖2所示為馮諾依曼鄰居類型,黑色區域為中心元胞(i,j)的4個鄰居元胞,首先統計鄰居元胞分別隸屬于3個不同晶粒的元胞,并標記為第一晶界頂點元胞,以圖3為例,圖中灰色區域的2號元胞的4個鄰居元胞分別隸屬于2號、3號、5號晶粒,因此標記灰色區域2號元胞為第一晶界頂點元胞,同理,標記灰色區域3號元胞為第一晶界頂點元胞。全部的第一晶界頂點元胞都標記出來以后,檢查所有第一晶界頂點元胞的鄰居元胞,并統計晶界頂點個數N;然后基于第一晶界頂點元胞,統計剩余的晶界頂點元胞,并標記為第二晶界頂點元胞;設第一晶界頂點元胞的坐標為(i,j),如圖2所示,黑色元胞分別為第一晶界頂點元胞(i,j)的4個鄰居元胞,
第一晶界頂點元胞的鄰居元胞有4種情況:
若①號鄰居元胞為第一晶界頂點元胞,則判斷元胞(i-1,j-1)的晶粒編號是否等于元胞(i,j-1)的晶粒編號,元胞(i-1,j-1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i,j-1)的晶粒編號是否不等于元胞(i-1,j)的晶粒編號,若滿足上述條件,則標記元胞(i-1,j-1)和(i,j-1)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i-1,j+1)和(i,j+1)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄4個晶界頂點元胞的坐標;
若②號鄰居元胞為第一晶界頂點元胞,則判斷元胞(i+1,j-1)的晶粒編號是否等于元胞(i+1,j)的晶粒編號,元胞(i+1,j-1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i+1,j)的晶粒編號是否不等于元胞(i,j-1)的晶粒編號,若滿足上述條件,則標記元胞(i+1,j-1)和(i+1,j)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i-1,j-1)和(i-1,j)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄4個晶界頂點元胞的坐標;
若③號鄰居元胞為第一晶界頂點元胞,則判斷元胞(i+1,j+1)的晶粒編號是否等于元胞(i,j+1)的晶粒編號,元胞(i+1,j+1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i,j+1)的晶粒編號是否不等于元胞(i+1,j)的晶粒編號,若滿足上述條件,則標記元胞(i+1,j+1)和(i,j+1)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i,j-1)和(i+1,j-1)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄4個晶界頂點元胞的坐標;
若④號鄰居元胞為第一晶界頂點元胞,則判斷元胞(i-1,j+1)的晶粒編號是否等于元胞(i-1,j)的晶粒編號,元胞(i-1,j+1)的晶粒編號是否不等于元胞(i,j)的晶粒編號,以及元胞(i-1,j)的晶粒編號是否不等于元胞(i,j+1)的晶粒編號,若滿足上述條件,則標記元胞(i-1,j+1)和(i-1,j)為第二晶界頂點元胞;若不滿足上述條件,則標記元胞(i+1,j+1)和(i+1,j)為第二晶界頂點元胞;同時晶界頂點個數在原來的基礎上加1,并記錄4個晶界頂點元胞的坐標;
以圖3為例,灰色區域2號元胞為第一晶界頂點元胞,其灰色區域3號元胞也是第一晶界頂點元胞,是灰色區域2號元胞的③號鄰居元胞,因此套用③號鄰居元胞為第一晶界頂點元胞的情況,發現灰色區域中的2個5號元胞滿足此時的條件,因此標記灰色區域中的2個5號元胞為第二晶界頂點元胞,同時晶界頂點個數在原來的基礎上加1,并記錄4個晶界頂點元胞的坐標。
檢查完全部的第一晶界頂點元胞后,就可以得到模擬區域內晶界頂點元胞的個數,圖1所示模擬區域內晶界頂點的個數為10個。
步驟2:判斷晶界頂點是否相鄰;對比所有晶界頂點所隸屬的晶粒,若兩個晶界頂點各自所隸屬的晶粒中,存在2個相同晶粒,則這兩個晶界頂點是相鄰晶界頂點,兩個晶界頂點之間存在一條晶界;圖4所示灰色區域為兩個晶界頂點,這兩個晶界頂點各自所隸屬的晶粒分別為2、3、5和3、5、6,其中有2個相同晶粒3和5,所以這兩個晶界頂點為相鄰晶界頂點。
步驟3:計算相鄰晶界頂點之間的斜率,并賦值給晶界頂點之間的晶界元胞;若兩個晶界頂點為相鄰晶界頂點,則根據兩個晶界頂點的坐標,計算晶界斜率k,
其中,和分別為兩個晶界頂點縱坐標的平均值,和分別為兩個晶界頂點的橫坐標的平均值,將斜率k賦值給點和劃定的矩形范圍內的晶界元胞。
確定晶界斜率后,可以方便地生成與晶界成任意角度的任意長度線段,如圖5所示,其中α為所生成的線段與晶界之間的角度,L為元胞長度。