CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    动网格库中如何增加使用运行时间runtime的功能

    OpenFOAM
    3
    6
    441
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • A
      AXY 0 最后由 编辑

      求助各位,我想在sixDoFRigidBodyMotion库下的linearSpring子库中添加与运行时间runtime相关的功能,采用了多种方法如

      scalar TT = mesh.time();
      

      还有

      const Time& TT = mesh.time();
      

      或者

       scalar TT = runTime.value();
      

      但是编译时均会报同样一个错误:

      ‘runTime’或者‘mesh’ was not declared in this scope
      

      这个子库里原本没有与时间相关的东西,不知道是头文件的问题还是什么,也在网上找了蛮多相关的资料,但是帮助都不大,请各位大佬指点。

      1 条回复 最后回复 回复 引用
      • 星
        星星星星晴 最后由 编辑

        不一定好使,试试看

        	const fvMesh& mesh = this->owner().mesh();
        	const scalar dt = mesh.time().deltaTValue();
        	scalar timeValue = mesh.time().timeOutputValue();
        
            const Time& time = mesh.time();
            scalar timeNew = time.value();
        
        

        m.sui20@foxmail.com

        A 1 条回复 最后回复 回复 引用
        • A
          AXY 0 @星星星星晴 最后由 编辑

          @星星星星晴 首先很感谢你的回复,你提供的方法,在其他源库里也参考过类似的引用格式,但是上机编译会出现两个问题:

          ‘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这个成员的,我不清楚我这个该如何判断引用哪个成员

          T 1 条回复 最后回复 回复 引用
          • T
            Tens 讲师 @AXY 0 最后由 编辑

            试试这个头文件

            #include "fvCFD.H"
            
            A 1 条回复 最后回复 回复 引用
            • A
              AXY 0 @Tens 最后由 编辑

              @tens 感谢您的回复,我试着把这个头文件加入到.C文件中,但是对编译结果貌似并没有作用,报错是一样的。已经把我觉得可能能用到的头文件都放进去了:135:

              #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"
              
              T 1 条回复 最后回复 回复 引用
              • T
                Tens 讲师 @AXY 0 最后由 编辑

                此回复已被删除!
                1 条回复 最后回复 回复 引用
                • First post
                  Last post