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
10 帖子 4 发布者 6.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 星 离线
    星 离线
    星星星星晴
    写于 最后由 编辑
    #1

    各位大神好,

    我想咨询一下如何能让properties文件中的变量可以从别的文档中读取?

    情况是这样的,如下,injectionmodel的设置中,因为我有31个injection model,而且每个injection都有些许不同,因此我就有很多参数需要设置, (Din和Dout是举例)。 这就导致了我的KinematicCloudProperties文件一共有3000....。

    我的想法是每一个参数放到一个dictionary文件中,这样我就需要几个文件放到constant文件夹中就可以,这样会精简很多。

    Din1	0	;
    Din2	0.001	;
    Din3	0.003	;
    Din4	0.005	;
    Din5	0.007	;
    Din6	0.009	;
    Din7	0.011	;
    Din8	0.013	;
    Din9	0.015	;
    Din10	0.017	;
    Din11	0.019	;
    Din12	0.021	;
    Din13	0.023	;
    Din14	0.025	;
    Din15	0.027	;
    Din16	0.029	;
    Din17	0.031	;
    Din18	0.033	;
    Din19	0.035	;
    Din20	0.037	;
    Din21	0.039	;
    Din22	0.041	;
    Din23	0.043	;
    Din24	0.045	;
    Din25	0.047	;
    Din26	0.049	;
    Din27	0.051	;
    Din28	0.053	;
    Din29	0.055	;
    Din30	0.057	;
    Din31	0.059	;
    
    Dout1	0.001	;
    Dout2	0.003	;
    Dout3	0.005	;
    Dout4	0.007	;
    Dout5	0.009	;
    Dout6	0.011	;
    Dout7	0.013	;
    Dout8	0.015	;
    Dout9	0.017	;
    Dout10	0.019	;
    Dout11	0.021	;
    Dout12	0.023	;
    Dout13	0.025	;
    Dout14	0.027	;
    Dout15	0.029	;
    Dout16	0.031	;
    Dout17	0.033	;
    Dout18	0.035	;
    Dout19	0.037	;
    Dout20	0.039	;
    Dout21	0.041	;
    Dout22	0.043	;
    Dout23	0.045	;
    Dout24	0.047	;
    Dout25	0.049	;
    Dout26	0.051	;
    Dout27	0.053	;
    Dout28	0.055	;
    Dout29	0.057	;
    Dout30	0.059	;
    Dout31	0.061	;
    
    
    model2
    		{
    			type            ConeNozzleInjection2;
    			SOI             $soi;
    			massTotal       $masstotal2;
    			parcelBasisType fixed;
    			nParticle		$np2;
    
    			injectionMethod disc;
    			flowType        constantVelocitywithdev;
    			//PinJ 7e5;
    
    			UMag $UMag2;
    			outerDiameter   $Dout2;
    			innerDiameter   $Din2;
    			duration        $duration1;
    			position        $position1;
    			direction       $direction1;
    			parcelsPerSecond $PPS;
    			flowRateProfile $flowrateprofile2;
    			Cd              $dragcoef;
    
    			thetaInner      constant $thetain2;
    			thetaOuter      constant $thetaout2;
    
    			devPadU0			0.035;									//velocity standard deviation
    			devPadW0			1.6;									//angular velocity (standard deviation) [1/s]
    
    			injectiondevPadUx	$injectiondevPadUx2;									//velocity standard deviation
    			injectiondevPadUy	$injectiondevPadUy2;
    			injectiondevPadUz	$injectiondevPadUz2;
    
    			/*sizeDistribution
    			{
    
    				type        MPS_normal;
    
    				MPS_normalDistribution	//size distribution
    				{
    					expectation			0.00015;
    					variance	 		0.000081;
    					maxValue			0.000034200;
    					minValue			0.000000220;
    
    				}
    			}*/
    			
    			MPSVelocityDistribution
    			{
    				type			MPS_normal;
    				MPS_normalDistribution
    				{
    					expectation		0;
    					variance	 	1;
    					maxValue		4;
    					minValue		-4;
    				}
    			}
    			sizeDistribution
    			{
    			   type        RosinRammler;
    
    			   RosinRammlerDistribution
    			   {
    			       minValue        $rrmin;
    			       maxValue        $rrmax;
    			       d               $rrd2;
    			       n               $rrn2;
    			   }
    			}
    		}
    
    

    我的理想状态是

    model24
    		{
    			type            ConeNozzleInjection2;
    			SOI             $soi;
    			massTotal       “$FOAM_CASE/injectionparameter/massTotal.masstotal24”;
    			parcelBasisType fixed;
    			nParticle	“$FOAM_CASE/injectionparameter/nP.nP24”;
    			UMag             “$FOAM_CASE/injectionparameter/UMag.UMag24”;
    			injectionMethod disc;
    			flowType        constantVelocitywithdev;
    			//PinJ 7e5;
    
    			massTotal       $masstotal24;
    			outerDiameter    “$FOAM_CASE/injectionparameter/Dou.Dou24”;
    			innerDiameter    “$FOAM_CASE/injectionparameter/Din.Din24”;
    			duration        $duration1;
    			position        $position1;
    			direction       $direction1;
    			parcelsPerSecond $PPS;
    			flowRateProfile $flowrateprofile2;
    			Cd              $dragcoef;
    
    			thetaInner       “$FOAM_CASE/injectionparameter/thetaInner.theInner24”;
    			thetaOuter      constant $thetaout24;
    
    			devPadU0			0.035;									//velocity standard deviation
    			devPadW0			1.6;									//angular velocity (standard deviation) [1/s]
    
    			injectiondevPadUx	$injectiondevPadUx24;									//velocity standard deviation
    			injectiondevPadUy	$injectiondevPadUy24;
    			injectiondevPadUz	$injectiondevPadUz24; 
    
    			/*sizeDistribution
    			{
    
    				type        MPS_normal;
    
    				MPS_normalDistribution	//size distribution
    				{
    					expectation			0.00015;
    					variance	 		0.000081;
    					maxValue			0.000034200;
    					minValue			0.000000220;
    
    				}
    			}*/
    			
    			MPSVelocityDistribution
    			{
    				type			MPS_normal;
    				MPS_normalDistribution
    				{
    					expectation		0;
    					variance	 	1;
    					maxValue		4;
    					minValue		-4;
    				}
    			}
    			sizeDistribution
    			{
    			   type        RosinRammler;
    
    			   RosinRammlerDistribution
    			   {
    			       minValue        $rrmin;
    			       maxValue        $rrmax;
    			       d               $rrd24;
    			       n               $rrn24;
    			   }
    			}
    		}
    

    游荡

    1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    写于 最后由 编辑
    #2

    请教一下 这个该怎么改, OF4.1

    游荡

    1 条回复 最后回复
  • 浪 离线
    浪 离线
    浪迹天大
    写于 最后由 编辑
    #3

    是这样的吗?

            model1
            {详细设置所有项目}
            model2
            {
                // The same as model1, but at a different position
                $model1;
                position        (-0.15 0.1 0);
            }
    

    OpenFOAM 学习交流:https://openfoam.top

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 浪迹天大 最后由 编辑
    #4

    @浪迹天大
    谢谢 不是这样,是这些参数都放到另外一个文档。

    model1
    {
          massTotal       “$FOAM_CASE/injectionparameter/massTotal.masstotal24”;
    }
    

    游荡

    1 条回复 最后回复
  • Y 离线
    Y 离线
    yfclark 神
    写于 最后由 编辑
    #5

    @星星星星晴 在 咨询,关于文件读写的问题 中说:

    ConeNozzleInjection

    ConeNozzleInjection好像不能在一个model里面设置多个injectors,@浪迹天大 的方法可以实现你要的效果,就是有点麻烦,你可以尝试用python等脚本语言写一个生成类似@浪迹天大 所说的多个injectModel的脚本,每次运行算例前,用python读取文件做一个预处理

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 yfclark 最后由 编辑
    #6

    @yfclark 谢谢

    游荡

    1 条回复 最后回复
  • 浪 离线
    浪 离线
    浪迹天大
    写于 最后由 编辑
    #7

    就在今天,Henry Weller 亲自帮你实现了这个功能:high:
    https://github.com/OpenFOAM/OpenFOAM-dev/commit/a7b842569064ede1574a77210b731904a206182a
    我很好奇你的需求是如何上达天听的

    OpenFOAM 学习交流:https://openfoam.top

    浪 星 2 条回复 最后回复
  • 浪 离线
    浪 离线
    浪迹天大
    在 中回复了 浪迹天大 最后由 编辑
    #8

    @浪迹天大 测试例子:
    https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/applications/test/dictionary/testSlashDict
    其中的 external 和 active2 都读取自另一个文件 testSlashDict2。

    OpenFOAM 学习交流:https://openfoam.top

    1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 浪迹天大 最后由 编辑
    #9

    @浪迹天大
    全凭运气 :high:
    ps:我读书少, 上达天听是这个意思么?
    https://zhidao.baidu.com/question/115876542.html

    游荡

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

    :tishizi:

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

    1 条回复 最后回复

  • 登录

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