OpenFoam 获取每个点的坐标向量
- 
							
							
							
							
各位朋友: 我想通过计算得到U在切向和轴向的速度分量,所以要用到如下的公式: Uradial = vector(position) & U / mag( vector(position))读取U场数据用如下代码: IOobject Uheader ( "U" runTime.timeName(), mesh, IOobject::MUST_READ );可是在读取各个网格中心坐标的时候,遇到了问题,我的代码如下: void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh) { //bool writeResults = !args.optionFound("noWrite"); IOobject Uheader ( "U", runTime.timeName(), mesh, IOobject::MUST_READ ); // Check U exists if (Uheader.headerOk() ) { Info<< " Reading U" << endl; volVectorField U(Uheader, mesh); // 读取各个网格中心点的坐标 volVectorField& centres = mesh.C().internalField(); // 由于mesh.C()在网格内部返回的是中心点的坐标,在网格边界处返回的是面心坐标,所以用.internalField(),可是在这儿报错 volScalarField URadial ( IOobject ( "URadial", runTime.timeName(), mesh ), ((centres - centres.component(2) ) & U) //mag ((mesh.C() - (0., 0., mesh.C().component(2))) //这个地方我想得到一个平行于z轴的坐标,方法是用这一点的位置向量减去(0, 0, z)可是系统报错告诉我不能这样减。 ); } else { Info<< " Missing p or T" << endl; } Info<< "\nEnd\n" << endl; }我想问一下,如果想实现mesh.C()- (0, 0, z)的话,需要怎么做? 非常感谢! 
 Janry
 
			