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. 利用codeStream设置相分数初始场

利用codeStream设置相分数初始场

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

    大家好,
    我想利用codeStream设置相分数初始场,比如盐水-淡水按照线性分层变化,但是编译总出错,1-Solution.pdf ,请大家提供点其他参考资料吧!谢谢

    internalField #codeStream
    {
        codeInclude
        #{
            #include "fvCFD.H"
        #};
    
        codeOptions
        #{
            -I$(LIB_SRC)/finiteVolume/lnInclude \
            -I$(LIB_SRC)/meshTools/lnInclude
        #};
    
        codeLibs
        #{
            -lmeshTools \
            -lfiniteVolume
        #};
    
        code
        #{
            const IOdictionary& d = static_cast<const IOdictionary&>(dict);
            const fvMesh& mesh = refCast<const fvMesh>(d.db());
            scalarField alpha.air(mesh.nCells(), 1.0);
            scalarField alpha.water(mesh.nCells(), 0.0);        
            scalarField alpha.saltwater(mesh.nCells(), 0.0);        
     
            scalar D = 0.0252;
            scalar ymin = -4.48*D;
            scalar ymax = 5.82*D; 
            scalar alpha_min = 0;
            scalar alpha_max = 1;       
    
            forAll(alpha.water,i)
            {
                const scalar x = mesh.C()[i][0];
                const scalar y = mesh.C()[i][1];
                const scalar z = mesh.C()[i][2];
                if ( (y >= ymin) && (y <= ymax) ) 
                   {
                       alpha.water[i] = alpha_min+(alpha_max-alpha_min)*(y-ymin)/(ymax-ymin));
                       alpha.saltwater[i] = 1.0-alpha.water[i];
                       alpha.air[i] = 0;
                   }                
            }  
    
        #};
    };
    
    队长别开枪队 1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 chengan.wang 最后由 编辑
    #2

    @chengan-wang 变量名不能包含dot

    chengan.wangC 1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 队长别开枪 最后由 编辑
    #3

    @队长别开枪 您好,我的算例涉及到三种相分数,alpha.air,alpha.water,alpha.saltwater,我该怎么定义呢?

    1 条回复 最后回复
  • T 在线
    T 在线
    Tens 神
    写于 最后由 Tens 编辑
    #4

    codeStream可以在求解器里设置的吗,怎么还涉及到编译。我一直以为只能在初始条件设置,想问下codeStream是写在哪个文件里

    1 条回复 最后回复
  • T 在线
    T 在线
    Tens 神
    写于 最后由 编辑
    #5

    @tens 如果是在初始条件里写的:1.假设在alpha.water文件里写的,不确定是否可同时对saltwater和air初始化。2.writeEntry这句没写,不确定是否有影响

    1 条回复 最后回复

  • 登录

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