关于提取一个面的温度场
-
各位老师,如果我对图中heatwall面的边界设置为温度梯度,计算1.5s后,想提取heatwall面上各个cell的温度,请问该如何办?如果用paraview提取的话,只能提取出一个excel表格,但是不知道哪个cell对应哪个温度,我想得到严格的一个cell对应一个温度这种结果。示意图如下:
-
严格的一个cell对应一个温度这种结果
你需要植入代码,获得cell编号和对应的温度
forAll(patches, patch) { const fvPatch& currPatch = patches[patch]; forAll(patches[patch], face) { label faceCelli = currPatch.faceCells()[face]; Info<< "边界相邻网格单元编号" << faceCelli << nl; Info<< T[faceCelli] << nl;//输出边界相邻网格单元的温度 } }
-
@东岳 李老师,您好!我现在对icoFoam这个求解器提取速度场时发生了一些错误,望指教。
描述:用您给我的代码,写入到creatFields.H文件内,如图
然后编译时候出现了如下错误:
能不能提点一下,谢谢李老师。 -
@东岳 谢谢李老师。我的求解器是v1706的interCondensatingEvaporatingFoam,若版本不合适的话,就在icoFoam(4.0版本)上编写一个提取速度场的代码,我再照着您的思路修改自己的东西。再次感谢。
1_1527062815835_interCondensingEvaporatingFoam.zip
0_1527062815815_icoFoam.zip -
@东岳 谢谢李老师,依照您的方法我已成功编译,但是log文件内输出的是所有边界的数据(例如icofoam-cavity这个算例输出的是靠近fixedwall和movingwall那一层的网格的速度),有没有方法对只输出靠近fixedwall那一层网格的速度。