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. new cannot satisfy memory request

new cannot satisfy memory request

已定时 已固定 已锁定 已移动 OpenFOAM
10 帖子 2 发布者 6.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • H 离线
    H 离线
    hongjiewang
    写于2021年4月28日 07:18 最后由 编辑
    #1

    运行算例的时候,出现了这样的错误。

    new cannot satisfy memory request.
    This does not necessarily mean you have run out of virtual memory.
    It could be due to a stack violation caused by e.g. bad use of pointers or an out of date shared library
    

    通过Info输出,判断是mixture这个指针出现了问题,求解器中关于mixture的定义如下:

        Info<< "reading mixtureFluid\n" << endl;
        mixtureFluid.set
        (
           i,  
           temperaturePhaseChangeTwoPhaseMixture::New
           (
              thermoFluid[i],
              fluidRegions[i]
           ).ptr()  
        );
    
     temperaturePhaseChangeTwoPhaseMixture& mixture = mixtureFluid[i];
    

    先是重新编译了涉及到的库和求解器;
    也更换了工作站进行运行;
    网格数有59万,也不是网格太多内存不够的问题。
    还是出现同样的错误,请问我应该怎么修改~谢谢大家

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2021年4月28日 09:59 最后由 编辑
    #2

    i的数量有没有溢出?

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

    H 1 条回复 最后回复 2021年4月28日 11:22
  • H 离线
    H 离线
    hongjiewang
    在 2021年4月28日 11:22 中回复了 李东岳 最后由 编辑
    #3

    @李东岳
    感谢东岳老师回复,我检查的时候发现网格出现了错误。
    我是从ICEM画好网格导入进来的,第一步fluentMesh3DToFoam后checkMesh是没有错的;

    Checking basic cellZone addressing...
        CellZone            Cells        Points       Volume       BoundingBox
        FLUID               1347108      1388240      1.11022e-09  (-5.19735e-11 -7.56339e-18 -5.51343e-11) (0.001 0.001167 0.001)
        SOLID               429128       450800       2.2278e-10   (-5.19735e-11 0.001 -5.51343e-11) (0.001 0.001333 0.001)
    
    Checking geometry...
        Overall domain bounding box (-5.19735e-11 -7.56339e-18 -5.51343e-11) (0.001 0.001333 0.001)
        Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
        Mesh has 3 solution (non-empty) directions (1 1 1)
        Boundary openness (2.20986e-15 -2.97635e-15 6.02407e-17) OK.
        Max cell openness = 3.08974e-16 OK.
        Max aspect ratio = 20.3769 OK.
        Minimum face area = 1e-12. Maximum face area = 3.46597e-10.  Face area magnitudes OK.
        Min volume = 1.26582e-17. Max volume = 4.3873e-15.  Total volume = 1.333e-09.  Cell volumes OK.
        Mesh non-orthogonality Max: 0.00311489 average: 4.38178e-05
        Non-orthogonality check OK.
        Face pyramids OK.
        Max skewness = 0.000137648 OK.
        Coupled point location match (average 0) OK.
    
    Mesh OK.
    
    End
    

    在我把流体域和固体域分开之后,splitMeshRegions -cellZonesOnly -overwrite,再次checkMesh就会有不垂直的边导致报错

    Checking patch topology for multiply connected surfaces...
        Patch               Faces    Points   Surface topology                  
        HEAT                11534    11760    ok (non-closed singly connected)  
        FRONTANDBACK        44968    45570    ok (non-closed singly connected)  
        SYMMETRY            24332    24800    ok (non-closed singly connected)  
        BOTTOM              11534    11760    ok (non-closed singly connected)  
    
    Checking faceZone topology for multiply connected surfaces...
        FaceZone            Faces    Points   Surface topology                  
        int_FLUID           4000572  1388228  multiply connected (shared edge)  
        int_SOLID           1265994  450788   multiply connected (shared edge)  
        INTERFACE           15958    16240    ok (non-closed singly connected)  
      <<Writing 1820730 conflicting points to set nonManifoldPoints
    
    Checking basic cellZone addressing...
        CellZone            Cells        Points       Volume       BoundingBox
        FLUID               1347108      1388240      1.11022e-09  (-5.19735e-11 -7.56339e-18 -5.51343e-11) (0.001 0.001167 0.001)
        SOLID               429128       450800       2.2278e-10   (-5.19735e-11 0.001 -5.51343e-11) (0.001 0.001333 0.001)
    
    Checking geometry...
        Overall domain bounding box (-5.19735e-11 -7.56339e-18 -5.51343e-11) (0.001 0.001333 0.001)
        Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
        Mesh has 2 solution (non-empty) directions (1 1 0)
    ***Number of edges not aligned with or perpendicular to non-empty directions: 14980
      <<Writing 28261 points on non-aligned edges to set nonAlignedEdges
        Boundary openness (2.20986e-15 -2.97635e-15 6.02407e-17) OK.
        Max cell openness = 3.08974e-16 OK.
        Max aspect ratio = 20.3769 OK.
        Minimum face area = 1e-12. Maximum face area = 3.46597e-10.  Face area magnitudes OK.
        Min volume = 1.26582e-17. Max volume = 4.3873e-15.  Total volume = 1.333e-09.  Cell volumes OK.
        Mesh non-orthogonality Max: 0.00311489 average: 4.38178e-05
        Non-orthogonality check OK.
        Face pyramids OK.
        Max skewness = 0.000137648 OK.
        Coupled point location match (average 0) OK.
    
    Failed 1 mesh checks.
    
    End
    

    在ICEM中,我是把两个block(fluid 和 solid)的交界面定义为一个part:interface,请问是我的交接面定义出错了吗?

    李 1 条回复 最后回复 2021年4月28日 13:36
  • H 离线
    H 离线
    hongjiewang
    写于2021年4月28日 13:26 最后由 编辑
    #4

    请问老师,我创建的一个库想从phaseChangeProperties中读取参数,但是当我算例分别创建了constant/FLUID和constant/SOLID后,我下面这样的定义是不是读不到了。我的求解器是基于chtFoam修改的~

        const IOdictionary dict
        (
            IOobject
            (
                "phaseChangeProperties",
                mesh.time().constant(),
                mesh,
                IOobject::MUST_READ,
                IOobject::NO_WRITE,
                false // Do not register
            )
        );
    

    1619616276(1).png
    1619616290(1).png

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    在 2021年4月28日 13:36 中回复了 hongjiewang 最后由 编辑
    #5

    @hongjiewang 你这个interface是有两个面么,类似interface1和interface2,还是一个无厚度的面

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

    H 1 条回复 最后回复 2021年4月28日 13:44
  • H 离线
    H 离线
    hongjiewang
    在 2021年4月28日 13:44 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 老师,是一个无厚度的交界面,是HC这个界面。
    2a88ac46db07b41e07627c84240dbe4.png

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2021年4月28日 23:54 最后由 编辑
    #7

    无厚度的面不应该是interface啊,interface是两个重叠的面,无厚度的面就是一个面。

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

    H 2 条回复 最后回复 2021年4月29日 01:38
  • H 离线
    H 离线
    hongjiewang
    在 2021年4月29日 01:38 中回复了 李东岳 最后由 编辑
    #8

    @李东岳 啊,老师,不好意思,我理解错无厚度了,以为是交界面是无厚度的意思~
    我这里确实是两个重叠的面(红色那条线是我说的交界面),在ICEM里是不是应该把两个面定义成一个interface,再放到openfoam里。
    1619660195(1).png

    1 条回复 最后回复
  • H 离线
    H 离线
    hongjiewang
    在 2021年4月30日 06:37 中回复了 李东岳 最后由 编辑
    #9

    @李东岳 老师,网格问题已经解决了~还是出现上面的错误。看您上面提到i是否溢出,如果溢出的话,其他变量应该也会读取错误吧。请问我应该如何检查是否是溢出导致的错误~

    1 条回复 最后回复
  • H 离线
    H 离线
    hongjiewang
    写于2021年4月30日 10:14 最后由 编辑
    #10

    问题已解决~因为变量不能从字典中正确读取,修改读取语句后可以正常运行

    1 条回复 最后回复
2021年4月28日 07:18

10/10

2021年4月30日 10:14

2021年4月30日 10:14
  • 登录

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