请教一下向量场的系数矩阵长什么样子?
-
添加隐式源项过程中发现了个问题:为何向量场的系数矩阵(fvVectorMatrix/fvMatrix<vector>)返回的对角元素( Foam::tmp <Foam::scalarField > Foam::fvMatrix<Type>::D() const)依然是一个标量场(scalarField)?
难道fvVectorMatrix的[x]
是这样排序的?
\begin{equation}
\begin{bmatrix}
u1 \\
v2\\
w3\\
vdots\\
ui\\
vi\\
wi\\
\end{bmatrix}
\end{equation} -
公式怎么不显示?测试下
\begin{equation}
\begin{bmatrix}
u_1\\
u_2\\
...\\
u_n
\end{bmatrix}
\end{equation} -
我是不是不能编辑帖子0.0
-
你的可以显示,可能是我写的有点问题
-
-
就比如UEqn,是三个方向的标量组成的三个方程对应的独立的三个系数矩阵,还是三个方向上的标量组合在一起的?
-
是三个方向的标量组成的三个方程对应的独立的三个系数矩阵,
你可以理解为$u_1$,$u_2$,$u_3$三个独立的方程 -
@东岳
我一直是这么理解的,可是为什么fvVectorMatrix的D()方法返回的是一个标量场,照理说是不是应该是三个独立的系数矩阵中相同位置对角线元素构成的一个向量场吗? -
因为三个分量离散后的矩阵系数是一样的
-
想了下,如果不考虑边界条件的情况下的确是一样的,看了下fvMatrix的父类lduMatrix,里面的的upper diag 和lower的确都是scalarField。
但是如果我需要添加一个各向异性的隐式源项三个方向的lduMatrix应该就不一样了吧?
-
又研究了一下明白了:如果手动添加各项异性的全隐式源项,
需要拷贝一份A()并且构造成为张量,然后添加隐式源项,之后再构造HbyA,这样就能将各向异性的源线用全隐的方式添加到面通量上面了。