请教各位一个对coneNozzleInjection模型修改的问题



  • 0_1539872309159_7d36836b-df9e-4e45-aa3b-6e47f62511e1-image.png
    由于本人在计算液滴雾化过程时需要设置如上图所示呈锥角分布的进口颗粒速度,其中直径较大颗粒速度分布角度范围较小,而小颗粒分布范围较大,因此打算对coneNozzleInjection模型基础上进行一些修改,下图为我修改后的代码:
    0_1539872953467_1431056257.jpg
    我添加了一小段通过判断粒子直径来给出颗粒初始速度矢量的内外锥角的条件,对模型用wmake编译后,运行算例,结果发现颗粒的分布与原模型计算结果没有变化,想请问是否是我编译运行哪里不对?


  • CORE 网格教授 OpenFOAM教授 管理员

    如果编译通过,就不应该是编译的不对。可能只不过效果不太好



  • @东岳 请问老师,修改模型后我是直接在模型所在的src下进行编译?还是说需要把我用的求解器也要重新编译一次?


  • CORE 网格教授 OpenFOAM教授 管理员

    这个不好说,大部分直接编译src就行,但有些时候也需要编译求解器。不放心就都编译一下。



  • @东岳 老师,我在上面第一张图片所示的位置添加了一行

    printf("-------------Reach Here;--------------");
    

    想看一下编译后求解器是不是调用这个成员函数,结果运行后终端并未输出我设置的字符(代码位于ConeNozzleInjection.C文件中);
    当我将代码写入InjectionModel.C文件中时,终端能输出此行字符串。这是表明sprayfoam求解器在求解时只调用InjectionModel.C,而不是调用ConeNozzleInjection.C吗?但是我在算例中设置的确实是coneNozzleInjection,请问这是怎么回事?


  • CORE 网格教授 OpenFOAM教授 管理员

    你的lib叫什么名字?新名字的话,需要在求解器里面调用新的lib。去你的求解器Make/options下,把原有的替换掉



  • @东岳 老师,我重新把coneNozzleInjectionModel文件全部复制到一个新的文件夹下,然后重命名为MyInjection然后将模型文件MyInjection.C与MyInjection.H中的模型名称coneNozzleInjection全部替换成MyInjection,编译完成后运行sprayFoam发现关键字myInjection并不能被识别为可用的颗粒喷射模型。下图为我运行求解器的结果:
    0_1540376406398_2018-10-24 18-17-46 的屏幕截图.png
    其中颗粒喷射子模型修改我是参照下面地址所示的步骤进行的:https://openfoamwiki.net/index.php/Howto_addSpraySubModels
    0_1540376624909_2018-10-24 18-22-03 的屏幕截图.png
    请问老师,这是不是哪里文件没有修改造成的?


 

Forest
Mountains