Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 编译体积力时遇到的小报错

编译体积力时遇到的小报错

已定时 已固定 已锁定 已移动 OpenFOAM
1 帖子 1 发布者 1.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • J 离线
    J 离线
    Joann
    写于 最后由 编辑
    #1

    在学习用openfoam做自航的时候想尝试用体积力模型替代桨模型产生的推力,这需要引入体积力模型。
    在编译时有遇到一点小问题,关于未定义引用,请问要怎么正确引用,解决这个报错提示使得编译成功?
    首先这是wmake出现的提示:

    /usr/bin/ld.bfd: /home/dyfluid/OpenFOAM/OpenFOAM-7/platforms/linux64GccDPInt32Opt/applications/solvers/multiphase/waveProp/waveProp.o: in function `main.cold':
    waveProp.C:(.text.unlikely+0x49d): undefined reference to `Foam::functionObjects::forces::~forces()'
    /usr/bin/ld.bfd: /home/dyfluid/OpenFOAM/OpenFOAM-7/platforms/linux64GccDPInt32Opt/applications/solvers/multiphase/waveProp/waveProp.o: in function `main':
    waveProp.C:(.text.startup+0x8bc9): undefined reference to `Foam::functionObjects::forces::forces(Foam::word const&, Foam::objectRegistry const&, Foam::dictionary const&)'
    /usr/bin/ld.bfd: waveProp.C:(.text.startup+0x8bed): undefined reference to `Foam::functionObjects::forces::calcForcesMoment()'
    /usr/bin/ld.bfd: waveProp.C:(.text.startup+0x8bfc): undefined reference to `Foam::functionObjects::forces::forceEff() const'
    /usr/bin/ld.bfd: waveProp.C:(.text.startup+0xa444): undefined reference to `Foam::functionObjects::forces::~forces()'
    collect2: error: ld returned 1 exit status
    make: *** [/home/dyfluid/OpenFOAM/OpenFOAM-7/wmake/makefiles/general:142: /home/dyfluid/OpenFOAM/OpenFOAM-7/platforms/linux64GccDPInt32Opt/bin/waveProp] Error 1
    

    对应文件bodyForce.H中定义体积力的部分:

    // Define the (cylindrical) region for the body force from dictionary values
    const scalar yProp (readScalar(bodyForceDict.lookup("yProp")));
    const scalar zProp (readScalar(bodyForceDict.lookup("zProp")));
    const scalar xPropmin (readScalar(bodyForceDict.lookup("xPropmin")));
    const scalar xPropmax (readScalar(bodyForceDict.lookup("xPropmax")));
    const scalar tipRadius (readScalar(bodyForceDict.lookup("tipRadius")));
    const scalar hubRadius (readScalar(bodyForceDict.lookup("hubRadius")));
    
    Foam::functionObjects::forces F
     (
       "forces",
        mesh,
        dragForceDict
     );
    F.calcForcesMoment();//这里未定义引用,该如何修改?
    vector force =F.forceEff();//这里未定义引用,该如何修改?
    scalar drag = force.x();//这里未定义,该如何修改?
    Info << "Thrust = " << drag << endl;
    scalar thrust = 1.1*drag; //Considering 10% more
    

    Hello, CFD. Hello, OpenFOAM.

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]