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. foam-extend中block coulpled方法添加laplacian项

foam-extend中block coulpled方法添加laplacian项

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

    各位大佬,现想利用fe中的block couple方法耦合求解,需要耦合的项是laplacian项,但是现在fe5.0中没有该方法,于是我自己添加。一顿操作后,编译遇到如下问题,始终没能定位问题出在哪,求大佬指导一二。

    In file included from /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/PtrList.H:315,
    from /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/List.C:30,
    from /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/List.H:291,
    from /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/labelList.H:36,
    from /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/Pstream.H:43,
    from /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/OPstream.H:35,
    from /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/parRun.H:35,
    from /home/dong/foam/foam-extend-5.0/src/finiteVolume/lnInclude/fvCFD.H:4,
    from pbFourEqnsTwoPhaseFoam.C:43:
    /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/PtrList.C: In instantiation of ‘Foam::PtrList<T>::PtrList(const Foam::PtrList<T>&) [with T = Foam::CoeffField<double>]’:
    /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/FieldField.C:143:28: required from ‘Foam::FieldField<Field, Type>::FieldField(const Foam::FieldField<Field, Type>&) [with Field = Foam::CoeffField; Type = double]’
    /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/BlockLduMatrix.C:84:28: required from ‘Foam::BlockLduMatrix<Type>::BlockLduMatrix(const Foam::BlockLduMatrix<Type>&) [with Type = double]’
    /home/dong/foam/foam-extend-5.0/src/finiteVolume/lnInclude/BlockLduSystem.C:99:24: required from ‘Foam::BlockLduSystem<blockType, sourceType>::BlockLduSystem(const Foam::BlockLduSystem<blockType, sourceType>&) [with blockType = double; sourceType = double]’
    pTEqn.H:73:70: required from here
    /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/PtrList.C:54:18: error: invalid conversion from ‘Foam::Field<double>’ to ‘Foam::CoeffField<double>’ [-fpermissive]
    54 | ptrs_[i] = (a[i]).clone().ptr();

    长风破浪会有时,直挂云帆济沧海

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    不好整了,代码里面都蒙了,
    大佬最近玩这个了?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    yhdthuY 1 条回复 最后回复
  • yhdthuY 离线
    yhdthuY 离线
    yhdthu 大神
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 岳哥,别笑话我,求教我咋搞他:zoule:

    长风破浪会有时,直挂云帆济沧海

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    写于 最后由 编辑
    #4

    @yhdthu 大佬,以下是问gpt的回复,不知道对不对:

    这个编译错误提示显示在PtrList.C文件的第54行,表明在这一行代码中存在从Foam::Field<double>到Foam::CoeffField<double>的无效转换。
    
    该转换无效的原因可能是因为ptrs_[i]的类型是Foam::CoeffField<double>*,但尝试将Foam::Field<double>类型的对象赋给它是不允许的。
    
    要解决这个问题,您可以尝试以下几种方法:
    1. 确保在您的代码中正确使用了正确的类型。检查PtrList.C中的指针类型和涉及到的其他类型是否匹配。
    2. 查看代码中是否存在其他地方对ptrs_成员进行了赋值操作,确认这些赋值是否类型匹配。 
    3. 考虑修改代码以确保在赋值时进行正确的类型转换或者使用适当的类来替换。
    
    您可以检查PtrList.C文件中的相关代码,特别是第54行的内容,以了解更多上下文并尝试解决这个问题。如果需要更多帮助,请提供更多的代码或上下文信息。
    
    1 条回复 最后回复
  • thegameT 离线
    thegameT 离线
    thegame
    写于 最后由 编辑
    #5

    大佬问题解决了吗,看你贴的报错信息貌似是代码里面这段直接”=“出错了?
    /home/dong/foam/foam-extend-5.0/src/foam/lnInclude/PtrList.C:54:18: error: invalid conversion from ‘Foam::Field<double>’ to ‘Foam::CoeffField<double>’ [-fpermissive]
    54 | ptrs_[i] = (a[i]).clone().ptr();

    1 条回复 最后回复

  • 登录

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