动网格库中如何增加使用运行时间runtime的功能
-
求助各位,我想在sixDoFRigidBodyMotion库下的linearSpring子库中添加与运行时间runtime相关的功能,采用了多种方法如
scalar TT = mesh.time();
还有
const Time& TT = mesh.time();
或者
scalar TT = runTime.value();
但是编译时均会报同样一个错误:
‘runTime’或者‘mesh’ was not declared in this scope
这个子库里原本没有与时间相关的东西,不知道是头文件的问题还是什么,也在网上找了蛮多相关的资料,但是帮助都不大,请各位大佬指点。
-
@星星星星晴 首先很感谢你的回复,你提供的方法,在其他源库里也参考过类似的引用格式,但是上机编译会出现两个问题:
‘fvMesh’ was not declared in this scope
error: ‘const class Foam::sixDoFRigidBodyMotionRestraints::mylinearSpring’ has no member named ‘owner’ const fvMesh& mesh = this->owner().mesh();
前者通过添加头文件“fvMesh.H”可以解决,但是后者仍没有思路。这个报错应该是在说这个库里没有叫owner的成员?我看其他库里有引用internalFields这个成员的,我不清楚我这个该如何判断引用哪个成员
-
@tens 感谢您的回复,我试着把这个头文件加入到.C文件中,但是对编译结果貌似并没有作用,报错是一样的。已经把我觉得可能能用到的头文件都放进去了
#include "mylinearSpring.H" #include "addToRunTimeSelectionTable.H" #include "sixDoFRigidBodyMotion.H" // Foam classes #include "OFstream.H" #include "IFstream.H" #include "Vector.H" // std classes #include <stdio.h> #include <fstream> #include <iostream> #include <string.h> #include <stdlib.h> #include "pointPatchFields.H" #include "addToRunTimeSelectionTable.H" #include "Time.H" #include "polyMesh.H" #include "fixedValuePointPatchField.H" #include "fvCFD.H" #include "fvMesh.H" #include "volFields.H"