新手小白求教,有没有能够通过读取向量文件数据获取动边界速度的功能
-
@coolhhh 大佬,我这边在velocityLaplacianFvMotionSolver.C添加了读取文件的代码pointmotionU_.read();文件的确是每个时步都被读取了,但是读取的边界条件一直是修改之前的。我还采用赋值的方法强行给pointmotionU_赋值,代码如下
强制读取当前时刻修改后的pointmotionu的数据存到temppointmotionu中然后再赋给pointmotionu,两个结果都在运算中打印出来了,结果发现,temppointmotionu是成功读取修改后数据的,但是赋值后的pointmotionu依旧是修改前的数据。是否是该类型无法被直接赋值,望指点。 -
- 看起来没问题,我也按照你的问题写了个简单例子测试,输出结果是正确的。
#include "fvCFD.H" class Parent { protected: int protectedVar = 5; public: void modifyVariable() { int tmp = 10; int tmp2 = tmp; Parent::protectedVar = tmp; Info << "tmp2 = " << tmp2 << nl << endl; Info << "Parent::protectedVar = " << Parent::protectedVar << nl << endl; } }; class Child : public Parent { public: void accessParentFunction() { Parent::modifyVariable(); Info << "Child::protectedVar = " << Parent::protectedVar << nl << endl; } }; int main(int argc, char *argv[]) { #include "setRootCase.H" Child child; child.accessParentFunction(); Info<< "End\n" << endl; return 0; }
- 看到
velocityMotionsolver.H
函数中有个返回引用函数:pointVectorField& pointMotionu()
,试试能不能创建一个引用,然后修改引用的值,看看结果会不会变化。
pointVectorField& pointMotionURef = pointMotionU(); pointMotionURef = tempPointMotionU; Info << "pointMotionURef = " << pointMotionURef << endl; Info << "pointMotionU = " << pointMotionU_ << endl;
-