中国有色金属学报 2003,(05),1219-1222 DOI:10.19476/j.ysxb.1004.0609.2003.05.033
提高充型过程数值模拟运算速度的动态超松弛迭代算法
吴士平 于彦东 王丽萍 郭景杰
哈尔滨工业大学材料科学与工程学院,哈尔滨理工大学机械动力工程学院,哈尔滨理工大学材料科学与工程学院,哈尔滨工业大学材料科学与工程学院 哈尔滨150001,哈尔滨理工大学材料科学与工程学院,哈尔滨150080 ,哈尔滨150080 ,哈尔滨150080 ,哈尔滨150001
摘 要:
在模拟铝合金压铸件型腔充型过程时 ,采用传统的固定松弛因子ω(0 <ω <2 )不能有效地减少运算中的迭代次数 ,而采用一种提高充型过程数值模拟运算速度的新算法—动态超松弛迭代算法 ,在 0 <ω <2范围内 ,运用自适应计算方法 ,根据运算的迭代次数的增减可以决定松驰因子的增大或减少 ,动态调整松弛因子可使运算中的迭代次数减少。经实际运算检验 ,运用该方法可以大幅度提高运算速度 ,运算的迭代次数减少 2 5 %。
关键词:
数值模拟 ;动态 ;松弛因子 ;充型过程 ;铝合金 ;
中图分类号: TG244
作者简介: 吴士平(1963),男,副教授,博士.;
收稿日期: 2002-11-19
基金: 黑龙江省自然科学基金资助项目 (F9912 ); 黑龙江省教育厅科学技术研究项目 (95 5 110 8);
Dynamic over-relaxation iteration algorithm to increase operational speed of numerical simulation during filling mold
Abstract:
A new algorithm-dynamic over-relaxation iteration algorithm was brought forward, which was used for increasing operational speed of numerical simulation during filling mold process. The dynamic over-relaxation iteration algorithm is aimed at reducing number of iteration. Using adaptive calculation method, the relaxation factor ω is changed according to increasing or decreasing of the number of iteration within the range from 0 to 2, thus dynamic adjustment of ω can be obtained. Practical calculation results show that the calculation iteration numbers can be reduced by 25%, and operational speed increases greatly.
Keyword:
numerical simulation; dynamic; relaxation factor; filling process; aluminum alloys;
Received: 2002-11-19
近年来随着科学技术的不断发展, 铝合金压铸件充型过程数值模拟的研究取得了极大的进步, 并且在实际工作中得到了很大的应用
[1 ,2 ,3 ,4 ,5 ,6 ,7 ]
。 铝合金压铸件充型过程数值模拟采用迭代计算方法, 在实际应用过程中特别是对于大型、 复杂铝合金压铸件的计算时常常花费大量的时间, 直接影响了这一技术在生产实践中的应用。 因此, 关于提高铝合金充型过程数值模拟速度的研究受到了普遍重视。 本文作者等人在其发表的文章中指出, 采用超松弛因子可以提高运算速度, 减少迭代次数
[8 ]
。 陈立亮等的研究提出了动态超松弛因子的数学模型, 并在轮毂的充型过程数值模拟中进行了应用, 结果表明: 使用超松弛因子可以减少迭代次数, 提高运算速度
[9 ,10 ,11 ,12 ]
。 在上述研究的基础上, 本研究结合实际运算提出了一种自适应动态超松弛迭代新算法, 并且在实际运算中得到了应用。
1液态金属充填铸型过程数值模拟
液态金属充填铸型过程数值模拟是以动量守恒方程, 即Navier-Stokes (N-S)方程和质量守恒方程, 即连续方程为基础, 通过追踪自由表面来得到任意时刻的流场形状, 采用数值计算的方法求解N-S方程, 从而获得充型过程的速度场和压力场及
流体的形状。 在求解N-S方程时, 通常采用修正压力和试探速度的迭代算法进行求解, 在求解的迭代计算中, 通过连续性方程来检验所计算的速度是否符合要求, 具体处理方法如下。
质量守恒方程(连续性方程):
? u ? x + ? v ? y + ? w ? z = 0 ? ? ? ( 1 )
?
u
?
x
+
?
v
?
y
+
?
w
?
z
=
0
?
?
?
(
1
)
对连续性方程进行离散处理, 然后计算单元的散度D i , j , k 。
D i , j , k = u δ t i + 1 / 2 , j , k ? u δ t i ? 1 / 2 , j , k δ x i + u δ t i , j + 1 / 2 , k ? u δ t i , j ? 1 / 2 , k δ y i + u δ t i , j , k + 1 / 2 ? u δ t i , j , k ? 1 / 2 δ x k ? ? ? ( 2 )
D
i
,
j
,
k
=
u
i
+
1
/
2
,
j
,
k
δ
t
-
u
i
-
1
/
2
,
j
,
k
δ
t
δ
x
i
+
u
i
,
j
+
1
/
2
,
k
δ
t
-
u
i
,
j
-
1
/
2
,
k
δ
t
δ
y
i
+
u
i
,
j
,
k
+
1
/
2
δ
t
-
u
i
,
j
,
k
-
1
/
2
δ
t
δ
x
k
?
?
?
(
2
)
若散度D i , j , k < a (a 为给定的计算精度值), 说明该单元的计算速度是合理的, 则单元的速度无须调整; 若散度D i , j , k >a , 说明单元的计算速度不合理, 则需调整单元的速度。 调整的方法采用修正压力的方法, 通过推导得出压力修正公式为
δ p n = ? D i , j , k ? D i , j , k ? p ? ? ? ( 3 )
δ
p
n
=
-
D
i
,
j
,
k
?
D
i
,
j
,
k
?
p
?
?
?
(
3
)
其中
? D i , j , k ? p = δ t δ x i ( 1 ρ δ x i + 1 / 2 + 1 ρ δ x i ? 1 / 2 ) + δ t δ y j ( 1 ρ δ y j + 1 / 2 + 1 ρ δ y j ? 1 / 2 ) + δ t δ z k ( 1 ρ δ z k + 1 / 2 + 1 ρ δ z k ? 1 / 2 ) ? ? ? ( 4 )
?
D
i
,
j
,
k
?
p
=
δ
t
δ
x
i
(
1
ρ
δ
x
i
+
1
/
2
+
1
ρ
δ
x
i
-
1
/
2
)
+
δ
t
δ
y
j
(
1
ρ
δ
y
j
+
1
/
2
+
1
ρ
δ
y
j
-
1
/
2
)
+
δ
t
δ
z
k
(
1
ρ
δ
z
k
+
1
/
2
+
1
ρ
δ
z
k
-
1
/
2
)
?
?
?
(
4
)
修正压力为
p n +1 =p n +δp n (5)
上述公式中 u , v , w 为流速在3个坐标轴方向上的速度分量, m/s; δx , δy , δz 为空间步长在x , y , z 坐标轴上的分量, m; δp 为修正压力, Pa; p 为流场中(x , y , z )点的压力, Pa; ρ 为金属流体的密度, kg/m3 ; δt 为时间步长, s。
采用修正压力和试探速度的迭代算法进行求解, 新的试探速度的计算式为
u ′ n + 1 i + 1 / 2 , j , k = u ′ n i + 1 / 2 , j , k + δ t ? δ p n ? ω ρ δ x i + 1 / 2 u ′ n + 1 i ? 1 / 2 , j , k = u ′ n i ? 1 / 2 , j , k ? δ t ? δ p n ? ω ρ δ x i ? 1 / 2 v ′ n + 1 i , j + 1 / 2 , k = v ′ n i , j + 1 / 2 , k + δ t ? δ p n ? ω ρ δ y j + 1 / 2 v ′ n + 1 i , j ? 1 / 2 , k = v ′ n i , j ? 1 / 2 , k ? δ t ? δ p n ? ω ρ δ y j ? 1 / 2 w n + 1 i , j , k + 1 / 2 = w ′ n i , j , k + 1 / 2 + δ t ? δ p n ? ω ρ δ z k + 1 / 2 w ′ n + 1 i , j , k ? 1 / 2 = w ′ n i , j , k ? 1 / 2 ? δ t ? δ p n ? ω ρ δ z k ? 1 / 2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
u
′
i
+
1
/
2
,
j
,
k
n
+
1
=
u
′
i
+
1
/
2
,
j
,
k
n
+
δ
t
?
δ
p
n
?
ω
ρ
δ
x
i
+
1
/
2
u
′
i
-
1
/
2
,
j
,
k
n
+
1
=
u
′
i
-
1
/
2
,
j
,
k
n
-
δ
t
?
δ
p
n
?
ω
ρ
δ
x
i
-
1
/
2
v
′
i
,
j
+
1
/
2
,
k
n
+
1
=
v
′
i
,
j
+
1
/
2
,
k
n
+
δ
t
?
δ
p
n
?
ω
ρ
δ
y
j
+
1
/
2
v
′
i
,
j
-
1
/
2
,
k
n
+
1
=
v
′
i
,
j
-
1
/
2
,
k
n
-
δ
t
?
δ
p
n
?
ω
ρ
δ
y
j
-
1
/
2
w
i
,
j
,
k
+
1
/
2
n
+
1
=
w
′
i
,
j
,
k
+
1
/
2
n
+
δ
t
?
δ
p
n
?
ω
ρ
δ
z
k
+
1
/
2
w
′
i
,
j
,
k
-
1
/
2
n
+
1
=
w
′
i
,
j
,
k
-
1
/
2
n
-
δ
t
?
δ
p
n
?
ω
ρ
δ
z
k
-
1
/
2
}
(6)
式中 ω 为松弛因子(0<ω <2), n 与n +1为修正循环次数。 ω 的范围表明松弛因子可以取0~2之间的任何一个数, 然而, ω 的取值是否合适对迭代次数及运算速度有直接影响, 但究竟是ω 取值大能减少迭代次数, 还是ω 取值小可以减少迭代次数, 这并无规律, 完全取决于计算当时的情况。 迭代次数与计算压铸件单元的多少, 计算压铸件的复杂程度及计算精度等因素有直接关系。 在计算初期, 由于计算单元数少, ω 的影响很小。 但是, 在计算复杂压铸件和计算单元较多, 特别是到计算后期, 迭代次数明显增加, 如何选取ω 是个很大的问题。 为此, 本研究提出了自适应动态超松弛迭代算法, 在计算过程中根据每次计算的迭代次数自动调节ω 值, 达到使每-次计算的迭代次数为最小。 首先, 在0~2之间任意指定一个数赋予ω , 然后进行运算, 并且记录下本次计算的迭代次数作为基础数据, 在此基础上再一次以此ω 值进行计算, 将本次计算的迭代次数和上次的迭代次数进行比较, 如果本次迭代次数多于上次迭代次数, 则说明本次所取的ω 值不是最好的, 需要调整ω 。 然而, ω 是增大好还是减小好, 我们不妨在此基础上减去一个Δω 或加上一个Δω , 然后继续计算, 将计算所获得的迭代次数和上一次进行比较, 若迭代次数少于上次的迭代次数, 则说明上一个Δω 的加或减是正确的, 则继续保持上一次的符号; 反之, 若迭代次数多于上次的迭代次数, 则说明上一个Δω 的加或减是不对的, 这时需要改变上一次Δω 的符号; 若上一次是加, 则这一次就应当改为减; 若上一次是减, 则这一次就应该改为加, 依次类推。 总之, 以迭代次数为基础, 通过比较本次计算的迭代次数和上次迭代次数, 来决定下次计算的ω , 自动适应最低的迭代次数, 其流程图如图1所示。
图1 动态因子计算流程图 Fig.1 Calculation flow chart of dynamic factor
2 计算结果及分析
将上述建立的模型应用于数值模拟程序中, 使用PⅡ-233计算机, 计算单元为61384, 分别采用静态因子和动态因子进行计算, 然后从实际计算中分段取出几个部分, 其对应数据如图2所示。 图2表明了使用静态因子和使用动态因子的计算时间与迭代次数的关系。 由图2可以看出, 对应同一计算时间, 静态松弛因子的迭代次数多于动态松弛因子的迭代次数, 动态超松弛因子的迭代次数在短时间内即使迭代次数处于最低状态, 整体计算的时间如表1所示。
从表1中可以看出, 由于使用动态松弛因子时间节约了2.2 h。 图3所示为该件的数值模拟结果。 图4所示为采用上述模拟方法模拟的实际铸件图。
从式(6)可以看出, ω 的主要作用是调整修改试探速度的步伐: 当ω 大于1时, 增加每次计算时速度的修改步伐; 反之, 减少每次计算时速度的修
图2 静态和动态因子迭代次数关系图 Fig.2 Iterative degree for dynamic and static factor
表1 静态和动态因子计算时间的比较 Table 1 Comparison of computing time forstatic and dynamic factor
Factor
Starting time
Ending time
Time required
Static
11∶50∶36
20∶54∶55
09∶04∶18
Dynamic
20∶42∶43
03∶34∶38
06∶51∶43
图3 圆桶形铸件的充填过程数值模拟结果 Fig.3 Simulated results of filling process for cylinder casting (a)—0.8 s; (b)—4.0 s
改步伐。 ω 值越大, 修改的步伐越大, 但是, 这并不表明计算的迭代次数就越少。 研究表明, ω 的取值在0.8~1.8, 可以使计算的迭代次数显著减少
[8 ]
。 因此, 本研究采用自适应动态因子ω 的取值范围为0.8~1.8, 太大和太小的ω 都会使计算的迭代次数增加。 当自由边界单元占多数时, 边界单元的速度
图4 模拟计算的铸件 Fig.4 Casting by simulation calculation
调整量加大, 此时, 采用加大修改速度的步伐, 来修改试探速度, 可以减小计算的迭代次数。 当内部充满单元占大多数时, 其速度相对变化较小, 若采用较大的修改步伐, 会加大已经是正常计算速度的调整量, 因此, 此时采用相对较小的ω 来修正速度较为合适。 采用自适应动态因子ω 正是根据这个原理, 自动调整ω 使得它可以通过计算的迭代次数来作为判断的依据, 自动修改ω 来适应计算的情况, 使得计算的迭代次数较小。 由于静态因子不考虑计算的具体情况, 因此, 在计算中静态因子不能保证计算迭代次数最小。
参考文献
[1] ShojaeiA ,GhaffarianSR ,KarimianSMH .Numericalsimulationofthree dimensionalmoldfilling processinresintransfermoldingusingquasi steadystateandpartialsaturationformulations[J].CompositesScienceandTechnology,2002,62(5):861879.
[2] HuBH ,TongKK ,NiuXP ,etal.Designandoptimi sationofrunnerandgatingsystemsforthediecastingofthin walledmagnesiumtelecommunicationpartsthroughnumericalsimulation[J].JournalofMaterialsProcessingTechnology,2000,105(9):128133.
[3] ShepelSV ,PaolucciS .Numericalsimulationoffillingandsolidificationofpermanentmoldcastings[J].JournalofMaterialsProcessingTechnology,2002,22(2):229248.
[4] TongKKS ,HuBH ,YeeFC .Industrialapplicationofcomputersimulationinmoulddesignforpressurediecasting[A].ProceedingsofInternationalConferenceonMe chanicsofSolidsandMaterialsEngineering[C].Singa pore:InternationalMaterialsPark,1995.235240.
[5] HuBH ,HaoSW ,NiuXP ,etal.Optimisationofmoulddesignindiecastingofpewterpartsthroughnu mericalsimulation[A].ProceedingsoftheFourthInter nationalConferenceonComputerIntegratedManufactur ing[C].Singapore:NanyangTechnologicalUniversity,1997.885893.
[6] NiuXP ,HaoSW ,HuBH ,etal.Applicationofnu mericalsimulationindiecastingprocesses[A].MouldDesign,ProceedingsoftheAustraliasiaPacificForumonIntelligentProcessingandManufacturingofMaterials[C].Australia:Springer,1997.1363369.
[7] FrayceD ,HetuJF ,LoongCA .Numericalmodelingoffillingandsolidificationindiecasting[A].Transactionsofthe17thInternationalDieCastingCongressandExpo sition[C].Ohio:InternationalMaterialsPark,1993.1317.
[8] 王君卿.铸型充填过程模型化及流动场数值模拟[J].铸造,1987,12:2022.WANGJun qing.Modelofmoldfillingprocessandflow ingfieldofnumericalsimulation[J].Foundry,1987,12:2022.
[9] JongSH ,HwangWS .Three dimensionalmoldfillingsimulationforcastinganditsexperimentalverification[J].AFSTransactions,1991,99:117124.
[10] CHENLi liang,LIURui xiang,LINHang tong.Studyonthefieldofcomplexcastings[A].LIUBai cheng.3rdPacificRimInternationalConferenceonModelingofCastingandSolidificationProcess[C].Bei jing:InternationalAcademicPublishers,1996.143148.
[11] 陈彦博,温景林.铝材连续铸挤动态凝固过程有限元分析[J].中国有色金属学报,2001,11(1):1517.CHENYan bo,WENJing lin.FEManalysisofsolidi ficationprocessinproducingaluminumproductthroughCASTEXtechnique[J].TheChineseJournalofNon ferrousMetals,2001,11(1):1517.
[12] WUShi ping,GUOJing jie,SUYan qing,etal.Nu mericalsimulationofmeltmoldfillingduringcentrifugalcastingofTiAlalloyexhaustvalve[J].InternationalJournalofCastMaterialsResearch,2002,15(3):57.