Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
貌似div(-phi,T)是从下游获得信息,逐步向前更新,-div(phi,T)是从上有更新信息。
你理解的非常正确。你应该是用了迎风格式。div(-phi,T)+迎风等于下风格式,是从下游获取信息。-div(phi,T)就是减去上游的信息。下风格式压缩性非常厉害,过分的使用会导致非常不稳定。
div(-phi,T)+迎风
-div(phi,T)
@东岳 改成了下面的方程,div(phi,T)采用Gauss upwind格式
div(phi,T)
Gauss upwind
fvScalarMatrix TtEqn ( fvm::div(phi,Tt) + Tt*fvc::div(U) + fvm::laplacian(ka,Tt) ); TtEqn.relax(); TtEqn.solve();
计算结果如下:
的确是从inlet开始更新,但在从壁面开始出现了严重的震荡,什么样的格式会好一些?
\begin{equation} \nabla\cdot(\bfU T)+T\nabla\cdot\bfU+\nabla\cdot(k\nabla T) \end{equation} 解这个方程?你这个瞬态稳态?
@东岳 对是这个方程,稳态。inlet 和wall 都是fixed value 为 0。 出口边界条件是,Tu∙n+k∇T∙n-u_n=0,我单独编写了一个出口的边界条件。
方程3的第二项可以删掉么?
@东岳 可以删掉,这一项本来为零,疏漏了。 删掉后结果一样,在壁面处有剧烈震荡。 相对于一般温度方程,导热项前面是 “+”。
你植入在了simpleFoam里面?
@东岳 对,我植入在simpleFoam 里面,增加了一个TEqn.H的头文件
fvScalarMatrix TEqn ( fvm::div(phi, T) - fvm::laplacian(Tnu, T) ); TEqn.relax(); TEqn.solve();
我加了一下,没有任何问题?你是要植入上面的方程吧?
楼主你好,我也准备用OpenFOAM做拓扑优化,请问可以指导与交流一下吗?谢谢
这是div(phi,T)与-div(phi,T)等的解释