题目
通用差分格式
现在是type1 dirichlet边界条件
将显示格式和隐式格式写成一个格式,当
θ
=
1
\theta=1
θ=1是隐式格式,
θ
=
0
\theta=0
θ=0是显式格式,
θ
=
1
/
2
\theta=1/2
θ=1/2是CN格式。
离散区域
M
=
(
L
−
l
)
/
Δ
x
,
N
=
T
/
Δ
t
,
k
=
1...
M
+
1
M=(L-l)/\Delta x,N=T/\Delta t,k=1...M+1
M=(L−l)/Δx,N=T/Δt,k=1...M+1,n=1…N+1
离散初值
u
k
1
=
g
(
k
∗
Δ
x
)
,
k
=
1
,
.
.
.
,
M
+
1
u^1_k=g(k*\Delta x),k=1,...,M+1
uk1=g(k∗Δx),k=1,...,M+1
离散时间项
u
k
(
n
+
1
)
−
u
k
(
n
)
Δ
t
=
u
t
(
k
,
n
)
,
n
=
1
,
.
.
.
,
N
\frac{u_k^{(n+1)}-u_k^{(n)}}{\Delta t}=u_t(k,n),n=1,...,N
Δtuk(n+1)−uk(n)=ut(k,n),n=1,...,N
离散空间项
隐式格式
δ
2
u
k
n
+
1
Δ
x
2
=
u
x
x
(
k
,
n
)
,
K
=
2
,
.
.
.
,
M
\frac{\delta^2u^{n+1}_k }{\Delta x^2}=u_{xx}(k,n),K=2,...,M
Δx2δ2ukn+1=uxx(k,n),K=2,...,M
δ
u
k
n
+
1
2
Δ
x
=
u
x
(
k
,
n
)
,
K
=
2
,
.
.
.
,
M
\frac{{\delta}u^{n+1}_k }{2\Delta x}=u_{x}(k,n),K=2,...,M
2Δxδukn+1=ux(k,n),K=2,...,M
显式格式
δ
2
u
k
n
Δ
x
2
=
u
x
x
(
k
,
n
)
,
n
=
1
,
.
.
.
,
N
\frac{\delta^2u^{n}_k }{\Delta x^2}=u_{xx}(k,n),n=1,...,N
Δx2δ2ukn=uxx(k,n),n=1,...,N
δ
u
k
n
2
Δ
x
=
u
x
(
k
,
n
)
,
K
=
2
,
.
.
.
,
M
\frac{{\delta}u^{n}_k }{2\Delta x}=u_{x}(k,n),K=2,...,M
2Δxδukn=ux(k,n),K=2,...,M
将差分形式代入
u
k
(
n
+
1
)
−
u
k
(
n
)
Δ
t
−
θ
ν
δ
2
u
k
n
+
1
Δ
x
2
−
(
1
−
θ
)
δ
2
u
k
n
Δ
x
2
+
θ
a
δ
u
k
n
+
1
2
Δ
x
+
(
1
−
θ
)
a
δ
u
k
2
Δ
x
+
b
θ
u
k
n
+
1
+
b
(
1
−
θ
)
u
k
n
=
θ
F
k
n
+
1
+
(
1
−
θ
)
F
k
n
\frac{u_k^{(n+1)}-u_k^{(n)}}{\Delta t}-\theta\nu\frac{\delta^2u^{n+1}_k }{\Delta x^2}-(1-\theta)\frac{\delta^2u^{n}_k }{\Delta x^2}+\theta a\frac{{\delta}u^{n+1}_k }{2\Delta x}+(1-\theta)a\frac{{\delta}u^{}_k }{2\Delta x}+b\theta u^{n+1}_k+b(1-\theta)u^{n}_k=\theta F^{n+1}_k+(1-\theta )F^{n}_k
Δtuk(n+1)−uk(n)−θνΔx2δ2ukn+1−(1−θ)Δx2δ2ukn+θa2Δxδukn+1+(1−θ)a2Δxδuk+bθukn+1+b(1−θ)ukn=θFkn+1+(1−θ)Fkn
u
k
(
n
+
1
)
−
u
k
(
n
)
−
Δ
t
θ
ν
δ
2
u
k
n
+
1
Δ
x
2
−
Δ
t
(
1
−
θ
)
δ
2
u
k
n
Δ
x
2
+
Δ
t
θ
a
δ
u
k
n
+
1
2
Δ
x
+
Δ
t
(
1
−
θ
)
a
δ
u
k
2
Δ
x
+
Δ
t
b
θ
u
k
n
+
1
+
Δ
t
b
(
1
−
θ
)
u
k
n
=
Δ
t
θ
F
k
n
+
1
+
Δ
t
(
1
−
θ
)
F
k
n
{u_k^{(n+1)}-u_k^{(n)}}-\Delta t\theta\nu\frac{\delta^2u^{n+1}_k }{\Delta x^2}-\Delta t(1-\theta)\frac{\delta^2u^{n}_k }{\Delta x^2}+\Delta t\theta a\frac{{\delta}u^{n+1}_k }{2\Delta x}+\Delta t(1-\theta)a\frac{{\delta}u^{}_k }{2\Delta x}+\Delta tb\theta u^{n+1}_k+\Delta tb(1-\theta)u^{n}_k=\Delta t\theta F^{n+1}_k+\Delta t(1-\theta )F^{n}_k
uk(n+1)−uk(n)−ΔtθνΔx2δ2ukn+1−Δt(1−θ)Δx2δ2ukn+Δtθa2Δxδukn+1+Δt(1−θ)a2Δxδuk+Δtbθukn+1+Δtb(1−θ)ukn=ΔtθFkn+1+Δt(1−θ)Fkn
令
r
=
ν
Δ
t
Δ
x
2
,
R
=
a
Δ
t
2
Δ
x
r=\nu\frac{\Delta t}{\Delta x^2},R=a\frac{\Delta t}{2\Delta x}
r=νΔx2Δt,R=a2ΔxΔt移项
u
k
n
+
1
−
r
θ
δ
2
u
k
n
+
1
+
R
θ
δ
u
k
n
+
1
+
Δ
t
b
θ
u
k
n
+
1
=
u
k
n
+
r
(
1
−
θ
)
δ
2
u
k
n
−
R
(
1
−
θ
)
δ
u
k
n
−
Δ
t
b
(
1
−
θ
)
u
k
n
+
Δ
t
θ
F
k
n
+
1
+
Δ
t
(
1
−
θ
)
F
k
n
{u_k^{n+1}-r{\theta \delta^2u^{n+1}_k }+R\theta {\delta}u^{n+1}_k +\Delta tb\theta u^{n+1}_k=u_k^{n}}+r{(1-\theta )\delta^2u^{n}_k }-R(1-\theta ){\delta}u^{n}_k-\Delta tb(1-\theta)u^{n}_k+\Delta t\theta F^{n+1}_k+\Delta t(1-\theta )F^{n}_k
ukn+1−rθδ2ukn+1+Rθδukn+1+Δtbθukn+1=ukn+r(1−θ)δ2ukn−R(1−θ)δukn−Δtb(1−θ)ukn+ΔtθFkn+1+Δt(1−θ)Fkn
写成矩阵
Q
1
u
k
n
+
1
=
Q
2
u
k
n
+
F
Q_1u_k^{n+1}=Q_2u_k^{n}+F
Q1ukn+1=Q2ukn+F
A
1
=
(
−
2
1
0
⋯
1
−
2
1
⋯
⋮
⋮
⋱
)
A_1=\begin{pmatrix} -2 & 1 & 0 & \cdots \\ 1 & -2 & 1& \cdots \\ \vdots & \vdots & \ddots \\ \end{pmatrix}
A1=⎝⎜⎛−21⋮1−2⋮01⋱⋯⋯⎠⎟⎞
A
2
=
(
0
1
0
⋯
−
1
0
0
⋯
⋮
⋮
⋱
)
A_2=\begin{pmatrix} 0 & 1 & 0 & \cdots \\ -1 & 0 & 0& \cdots \\ \vdots & \vdots & \ddots \\ \end{pmatrix}
A2=⎝⎜⎛0−1⋮10⋮00⋱⋯⋯⎠⎟⎞
Q
1
=
(
1
+
Δ
t
b
θ
)
E
−
r
θ
A
1
+
R
θ
A
2
Q_1=(1+\Delta t b\theta)E-r\theta A_1+R\theta A_2
Q1=(1+Δtbθ)E−rθA1+RθA2
Q
2
=
(
1
−
Δ
t
b
(
1
−
θ
)
)
E
+
r
(
1
−
θ
)
A
1
−
R
(
1
−
θ
)
A
2
Q_2=(1-\Delta t b(1-\theta))E+r(1-\theta) A_1-R(1-\theta) A_2
Q2=(1−Δtb(1−θ))E+r(1−θ)A1−R(1−θ)A2
F
=
(
r
θ
u
1
n
+
1
+
R
θ
u
1
n
+
1
+
r
(
1
−
θ
)
u
1
n
+
R
(
1
−
θ
)
u
1
n
0
⋮
0
r
θ
u
M
+
1
n
+
1
+
R
θ
u
M
+
1
n
+
1
+
r
(
1
−
θ
)
u
M
+
1
n
+
R
(
1
−
θ
)
u
M
+
1
n
)
+
Δ
t
θ
F
k
n
+
1
+
Δ
t
(
1
−
θ
)
F
k
n
F=\begin{pmatrix} r\theta u_1^{n+1}+R\theta u_1^{n+1}+ r(1-\theta) u_1^{n}+R(1-\theta)u_1^{n}\\ 0\\ \vdots\\ 0\\ r\theta u_{M+1}^{n+1}+R\theta u_{M+1}^{n+1}+r(1-\theta) u_{M+1}^{n}+R(1-\theta) u_{M+1}^{n} \end{pmatrix}+\Delta t\theta F^{n+1}_k+\Delta t(1-\theta )F^{n}_k
F=⎝⎜⎜⎜⎜⎜⎛rθu1n+1+Rθu1n+1+r(1−θ)u1n+R(1−θ)u1n0⋮0rθuM+1n+1+RθuM+1n+1+r(1−θ)uM+1n+R(1−θ)uM+1n⎠⎟⎟⎟⎟⎟⎞+ΔtθFkn+1+Δt(1−θ)Fkn