Memory 求解9耦合偏微分方程系统时如何减少内存使用
我有一个耦合偏微分方程组,如所示 如果一个人把方程组分写下来,他会得到九个方程。 为简单起见,可以将$\rho$和$h$设置为常量 我把方程放在mathematica笔记本上,并使用“NDSolve”。 我计算了系统中的268个导数。然而,我没有发现超过87种情况有意义 当我运行笔记本时,我得到了信息Memory 求解9耦合偏微分方程系统时如何减少内存使用,memory,wolfram-mathematica,physics,pde,Memory,Wolfram Mathematica,Physics,Pde,我有一个耦合偏微分方程组,如所示 如果一个人把方程组分写下来,他会得到九个方程。 为简单起见,可以将$\rho$和$h$设置为常量 我把方程放在mathematica笔记本上,并使用“NDSolve”。 我计算了系统中的268个导数。然而,我没有发现超过87种情况有意义 当我运行笔记本时,我得到了信息 NDSolve::pdord: Some of the functions have zero differential order, so the equations will be solv
NDSolve::pdord: Some of the functions have zero differential order, so the equations will be solved as a system of differential-algebraic equations. >>
LinearSolve::sing: Matrix SparseArray[Automatic,<<3>>] is singular. >>
NDSolve::mconly: For the method IDA, only machine real code is available. Unable to continue with complex values or beyond floating-point exceptions. >>
我可以做些什么来降低内存成本,或者更好的是,我可以做些什么来更优雅地解决系统问题
以下是mathematica代码:
NDSolve[{
eqn1 == 0,
eqn2 == 0,
eqn3 == 0,
eqn4 == 0,
eqn5 == 0,
eqn6 == 0,
eqn7 == 0,
eqn8 == 0,
eqn9 == 0,
(*Initial Conditions*)
T[0, x, y, z] == 300,
p[0, x, y, z] == 101300,
phi[t, x, y, z] == 75 x /. t -> 0,
u1[0, x, y, z] == 0,
(* ect... *)
(*BOUNDARY CONDITIONS*)
phi[t, x, y, z] == 0 /. x -> 0,
phi[t, x, y, z] == 750 /. x -> 10,
phi[t, x, y, z] == 75 x /. y -> 0,
phi[t, x, y, z] == 75 x /. y -> 10,
phi[t, x, y, z] == 75 x /. z -> 0,
phi[t, x, y, z] == 75 x /. z -> 10,
\!\(
\*SubscriptBox[\(\[PartialD]\), \(y\)]\(phi[t, x, y, z]\)\) == 0 /.
y -> 0,
\!\(
\*SubscriptBox[\(\[PartialD]\), \(y\)]\(phi[t, x, y, z]\)\) == 0 /.
y -> 10,
(* ect..... *)
},
{p, u1, u2, u3, T, phi, a1, a2, a3},
{t, 0, 10}, {x, 0, 10}, {y, 0, 10}, {z, 0, 10}
]
下面是方程式的Latex代码:
\begin{align}
%%% first
\frac{\partial \rho}{\partial t} + \vec{u} \cdot \nabla \rho + \rho \nabla \cdot \vec{u} &=0 \\
%%% second
\rho \frac{\partial \vec{u}}{\partial t}
+ \rho \vec{u} \cdot \nabla \vec{u} \pm \nabla p
+ \nabla \cdot \left[- \mu \left( \nabla \vec{u} + \nabla \vec{u}^t \right) \right] \nonumber
\\ -
\left[ \sigma
\left( - \nabla \phi - \frac{\partial \vec{A}}{\partial t} \right)
+ \vec{u} \times (\nabla \times \vec{A}) \right]
%
\times \left[ \nabla \times \vec{A} \right]
&= \vec{0} \\
%%% third
\rho \frac{\partial h}{\partial t}
+ \rho \vec{u} \cdot \nabla h
+ \nabla \cdot \nabla T
- \frac{\partial p}{\partial t}
- \overset{.}{Q_j} + \overset{.}{Q_r}
&= 0 \\
%%% fourth
\nabla \cdot \left[ \sigma
\left( - \nabla \phi - \frac{\partial \vec{A}}{\partial t} \right)
+ \vec{u} \times (\nabla \times \vec{A}) \right] &= 0 \\
%%% fifth
\frac{\partial \vec{A}}{\partial t} + \nabla \phi - \vec{u} \times \nabla \times \vec{A} - \eta \nabla ^2 \vec{A} &= \vec{0}
\end{align}
我在这里添加了简单的mathematica代码:
Needs["NDSolve`FEM`"]
kB = N[ 8.6*10^-5 ];
AG = N[1.2*10^6 ];
mu0 = 1.257*10^(-6);
sigma = N[20.];
eta = 1/(mu0 * sigma);
rho = N[1.];
h = N[1672000.];
r = 1/ 287.058 ;
mu = N[1.];
kappah = N[5.];
cp = N[2.4];
lbb = NDSolve[{
0 == D[rho, t] + u1[t, x, y, z]*D[rho, x] +
u2[t, x, y, z]*D[rho, y] + u3[t, x, y, z]*D[rho, z] +
rho*(D[u1[t, x, y, z], x] + D[u2[t, x, y, z], y] +
D[u3[t, x, y, z], z]),
0 ==
rho*D[u1[t, x, y, z], t] +
rho*u1[t, x, y, z]*D[u1[t, x, y, z], x] - D[p[t, x, y, z], x] -
mu*D[D[u1[t, x, y, z], x], x] -
mu*D[D[u1[t, x, y, z], y], y] -
mu*D[D[u1[t, x, y, z], z], z] -
(((-sigma)*D[phi[t, x, y, z], y] -
sigma*D[a2[t, x, y, z], t] +
u3[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]))*(D[
a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
((-sigma)*D[phi[t, x, y, z], z] -
sigma*D[a3[t, x, y, z], t] +
u1[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]))*(D[
a1[t, x, y, z], z] - D[a3[t, x, y, z], x])),
0 ==
rho*D[u2[t, x, y, z], t] +
rho*u2[t, x, y, z]*D[u2[t, x, y, z], y] - D[p[t, x, y, z], y] -
mu*D[D[u2[t, x, y, z], x], x] -
mu*D[D[u2[t, x, y, z], y], y] -
mu*D[D[u2[t, x, y, z], z], z] -
(((-sigma)*D[phi[t, x, y, z], z] -
sigma*D[a3[t, x, y, z], t] +
u1[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]))*(D[
a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
(D[a2[t, x, y, z], x] -
D[a1[t, x, y, z], y])*((-sigma)*D[phi[t, x, y, z], x] -
sigma*D[a1[t, x, y, z], t] +
u2[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]))),
0 ==
rho*D[u3[t, x, y, z], t] +
rho*u3[t, x, y, z]*D[u3[t, x, y, z], z] - D[p[t, x, y, z], z] -
mu*D[D[u3[t, x, y, z], x], x] -
mu*D[D[u3[t, x, y, z], y], y] -
mu*D[D[u3[t, x, y, z], z], z] -
(((-sigma)*D[phi[t, x, y, z], x] -
sigma*D[a1[t, x, y, z], t] +
u2[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]))*(D[
a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
((-sigma)*D[phi[t, x, y, z], y] -
sigma*D[a2[t, x, y, z], t] +
u3[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]))*(D[
a3[t, x, y, z], y] - D[a2[t, x, y, z], z])),
0 == rho*D[h, t] +
rho*(u1[t, x, y, z]*D[h, x] + u2[t, x, y, z]*D[h, y] +
u3[t, x, y, z]*D[h, z]) +
kappah*(D[T[t, x, y, z], x, x] + D[D[T[t, x, y, z], y], y] +
D[D[T[t, x, y, z], z], z]) - D[p[t, x, y, z], t],
0 == D[
sigma*(-D[phi[t, x, y, z], x] - D[a1[t, x, y, z], t]) +
u2[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]),
x] + D[sigma*(-D[phi[t, x, y, z], y] - D[a2[t, x, y, z], t]) +
u3[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]),
y] +
D[sigma*(-D[phi[t, x, y, z], z] - D[a3[t, x, y, z], t]) +
u1[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]),
z],
0 ==
D[a1[t, x, y, z], t] + D[phi[t, x, y, z], x] -
u2[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
eta*D[D[a1[t, x, y, z], x], x],
0 ==
D[a2[t, x, y, z], t] + D[phi[t, x, y, z], y] -
u3[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
eta*D[D[a2[t, x, y, z], y], y],
0 ==
D[a3[t, x, y, z], t] + D[phi[t, x, y, z], z] -
u1[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
eta*D[D[a3[t, x, y, z], z], z], T[0, x, y, z] == 300,
p[0, x, y, z] == 101300,
phi[t, x, y, z] == 75*x /. t -> 0, u1[0, x, y, z] == 0,
u2[0, x, y, z] == 0, u3[0, x, y, z] == 0,
a1[0, x, y, z] == 0, a2[0, x, y, z] == 0,
a3[0, x, y, z] == 0, D[T[t, x, y, z], x] == 0 /. x -> 0,
D[T[t, x, y, z], x] == 0 /. x -> 10,
D[T[t, x, y, z], y] == 0 /. y -> 0,
D[T[t, x, y, z], y] == 0 /. y -> 10,
D[T[t, x, y, z], z] == 0 /. z -> 0,
D[T[t, x, y, z], z] == 0 /. z -> 10,
phi[t, x, y, z] == 0 /. x -> 0,
phi[t, x, y, z] == 750 /. x -> 10,
phi[t, x, y, z] == 75*x /. y -> 0,
phi[t, x, y, z] == 75*x /. y -> 10,
phi[t, x, y, z] == 75*x /. z -> 0,
phi[t, x, y, z] == 75*x /. z -> 10,
D[phi[t, 0, y, z], x] == (-sigma^(-1))*0.5*AG*T[t, 0, y, z]^2*
Exp[-4/(kB*T[t, 0, y, z])],
D[phi[t, 10, y, z], x] == (-sigma^(-1))*0.5*AG*T[t, 10, y, z]^2*
Exp[-4/(kB*T[t, 10, y, z])],
D[phi[t, x, y, z], y] == 0 /. y -> 0,
D[phi[t, x, y, z], y] == 0 /. y -> 10,
D[phi[t, x, y, z], z] == 0 /. z -> 0,
D[phi[t, x, y, z], z] == 0 /. z -> 10,
p[t, x, y, z] == 101300 /. x -> 0,
p[t, x, y, z] == 101300 /. x -> 10,
p[t, x, y, z] == 101300 /. y -> 0,
p[t, x, y, z] == 101300 /. y -> 10,
p[t, x, y, z] == 101300 /. z -> 0,
p[t, x, y, z] == 101300 /. z -> 10, u1[t, x, y, z] == 0 /. x -> 0,
u1[t, x, y, z] == 0 /. x -> 10,
D[u1[t, x, y, z], y] == 0 /. y -> 0,
D[u1[t, x, y, z], y] == 0 /. y -> 10,
D[u1[t, x, y, z], z] == 0 /. z -> 0,
D[u1[t, x, y, z], z] == 0 /. z -> 10,
u2[t, x, y, z] == 0 /. x -> 0,
u2[t, x, y, z] == 0 /. x -> 10,
D[u2[t, x, y, z], y] == 0 /. y -> 0,
D[u2[t, x, y, z], y] == 0 /. y -> 10,
D[u2[t, x, y, z], z] == 0 /. z -> 0,
D[u2[t, x, y, z], z] == 0 /. z -> 10,
u3[t, x, y, z] == 0 /. x -> 0, u3[t, x, y, z] == 0 /. x -> 10,
D[u3[t, x, y, z], y] == 0 /. y -> 0,
D[u3[t, x, y, z], y] == 0 /. y -> 10,
D[u3[t, x, y, z], z] == 0 /. z -> 0,
D[u3[t, x, y, z], z] == 0 /. z -> 10,
a1[t, x, y, z] == 0 /. x -> 0,
a1[t, x, y, z] == 0 /. x -> 10,
a1[t, x, y, z] == 0 /. y -> 0,
a1[t, x, y, z] == 0 /. y -> 10,
a1[t, x, y, z] == 0 /. z -> 0,
a1[t, x, y, z] == 0 /. z -> 10,
D[a1[t, x, y, z], x] == 0 /. x -> 0,
D[a1[t, x, y, z], x] == 0 /. x -> 10,
D[a1[t, x, y, z], y] == 0 /. y -> 0,
D[a1[t, x, y, z], y] == 0 /. y -> 10,
D[a1[t, x, y, z], z] == 0 /. z -> 0,
D[a1[t, x, y, z], z] == 0 /. z -> 10,
a2[t, x, y, z] == 0 /. x -> 0,
a2[t, x, y, z] == 0 /. x -> 10,
a2[t, x, y, z] == 0 /. y -> 0,
a2[t, x, y, z] == 0 /. y -> 10,
a2[t, x, y, z] == 0 /. z -> 0,
a2[t, x, y, z] == 0 /. z -> 10,
D[a2[t, x, y, z], x] == 0 /. x -> 0,
D[a2[t, x, y, z], x] == 0 /. x -> 10,
D[a2[t, x, y, z], y] == 0 /. y -> 0,
D[a2[t, x, y, z], y] == 0 /. y -> 10,
D[a2[t, x, y, z], z] == 0 /. z -> 0,
D[a2[t, x, y, z], z] == 0 /. z -> 10,
a3[t, x, y, z] == 0 /. x -> 0,
a3[t, x, y, z] == 0 /. x -> 10,
a3[t, x, y, z] == 0 /. y -> 0,
a3[t, x, y, z] == 0 /. y -> 10,
a3[t, x, y, z] == 0 /. z -> 0,
a3[t, x, y, z] == 0 /. z -> 10,
D[a3[t, x, y, z], x] == 0 /. x -> 0,
D[a3[t, x, y, z], x] == 0 /. x -> 10,
D[a3[t, x, y, z], y] == 0 /. y -> 0,
D[a3[t, x, y, z], y] == 0 /. y -> 10,
D[a3[t, x, y, z], z] == 0 /. z -> 0,
D[a3[t, x, y, z], z] == 0 /. z -> 10
},
{p, u1, u2, u3, T, phi, a1, a2, a3},
{t, 0, 10}, {x, 0, 10}, {y, 0, 10}, {z, 0, 10}]
非常感谢 通过ToExpression[“…yourlatex…”,TeXForm]返回{0,Null,ErrorBox[ErrorBox[“+”]],Null,Overscript[u,[RightVector]],Null,ErrorBox[ErrorBox[“[CenterDot]”和越来越多的…},将你的乳胶刮到Mathematica中。礼貌的建议:如果我问你一个问题,说我有一些东西,eqn1=0和。。。它不起作用,我的语法错误到底是什么?在哪里?“你怎么回答?嗨,比尔!非常感谢你的评论。我现在粘贴了简单的mathematica代码。彼得感谢代码,这真的很有帮助。我不知道它是否会产生足够的差异,但你有初始条件0==-1/40 Age^(-4/(kB t[t,0,y,z])t[t,0,y,z]^2,0==-1/40 AG E^(-4/(kB t[t,10,y,z])t[t,10,y,z]^2如果你有一些关于t的范围的信息,你也许可以简化这些。这没关系,但是你可以使用N[十进制常数]与十进制常数完全相同,并且初始条件的方法/样式在所有项中并不一致。我仍在试图找到一种方法来解决它。Peter在我最后的评论中,似乎t==0或t==无穷大。这两种情况中的任何一种都会困扰我,可能会困扰Mathematica。如果你的系统c我认为T==0的条件可能不那么令人担忧。比尔,我明白你的意思了!不幸的是,这个边界条件非常重要。我在考虑如何改变它。我还考虑了只将数学应用于对称系统,并将方程简化为1或2维。这将大大减少内存使用。我相信然而,如果这样做有效的话……通过ToExpression[“…yourlatex…”,TeXForm]返回{0,Null,ErrorBox[ErrorBox[“+”]],Null,Overscript[u,[RightVector]],Null,ErrorBox[ErrorBox[“[CenterDot]”]]和越来越多的…}。礼貌的建议:只需粘贴简单的Mathematica代码,不需要任何桌面发布,也不需要任何“…”如果我问你一个问题,说我有一些东西,eqn1=0和…它不起作用,那么我的语法错误到底是什么,在哪里你怎么回答?嗨,比尔!非常感谢你的评论。我现在粘贴了简单的mathematica代码。彼得感谢代码,这真的很有帮助。我不知道它是否会产生足够的差异,但你有初始条件0=-1/40 AG E^(-4/(kB t[t,0,y,z])t[t,0,y,z]^2,0=-1/40 AG E^(-4/(kB t[t,10,y,z])t[t,10,y,z]^如果你有一些关于T的范围的信息,那么你可以简化这些。这没关系,但是你使用了N[十进制常数]与十进制常数完全相同,并且初始条件的方法/样式在所有项中并不一致。我仍在试图找到一种方法来解决它。Peter在我最后的评论中,似乎t==0或t==无穷大。这两种情况中的任何一种都会困扰我,可能会困扰Mathematica。如果你的系统c我认为T==0的条件可能不那么令人担忧。比尔,我明白你的意思了!不幸的是,这个边界条件非常重要。我在考虑如何改变它。我还考虑了只将数学应用于对称系统,并将方程简化为1或2维。这将大大减少内存使用。我相信e然而,如果这行得通的话。。。
Needs["NDSolve`FEM`"]
kB = N[ 8.6*10^-5 ];
AG = N[1.2*10^6 ];
mu0 = 1.257*10^(-6);
sigma = N[20.];
eta = 1/(mu0 * sigma);
rho = N[1.];
h = N[1672000.];
r = 1/ 287.058 ;
mu = N[1.];
kappah = N[5.];
cp = N[2.4];
lbb = NDSolve[{
0 == D[rho, t] + u1[t, x, y, z]*D[rho, x] +
u2[t, x, y, z]*D[rho, y] + u3[t, x, y, z]*D[rho, z] +
rho*(D[u1[t, x, y, z], x] + D[u2[t, x, y, z], y] +
D[u3[t, x, y, z], z]),
0 ==
rho*D[u1[t, x, y, z], t] +
rho*u1[t, x, y, z]*D[u1[t, x, y, z], x] - D[p[t, x, y, z], x] -
mu*D[D[u1[t, x, y, z], x], x] -
mu*D[D[u1[t, x, y, z], y], y] -
mu*D[D[u1[t, x, y, z], z], z] -
(((-sigma)*D[phi[t, x, y, z], y] -
sigma*D[a2[t, x, y, z], t] +
u3[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]))*(D[
a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
((-sigma)*D[phi[t, x, y, z], z] -
sigma*D[a3[t, x, y, z], t] +
u1[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]))*(D[
a1[t, x, y, z], z] - D[a3[t, x, y, z], x])),
0 ==
rho*D[u2[t, x, y, z], t] +
rho*u2[t, x, y, z]*D[u2[t, x, y, z], y] - D[p[t, x, y, z], y] -
mu*D[D[u2[t, x, y, z], x], x] -
mu*D[D[u2[t, x, y, z], y], y] -
mu*D[D[u2[t, x, y, z], z], z] -
(((-sigma)*D[phi[t, x, y, z], z] -
sigma*D[a3[t, x, y, z], t] +
u1[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]))*(D[
a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
(D[a2[t, x, y, z], x] -
D[a1[t, x, y, z], y])*((-sigma)*D[phi[t, x, y, z], x] -
sigma*D[a1[t, x, y, z], t] +
u2[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]))),
0 ==
rho*D[u3[t, x, y, z], t] +
rho*u3[t, x, y, z]*D[u3[t, x, y, z], z] - D[p[t, x, y, z], z] -
mu*D[D[u3[t, x, y, z], x], x] -
mu*D[D[u3[t, x, y, z], y], y] -
mu*D[D[u3[t, x, y, z], z], z] -
(((-sigma)*D[phi[t, x, y, z], x] -
sigma*D[a1[t, x, y, z], t] +
u2[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y,
z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]))*(D[
a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
((-sigma)*D[phi[t, x, y, z], y] -
sigma*D[a2[t, x, y, z], t] +
u3[t, x, y,
z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y,
z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]))*(D[
a3[t, x, y, z], y] - D[a2[t, x, y, z], z])),
0 == rho*D[h, t] +
rho*(u1[t, x, y, z]*D[h, x] + u2[t, x, y, z]*D[h, y] +
u3[t, x, y, z]*D[h, z]) +
kappah*(D[T[t, x, y, z], x, x] + D[D[T[t, x, y, z], y], y] +
D[D[T[t, x, y, z], z], z]) - D[p[t, x, y, z], t],
0 == D[
sigma*(-D[phi[t, x, y, z], x] - D[a1[t, x, y, z], t]) +
u2[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]),
x] + D[sigma*(-D[phi[t, x, y, z], y] - D[a2[t, x, y, z], t]) +
u3[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]),
y] +
D[sigma*(-D[phi[t, x, y, z], z] - D[a3[t, x, y, z], t]) +
u1[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]),
z],
0 ==
D[a1[t, x, y, z], t] + D[phi[t, x, y, z], x] -
u2[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
u3[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
eta*D[D[a1[t, x, y, z], x], x],
0 ==
D[a2[t, x, y, z], t] + D[phi[t, x, y, z], y] -
u3[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
u1[t, x, y, z]*(D[a2[t, x, y, z], x] - D[a1[t, x, y, z], y]) -
eta*D[D[a2[t, x, y, z], y], y],
0 ==
D[a3[t, x, y, z], t] + D[phi[t, x, y, z], z] -
u1[t, x, y, z]*(D[a1[t, x, y, z], z] - D[a3[t, x, y, z], x]) -
u2[t, x, y, z]*(D[a3[t, x, y, z], y] - D[a2[t, x, y, z], z]) -
eta*D[D[a3[t, x, y, z], z], z], T[0, x, y, z] == 300,
p[0, x, y, z] == 101300,
phi[t, x, y, z] == 75*x /. t -> 0, u1[0, x, y, z] == 0,
u2[0, x, y, z] == 0, u3[0, x, y, z] == 0,
a1[0, x, y, z] == 0, a2[0, x, y, z] == 0,
a3[0, x, y, z] == 0, D[T[t, x, y, z], x] == 0 /. x -> 0,
D[T[t, x, y, z], x] == 0 /. x -> 10,
D[T[t, x, y, z], y] == 0 /. y -> 0,
D[T[t, x, y, z], y] == 0 /. y -> 10,
D[T[t, x, y, z], z] == 0 /. z -> 0,
D[T[t, x, y, z], z] == 0 /. z -> 10,
phi[t, x, y, z] == 0 /. x -> 0,
phi[t, x, y, z] == 750 /. x -> 10,
phi[t, x, y, z] == 75*x /. y -> 0,
phi[t, x, y, z] == 75*x /. y -> 10,
phi[t, x, y, z] == 75*x /. z -> 0,
phi[t, x, y, z] == 75*x /. z -> 10,
D[phi[t, 0, y, z], x] == (-sigma^(-1))*0.5*AG*T[t, 0, y, z]^2*
Exp[-4/(kB*T[t, 0, y, z])],
D[phi[t, 10, y, z], x] == (-sigma^(-1))*0.5*AG*T[t, 10, y, z]^2*
Exp[-4/(kB*T[t, 10, y, z])],
D[phi[t, x, y, z], y] == 0 /. y -> 0,
D[phi[t, x, y, z], y] == 0 /. y -> 10,
D[phi[t, x, y, z], z] == 0 /. z -> 0,
D[phi[t, x, y, z], z] == 0 /. z -> 10,
p[t, x, y, z] == 101300 /. x -> 0,
p[t, x, y, z] == 101300 /. x -> 10,
p[t, x, y, z] == 101300 /. y -> 0,
p[t, x, y, z] == 101300 /. y -> 10,
p[t, x, y, z] == 101300 /. z -> 0,
p[t, x, y, z] == 101300 /. z -> 10, u1[t, x, y, z] == 0 /. x -> 0,
u1[t, x, y, z] == 0 /. x -> 10,
D[u1[t, x, y, z], y] == 0 /. y -> 0,
D[u1[t, x, y, z], y] == 0 /. y -> 10,
D[u1[t, x, y, z], z] == 0 /. z -> 0,
D[u1[t, x, y, z], z] == 0 /. z -> 10,
u2[t, x, y, z] == 0 /. x -> 0,
u2[t, x, y, z] == 0 /. x -> 10,
D[u2[t, x, y, z], y] == 0 /. y -> 0,
D[u2[t, x, y, z], y] == 0 /. y -> 10,
D[u2[t, x, y, z], z] == 0 /. z -> 0,
D[u2[t, x, y, z], z] == 0 /. z -> 10,
u3[t, x, y, z] == 0 /. x -> 0, u3[t, x, y, z] == 0 /. x -> 10,
D[u3[t, x, y, z], y] == 0 /. y -> 0,
D[u3[t, x, y, z], y] == 0 /. y -> 10,
D[u3[t, x, y, z], z] == 0 /. z -> 0,
D[u3[t, x, y, z], z] == 0 /. z -> 10,
a1[t, x, y, z] == 0 /. x -> 0,
a1[t, x, y, z] == 0 /. x -> 10,
a1[t, x, y, z] == 0 /. y -> 0,
a1[t, x, y, z] == 0 /. y -> 10,
a1[t, x, y, z] == 0 /. z -> 0,
a1[t, x, y, z] == 0 /. z -> 10,
D[a1[t, x, y, z], x] == 0 /. x -> 0,
D[a1[t, x, y, z], x] == 0 /. x -> 10,
D[a1[t, x, y, z], y] == 0 /. y -> 0,
D[a1[t, x, y, z], y] == 0 /. y -> 10,
D[a1[t, x, y, z], z] == 0 /. z -> 0,
D[a1[t, x, y, z], z] == 0 /. z -> 10,
a2[t, x, y, z] == 0 /. x -> 0,
a2[t, x, y, z] == 0 /. x -> 10,
a2[t, x, y, z] == 0 /. y -> 0,
a2[t, x, y, z] == 0 /. y -> 10,
a2[t, x, y, z] == 0 /. z -> 0,
a2[t, x, y, z] == 0 /. z -> 10,
D[a2[t, x, y, z], x] == 0 /. x -> 0,
D[a2[t, x, y, z], x] == 0 /. x -> 10,
D[a2[t, x, y, z], y] == 0 /. y -> 0,
D[a2[t, x, y, z], y] == 0 /. y -> 10,
D[a2[t, x, y, z], z] == 0 /. z -> 0,
D[a2[t, x, y, z], z] == 0 /. z -> 10,
a3[t, x, y, z] == 0 /. x -> 0,
a3[t, x, y, z] == 0 /. x -> 10,
a3[t, x, y, z] == 0 /. y -> 0,
a3[t, x, y, z] == 0 /. y -> 10,
a3[t, x, y, z] == 0 /. z -> 0,
a3[t, x, y, z] == 0 /. z -> 10,
D[a3[t, x, y, z], x] == 0 /. x -> 0,
D[a3[t, x, y, z], x] == 0 /. x -> 10,
D[a3[t, x, y, z], y] == 0 /. y -> 0,
D[a3[t, x, y, z], y] == 0 /. y -> 10,
D[a3[t, x, y, z], z] == 0 /. z -> 0,
D[a3[t, x, y, z], z] == 0 /. z -> 10
},
{p, u1, u2, u3, T, phi, a1, a2, a3},
{t, 0, 10}, {x, 0, 10}, {y, 0, 10}, {z, 0, 10}]