本文在基于FVM的应力求解一文基础上,进一步分析多材料线弹性固体的应力问题。
1. 数学模型
前提条件:多材料线弹性固体、绝热并忽略体积力
根据高斯定理以及柯西第一运动定律,在忽略体力的情况下,有:
∫ V P ρ ∂ 2 u ∂ t 2 d V = ∮ S n ⋅ σ d S (1-1) \int_{V_P}\rho \frac{\partial^2 \mathbf u}{\partial t^2}dV=\oint_S \mathbf n\cdot \sigma dS\tag{1-1} ∫VPρ∂t2∂2udV=∮Sn⋅σdS(1-1)
牵引矢量 t \mathbf t t :
t = n ⋅ σ = μ n ⋅ ∇ u + μ ∇ u ⋅ n + λ t r ( ∇ u ) n (1-2) \mathbf t=\mathbf n\cdot\sigma=\mu\mathbf n\cdot\nabla \mathbf u+\mu\nabla \mathbf u\cdot\mathbf n+\lambda tr(\nabla \mathbf u)\mathbf n\tag{1-2} t=n⋅σ=μn⋅∇u+μ∇u⋅n+λtr(∇u)n(1-2)
将牵引矢量划分为法向(normal
)与切向(tangential
)两部分。
法向:
t n = ( 2 μ + λ ) n ⋅ ∇ u n + λ n t r ( ∇ t u t ) (1-3) \mathbf t_n=(2\mu+\lambda)\mathbf n \cdot\nabla \mathbf u_n+\lambda\mathbf ntr(\nabla_t\mathbf u_t)\tag{1-3} tn=(2μ+λ)n⋅∇un+λntr(∇tut)(1-3)
切向:
t t = μ n ⋅ ∇ u t + μ ∇ t u n (1-4) \mathbf t_t=\mu\mathbf n\cdot\nabla\mathbf u_t+\mu\nabla_t u_n\tag{1-4} tt=μn⋅∇ut+μ∇tun(1-4)
其中, ∇ t = ( I − n n ) ⋅ ∇ \nabla_t=(\mathbf I-\mathbf n\mathbf n)\cdot\nabla ∇t=(I−nn)⋅∇ —切向梯度算子。
结合式(1-3) 、(1-4)可得:
t
=
(
2
μ
+
λ
)
n
⋅
∇
u
−
(
μ
+
λ
)
n
⋅
∇
u
t
+
μ
∇
t
u
n
+
λ
n
t
r
(
∇
t
u
t
)
(1-5)
\mathbf t=(2\mu+\lambda)\mathbf n \cdot\nabla \mathbf u-(\mu+\lambda)\mathbf n\cdot\nabla\mathbf u_t+\mu\nabla_t u_n+\lambda\mathbf ntr(\nabla_t\mathbf u_t)\tag{1-5}
t=(2μ+λ)n⋅∇u−(μ+λ)n⋅∇ut+μ∇tun+λntr(∇tut)(1-5)
其在数学形式上等价于
t
=
(
2
μ
+
λ
)
n
⋅
∇
u
−
(
μ
+
λ
)
n
⋅
∇
u
+
μ
(
∇
u
)
T
+
λ
t
r
(
∇
u
)
n
(1-6)
\mathbf t=(2\mu+\lambda)\mathbf n\cdot\nabla \mathbf u-(\mu+\lambda)\mathbf n\cdot\nabla\mathbf u+\mu(\nabla \mathbf u)^T+\lambda tr(\nabla \mathbf u)\mathbf n\tag{1-6}
t=(2μ+λ)n⋅∇u−(μ+λ)n⋅∇u+μ(∇u)T+λtr(∇u)n(1-6)
注:可参考基于FVM的应力求解一文中的式(2-18)。
2. 离散方式
离散方式主要分为两种:
- 计算域离散
- 方程离散
2.1 计算域离散
计算域离散分为时间离散和空间离散。 相应内容可参考基于FVM的应力求解 2.1节
假定不同材料之间的界面与控制体内表面重合。则每个控制体可以由普通内表面(f)、交界面(i)、边界面(b)来表示:
S P = ∂ V P = ∑ f S f + ∑ i S i + ∑ b S b (2-1) S_P=\partial V_P=\sum_fS_f+\sum_iS_i+\sum_bS_b\tag{2-1} SP=∂VP=f∑Sf+i∑Si+b∑Sb(2-1)
S P S_P SP 为控制体 V P V_P VP 的边界面。
2.2 数学模型离散
对于控制体体积为 V P V_P VP 的动量方程,其完全离散对应项为:
ρ p u p n − 2 u p o + u p o o ( ∇ t ) 2 = ∑ f t f n S f + ∑ i t i n S i + ∑ b t b n S b (2-2) \rho_p\frac{\mathbf u_p^n-2\mathbf u_p^o+\mathbf u_p^{oo}}{(\nabla t)^2}=\sum_f\mathbf t_f^nS_f+\sum_i\mathbf t_i^nS_i+\sum_b\mathbf t_b^nS_b\tag{2-2} ρp(∇t)2upn−2upo+upoo=f∑tfnSf+i∑tinSi+b∑tbnSb(2-2)
- 下角标
(subscript)
P:网格中心值 - 下角标
f
、
i
、
n
f、i、n
f、i、n:分别代表内表面
(internal)
、交界面(interface)
、边界面(boundary)
的面中心值; - 上角标
(superscript)
n 、 o 、 o o n、o、oo n、o、oo :分别代表新值(当前时间步时间)、旧值、旧-旧值。
下面将分别介绍上述三种不同表面的牵引力计算。
2.2.1 内表面牵引力
材料内表面与多材料边界面不重合,其牵引力可通过对式(1-5)离散求得:
t f n = ( 2 μ f + λ f ) n f ⋅ ( ∇ u ) f n − ( μ f + λ f ) n f ⋅ ( ∇ u t ) f n + μ f ( ∇ t u n ) f n + λ f n f t r ( ∇ t u t ) f n (2-3) \mathbf t_f^n=(2\mu_f+\lambda_f)\mathbf n_f \cdot(\nabla \mathbf u)_f^n-(\mu_f+\lambda_f)\mathbf n_f\cdot(\nabla\mathbf u_t)_f^n+\mu_f(\nabla_t u_n)_f^n+\lambda_f\mathbf n_ftr(\nabla_t\mathbf u_t)_f^n\tag{2-3} tfn=(2μf+λf)nf⋅(∇u)fn−(μf+λf)nf⋅(∇ut)fn+μf(∇tun)fn+λfnftr(∇tut)fn(2-3)
控制体内表面法向位移导数 n f ⋅ ( ∇ u ) f n \mathbf n_f \cdot(\nabla \mathbf u)_f^n nf⋅(∇u)fn 离散形式如下:
n f ⋅ ( ∇ u ) f n = ∣ Δ f ∣ u N n − u P n ∣ d ∣ ⏟ o r t h o g o n a l + ( n f − Δ f ) ⋅ ( ∇ u ) f n ⏟ n o n − o r t h o g o n a l (2-4) \mathbf n_f \cdot(\nabla \mathbf u)_f^n= \underbrace{|\mathbf \Delta_f|\frac{\mathbf u_N^n-\mathbf u_P^n}{|\mathbf d|}}_{orthogonal} +\underbrace{(\mathbf n_f-\mathbf \Delta_f)\cdot(\nabla \mathbf u)_f^n}_{non-orthogonal} \tag{2-4} nf⋅(∇u)fn=orthogonal ∣Δf∣∣d∣uNn−uPn+non−orthogonal (nf−Δf)⋅(∇u)fn(2-4)
其中, Δ f = d / ( d ⋅ n f ) \mathbf \Delta_f=\mathbf d/(\mathbf d\cdot \mathbf n_f) Δf=d/(d⋅nf)。
方程(2-4)中正交部分进行隐式处理,而非正交修正部分则采用显性方法。另外,该方程式也可以应用于控制体内表面切向位移 n f ⋅ ( ∇ u t ) f n \mathbf n_f\cdot(\nabla\mathbf u_t)_f^n nf⋅(∇ut)fn。
式(2-3)右侧最后两项与前两项的非正交修正部分相同,需要计算控制体位移场的表面梯度,故需要采用显性离散方式。
位移的面中心梯度可通过与相邻网格体中心值线性插值(linear interpolation)
求得:
( ∇ u ) f = f x ( ∇ u ) P + ( 1 − f x ) ( ∇ u ) N (2-5) (\nabla\mathbf u)_f=f_x(\nabla \mathbf u)_P+(1-f_x)(\nabla \mathbf u)_N\tag{2-5} (∇u)f=fx(∇u)P+(1−fx)(∇u)N(2-5)
其中, f x f_x fx 为插值系数,
f x = f N ‾ / P N ‾ (2-6) f_x=\overline{fN}/\overline{PN}\tag{2-6} fx=fN/PN(2-6)
位移的网格中心梯度采用离散的高斯定理进行计算:
( ∇ u ) P = 1 V P ∑ f n f u f S f (2-7) (\nabla \mathbf u)_P=\frac 1{V_P}\sum_f\mathbf n_f\mathbf u_fS_f\tag{2-7} (∇u)P=VP1f∑nfufSf(2-7)
这里的面中心位移矢量
u
f
\mathbf u_f
uf 可与相邻网格进行插值求得。为保证位移矢量具有二阶精度,线
P
N
‾
\overline{PN}
PN 必须与面
f
f
f 相交于面心位置,否则,必须引入一个偏度(skewness)
修正的线性插值。
u f = f x u P + ( 1 − f x ) u N + m f ⋅ ( ∇ u ) f (2-8) \mathbf u_f=f_x\mathbf u_P+(1-f_x)\mathbf u_N+\mathbf m_f \cdot(\nabla \mathbf u)_f\tag{2-8} uf=fxuP+(1−fx)uN+mf⋅(∇u)f(2-8)
如图所示,
m
f
\mathbf m_f
mf 为偏度修正矢量,是线
P
N
‾
\overline{PN}
PN 与面
f
f
f 的交点到面心的位移矢量。
注:在离散后的动量方程中,用于偏度、非正交修正以及其他显性项的网格中心偏移梯度均由之前的外迭代求得。
2.2.2 交界面牵引力
求解这一类问题时,需要保证交界面处位移矢量以及牵引力的连续性。
如图,
V
P
V_P
VP 和
V
N
i
V_{Ni}
VNi 为两种不同弹性体的控制体体积,交界面为
i
i
i,下角标
i
a
_{ia}
ia 和
i
b
_{ib}
ib 分别用于指定
V
P
V_P
VP 和
V
N
i
V_{Ni}
VNi 的特征参数。
δ
a
n
\delta_{an}
δan 和
δ
b
n
\delta_{bn}
δbn 分别为控制体
V
P
V_P
VP 和
V
N
i
V_{Ni}
VNi 到交界面的距离。 这里同样将交界面的中心值分为法向和切向两部分。
根据式 (1-3) 以及式(2-4),可求出交接面两侧法向牵引力分别为:
( t n ) i a = ( 2 μ i a + λ i a ) ( u n ) i − ( u n ) P δ a n + λ i a n i t r ( ∇ t u t ) i a (2-9) (\mathbf t_n)_{ia}=(2\mu_{ia}+\lambda_{ia}) \frac{(\mathbf u_n)_i-(\mathbf u_n)_P}{\delta_{an}}+\lambda_{ia}\mathbf n_itr(\nabla_t\mathbf u_t)_{ia}\tag{2-9} (tn)ia=(2μia+λia)δan(un)i−(un)P+λianitr(∇tut)ia(2-9)
( t n ) i b = ( 2 μ i b + λ i b ) ( u n ) N i − ( u n ) i δ b n + λ i b n i t r ( ∇ t u t ) i b (2-10) (\mathbf t_n)_{ib}=(2\mu_{ib}+\lambda_{ib})\frac{(\mathbf u_n)_{Ni}-(\mathbf u_n)_i}{\delta_{bn}}+\lambda_{ib}\mathbf n_itr(\nabla_t\mathbf u_t)_{ib}\tag{2-10} (tn)ib=(2μib+λib)δbn(un)Ni−(un)i+λibnitr(∇tut)ib(2-10)
注:为简化运算,假设网格正交
为保证牵引力在界面的连续性,必须保证 ( t n ) i a = ( t n ) i b (\mathbf t_n)_{ia}=(\mathbf t_n)_{ib} (tn)ia=(tn)ib。结合式(2-9)与式(2-10)可求出交界面位移矢量的切向部分 ( u n ) i \mathbf (u_n)_i (un)i:
( u n ) i = ( 2 μ i a + λ i a ) δ b n ( u n ) P + ( 2 μ i b + λ i b ) δ a n ( u n ) N i ( 2 μ i a + λ i a ) δ b n + ( 2 μ i b + λ i b ) δ a n + δ a n δ b n [ λ i b n i t r ( ∇ t u t ) i b − λ i a n i t r ( ∇ t u t ) i a ] ( 2 μ i a + λ i a ) δ b n + ( 2 μ i b + λ i b ) δ a n (2-11) \begin{aligned} (\mathbf u_n)_i&=\frac{(2\mu_{ia}+\lambda_{ia})\delta_{bn}(\mathbf u_n)_P+(2\mu_{ib}+\lambda_{ib})\delta_{an}(\mathbf u_n)_{Ni }}{(2\mu_{ia}+\lambda_{ia})\delta_{bn} +(2\mu_{ib}+\lambda_{ib})\delta_{an}}\\[1.5ex] &+\frac{\delta_{an}\delta_{bn}\left[ \lambda_{ib}\mathbf n_itr(\nabla_t\mathbf u_t)_{ib}-\lambda_{ia}\mathbf n_itr(\nabla_t\mathbf u_t)_{ia} \right]}{(2\mu_{ia}+\lambda_{ia})\delta _{bn} +(2\mu_{ib}+\lambda_{ib})\delta_{an}} \end{aligned}\tag{2-11} (un)i=(2μia+λia)δbn+(2μib+λib)δan(2μia+λia)δbn(un)P+(2μib+λib)δan(un)Ni+(2μia+λia)δbn+(2μib+λib)δanδanδbn[λibnitr(∇tut)ib−λianitr(∇tut)ia](2-11)
将方程(2-11)代入到(2-9)中,有:
( t n ) i = ( 2 μ + λ ) i ‾ ( u n ) N i − ( u n ) P δ i n + ( 2 μ i a + λ i a ) δ b n λ i b n i t r ( ∇ t u t ) i b + ( 2 μ i b + λ i b ) δ a n λ i a n i t r ( ∇ t u t ) i a ( 2 μ i a + λ i a ) δ b n + ( 2 μ i b + λ i b ) δ a n (2-12) \begin{aligned}(\mathbf t_n)_{i}&=\overline{(2\mu+\lambda)_i}\frac{(\mathbf u_n)_{Ni}-(\mathbf u_n)_P}{\delta_{in}}\\ &+\frac{(2\mu_{ia}+\lambda_{ia})\delta_{bn}\lambda_{ib}\mathbf n_itr(\nabla_t\mathbf u_t)_{ib}+(2\mu_{ib}+\lambda_{ib})\delta_{an}\lambda_{ia}\mathbf n_itr(\nabla_t\mathbf u_t)_{ia}}{(2\mu_{ia}+\lambda_{ia})\delta_{bn}+(2\mu_{ib}+\lambda_{ib})\delta_{an}} \end{aligned}\tag{2-12} (tn)i=(2μ+λ)iδin(un)Ni−(un)P+(2μia+λia)δbn+(2μib+λib)δan(2μia+λia)δbnλibnitr(∇tut)ib+(2μib+λib)δanλianitr(∇tut)ia(2-12)
其中,
δ
i
n
=
δ
a
n
+
δ
b
n
(2-13)
\delta_{in}=\delta_{an}+\delta_{bn}\tag{2-13}
δin=δan+δbn(2-13)
由调和插值(harmonic interpolation)
得到的表面系数:
( 2 μ + λ ) i ‾ = ( 2 μ i a + λ i a ) ( 2 μ i b + λ i b ) δ b n δ i n ( 2 μ i a + λ i a ) + δ a n δ i n ( 2 μ i b + λ i b ) (2-14) \overline{(2\mu+\lambda)_i}=\frac{(2\mu_{ia}+\lambda_{ia})(2\mu_{ib}+\lambda_{ib})}{\frac{\delta_{bn}}{\delta_{in}}(2\mu_{ia}+\lambda_{ia})+\frac{\delta_{an}}{\delta_{in}}(2\mu_{ib}+\lambda_{ib})}\tag{2-14} (2μ+λ)i=δinδbn(2μia+λia)+δinδan(2μib+λib)(2μia+λia)(2μib+λib)(2-14)
对牵引力切向部分采用同样的方法,得到切向位移矢量:
( u t ) i = μ i a δ b n ( u t ) P μ i a δ b n + μ i b δ a n + δ a n δ b n [ μ i b ( ∇ t u n ) i b − μ i a ( ∇ t u n ) i a ] μ i a δ b n + μ i b δ a n (2-15) \mathbf (u_t)_i=\frac{\mu_{ia}\delta_{bn}(\mathbf u_t)_P}{\mu_{ia}\delta_{bn} +\mu_{ib}\delta_{an}} +\frac{\delta_{an}\delta_{bn}\left[ \mu_{ib}(\nabla_t u_n)_{ib}-\mu_{ia}(\nabla_t u_n)_{ia} \right]}{\mu_{ia}\delta _{bn} +\mu_{ib}\delta_{an}} \tag{2-15} (ut)i=μiaδbn+μibδanμiaδbn(ut)P+μiaδbn+μibδanδanδbn[μib(∇tun)ib−μia(∇tun)ia](2-15)
切向牵引力:
(
t
t
)
i
=
μ
i
‾
(
u
t
)
N
i
−
(
u
t
)
P
δ
i
n
+
+
μ
i
a
μ
i
b
δ
b
n
(
∇
t
u
n
)
i
b
+
μ
i
a
b
μ
i
a
δ
a
n
(
∇
t
u
n
)
i
a
μ
i
a
δ
b
n
+
μ
i
b
δ
a
n
(2-16)
\begin{aligned}(\mathbf t_t)_{i}& =\overline{\mu_i}\frac{(\mathbf u_t)_{Ni}-(\mathbf u_t)_P}{\delta_{in}}+\\ &+\frac{\mu_{ia}\mu_{ib}\delta_{bn}(\nabla_t u_n)_{ib} +\mu_{iab}\mu_{ia}\delta_{an}(\nabla_t u_n)_{ia}}{\mu_{ia}\delta_{bn}+\mu_{ib}\delta_{an}} \end{aligned}\tag{2-16}
(tt)i=μiδin(ut)Ni−(ut)P++μiaδbn+μibδanμiaμibδbn(∇tun)ib+μiabμiaδan(∇tun)ia(2-16)
以及表面系数
μ
i
‾
\overline{\mu_i}
μi:
μ
i
‾
=
μ
i
a
μ
i
b
δ
b
n
δ
i
n
μ
i
a
+
δ
a
n
δ
i
n
μ
i
b
(2-16)
\overline{\mu_i}=\frac{\mu_{ia}\mu_{ib}}{\frac{\delta_{bn}}{\delta_{in}}\mu_{ia}+\frac{\delta_{an}}{\delta_{in}}\mu_{ib}}\tag{2-16}
μi=δinδbnμia+δinδanμibμiaμib(2-16)
综上,界面处牵引力为:
t
i
=
(
2
μ
+
λ
)
i
‾
(
u
)
N
i
−
(
u
)
P
δ
i
n
−
[
(
2
μ
+
λ
)
i
‾
−
μ
i
‾
]
(
u
t
)
N
i
−
(
u
t
)
P
δ
i
n
+
(
2
μ
i
a
+
λ
i
a
)
δ
b
n
λ
i
b
n
i
t
r
(
∇
t
u
t
)
i
b
+
(
2
μ
i
b
+
λ
i
b
)
δ
a
n
λ
i
a
n
i
t
r
(
∇
t
u
t
)
i
a
(
2
μ
i
a
+
λ
i
a
)
δ
b
n
+
(
2
μ
i
b
+
λ
i
b
)
δ
a
n
+
μ
i
a
μ
i
b
δ
b
n
(
∇
t
u
n
)
i
b
+
μ
i
b
μ
i
a
δ
a
n
(
∇
t
u
n
)
i
a
μ
i
a
δ
b
n
+
μ
i
b
δ
a
n
(2-17)
\begin{aligned}\mathbf t_i &=\overline{(2\mu+\lambda)_i}\frac{(\mathbf u)_{Ni}-(\mathbf u)_P}{\delta_{in}} -\left[\overline{(2\mu+\lambda)_i}-\overline{\mu_i}\right]\frac{(\mathbf u_t)_{Ni}-(\mathbf u_t)_P}{\delta_{in}}\\ &+\frac{(2\mu_{ia}+\lambda_{ia})\delta_{bn}\lambda_{ib}\mathbf n_itr(\nabla_t\mathbf u_t)_{ib}+(2\mu_{ib}+\lambda_{ib})\delta_{an}\lambda_{ia}\mathbf n_itr(\nabla_t\mathbf u_t)_{ia}}{(2\mu_{ia}+\lambda_{ia})\delta_{bn}+(2\mu_{ib}+\lambda_{ib})\delta_{an}}\\[1.2ex] &+\frac{\mu_{ia}\mu_{ib}\delta_{bn}(\nabla_t u_n)_{ib} +\mu_{ib}\mu_{ia}\delta_{an}(\nabla_t u_n)_{ia}}{\mu_{ia}\delta_{bn}+\mu_{ib}\delta_{an}} \end{aligned}\tag{2-17}
ti=(2μ+λ)iδin(u)Ni−(u)P−[(2μ+λ)i−μi]δin(ut)Ni−(ut)P+(2μia+λia)δbn+(2μib+λib)δan(2μia+λia)δbnλibnitr(∇tut)ib+(2μib+λib)δanλianitr(∇tut)ia+μiaδbn+μibδanμiaμibδbn(∇tun)ib+μibμiaδan(∇tun)ia(2-17)
上式RHS
第一项采用隐式处理,其余各项为显性处理。
- 边界面切向梯度的计算
2.2.3 边界面牵引力
边界面上的牵引力与规定的边界条件有关。对于固定位移边界条件,牵引力为:
t b n = ( 2 μ b + λ b ) u b n − u P n δ n − ( μ b + λ b ) ( u t ) b n − ( u t ) P n δ n + μ b ( ∇ t u n ) b n + λ b n b t r ( ∇ t u t ) b n (2-18) \begin{aligned}\mathbf t_b^n&=(2\mu_b+\lambda_b)\frac{\mathbf u_b^n-\mathbf u_P^n}{\delta_n}-(\mu_b+\lambda_b)\frac{(\mathbf u_t)_b^n-(\mathbf u_t)_P^n}{\delta_n}\\ &+\mu_b(\nabla_t u_n)_b^n+\lambda_b\mathbf n_btr(\nabla_t\mathbf u_t)_b^n\end{aligned}\tag{2-18} tbn=(2μb+λb)δnubn−uPn−(μb+λb)δn(ut)bn−(ut)Pn+μb(∇tun)bn+λbnbtr(∇tut)bn(2-18)
其中,下角标 b _b b 代表边界面上的值, δ n \delta_n δn 代表相邻网格中心到边界面的距离。
2.2.4 线性代数方程
通过对控制体网格中心与相邻控制体网格中心处的值进行线性插值,可将式(2-2)进行改写:
a P u P n + ∑ N a N u N n + ∑ N i a N i u N i n = R P n (2-19) a_P\mathbf u_P^n+\sum_Na_N\mathbf u_N^n+\sum_{Ni}a_{Ni}\mathbf u_{Ni}^n=\mathbf R_P^n\tag{2-19} aPuPn+N∑aNuNn+Ni∑aNiuNin=RPn(2-19)
注意区分多材料交界面与普通内表面。这里,
a P = ρ P V P ( Δ t ) 2 + ∑ f ( 2 μ f + λ f ) Δ f d S f + ∑ i ( 2 μ + λ ) i ‾ 1 δ i n S i (2-20) a_P=\frac{\rho_PV_P}{(\Delta t)^2}+\sum_f(2\mu_f+\lambda_f)\frac{\mathbf \Delta_f}{\mathbf d}S_f+\sum_i\overline{(2\mu+\lambda)_i}\frac 1{\delta_{in}}S_i\tag{2-20} aP=(Δt)2ρPVP+f∑(2μf+λf)dΔfSf+i∑(2μ+λ)iδin1Si(2-20)
a N = − ( 2 μ f + λ f ) Δ f d f S f (2-21) a_N=-(2\mu_f+\lambda_f)\frac{\mathbf \Delta_f}{\mathbf d_f}S_f\tag{2-21} aN=−(2μf+λf)dfΔfSf(2-21)
a N i = − ( 2 μ + λ ) i ‾ 1 δ i n S i (2-23) a_{Ni}=-\overline{(2\mu+\lambda)_i}\frac 1{\delta_{in}}S_i\tag{2-23} aNi=−(2μ+λ)iδin1Si(2-23)
R P n = ρ P V P ( 2 u P o ( Δ t ) 2 − 2 u P o o ( Δ t ) 2 ) + ∑ f ( 2 μ f + λ f ) ( n f − Δ f ) ⋅ ( ∇ u ) f n S f − ∑ f ( μ f + λ f ) [ ∣ Δ f ∣ ( u t ) N n − ( u t ) P n ∣ d ∣ + ( n f − Δ f ) ⋅ ( ∇ u t ) f n S f ] + ∑ f μ f n f ⋅ ( ∇ t u n ) f S f + ∑ f λ f n f t r [ ( ∇ t u t ) f ] S f − ∑ i [ ( 2 μ + λ ) i ‾ − μ i ‾ ] ( u t ) N i − ( u t ) P δ i n + ∑ i ( 2 μ i a + λ i a ) δ b n λ i b n i t r ( ∇ t u t ) i b + ( 2 μ i b + λ i b ) δ a n λ i a n i t r ( ∇ t u t ) i a ( 2 μ i a + λ i a ) δ b n + ( 2 μ i b + λ i b ) δ a n + ∑ i μ i a μ i b δ b n ( ∇ t u n ) i b + μ i b μ i a δ a n ( ∇ t u n ) i a μ i a δ b n + μ i b δ a n (2-24) \begin{aligned} \mathbf R_P^n &={\rho_PV_P}\left(\frac{2\mathbf u_P^o}{(\Delta t)^2}-\frac{2\mathbf u_P^{oo}}{(\Delta t)^2}\right)+\sum_f(2\mu_f+\lambda_f)(\mathbf n_f-\mathbf \Delta_f)\cdot(\nabla \mathbf u)_f^nS_f \\ &-\sum_f(\mu_f+\lambda_f)\left[ |\mathbf \Delta_f|\frac{(\mathbf u_t)_N^n-(\mathbf u_t)_P^n}{|\mathbf d|}+(\mathbf n_f-\mathbf \Delta_f)\cdot(\nabla \mathbf u_t)_f^nS_f \right]\\&+ \sum_f\mu_f\mathbf n_f\cdot(\nabla_t u_n)_fS_f+\sum_f\lambda_f\mathbf n_ftr[(\nabla_t\mathbf u_t)_f]S_f\\&- \sum_i\left[\overline{(2\mu+\lambda)_i}-\overline{\mu_i}\right]\frac{(\mathbf u_t)_{Ni}-(\mathbf u_t)_P}{\delta_{in}}\\&+ \sum_i\frac{(2\mu_{ia}+\lambda_{ia})\delta_{bn}\lambda_{ib}\mathbf n_itr(\nabla_t\mathbf u_t)_{ib}+(2\mu_{ib}+\lambda_{ib})\delta_{an}\lambda_{ia}\mathbf n_itr(\nabla_t\mathbf u_t)_{ia}}{(2\mu_{ia}+\lambda_{ia})\delta_{bn}+(2\mu_{ib}+\lambda_{ib})\delta_{an}}\\[1.2ex] &+\sum_i\frac{\mu_{ia}\mu_{ib}\delta_{bn}(\nabla_t u_n)_{ib} +\mu_{ib}\mu_{ia}\delta_{an}(\nabla_t u_n)_{ia}}{\mu_{ia}\delta_{bn}+\mu_{ib}\delta_{an}} \end{aligned}\tag{2-24} RPn=ρPVP((Δt)22uPo−(Δt)22uPoo)+f∑(2μf+λf)(nf−Δf)⋅(∇u)fnSf−f∑(μf+λf)[∣Δf∣∣d∣(ut)Nn−(ut)Pn+(nf−Δf)⋅(∇ut)fnSf]+f∑μfnf⋅(∇tun)fSf+f∑λfnftr[(∇tut)f]Sf−i∑[(2μ+λ)i−μi]δin(ut)Ni−(ut)P+i∑(2μia+λia)δbn+(2μib+λib)δan(2μia+λia)δbnλibnitr(∇tut)ib+(2μib+λib)δanλianitr(∇tut)ia+i∑μiaδbn+μibδanμiaμibδbn(∇tun)ib+μibμiaδan(∇tun)ia(2-24)
3. 求解过程
根据式(2-19),将控制体的每个代数方程组合成在一起,形成代数方程组。其矩阵形式如下:
[ A ] [ U ] = [ R ] (2-25) [A][\mathbf U]=[\mathbf R]\tag{2-25} [A][U]=[R](2-25)
- [A]:稀疏矩阵(sparse matrix),系数 a P a_P aP在对角线位置, a N 、 a N i a_N、a_{Ni} aN、aNi 在非对角线位置;这一矩阵是对称并且对角占优的(求解器:ICCG);
- [ U ] [\mathbf U] [U]:所有控制体的位移矢量集合;
- [ R ] [\bf R] [R]:源项。
求解一般步骤:
- 更新时间步,根据上一时间步长的值,初始化因变量;
- 利用线性插值公式(2-8)计算内表面面心处的位移矢量;用式(2-11)、(2-15)计算交界面处的位移矢量;
- 根据上一时间步求得的面心位移矢量,利用式(2-7)计算控制体体心位移矢量;
- 采用线性插值方法计算面心位移梯度;
- 通过式(2-25)求出控制体位移 u \bf u u;
- 判断位移场是否收敛,若收敛,返回步骤1.;否则返回步骤2.。
参考:
- Tukovi, Ivankovi, A. , & Kara, A. . (2012). Finite-volume stress analysis in multi-material linear elastic body. , aop(aop).
- https://blog.csdn.net/hanbingchegu/article/details/108378493