OpenFOAM小代码
- 
							
							
							
							
@李东岳 在 OpenFOAM小代码 中说: IOField<scalar> utau 
 (
 IOobject
 (
 "utau",
 runTime.constant(),
 "../postProcessing",
 mesh,
 IOobject::NO_READ,
 IOobject::AUTO_WRITE
 ),
 scalarField(totalFSize,0.0)
 );请问老师,如果我想要在postProcessing中输出一个标量,他只是一个数,并不是场量,我应该怎么定义他的类型。上面这种方法是不是只适应于场量的输出。我想输出的是下面c的数值。 const volScalarField& b = mesh().lookupObject<volScalarField>("alpha.liquid"); scalar c= b.weightedAverage(mesh().V()).value();
- 
							
							
							
							
IOList<scalar> utau ( IOobject ( "utau", runTime.constant(), "../postProcessing", mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), 1 ); utau[0] = b.weightedAverage(mesh().V()).value();
- 
							
							
							
							
totalLiquid { libs (utilityFunctionObjects); type coded; name totalLiquid; enabled true; writeControl timeStep; writeInterval 1; codeOptions #{ -I$(LIB_SRC)/meshTools/lnInclude #}; codeExecute #{ const volScalarField& b = mesh().lookupObject<volScalarField>("alpha.liquid"); IOList<scalar> liquidFraction ( IOobject ( "liquidFraction", mesh().time().constant(), "../postProcessing", mesh(), IOobject::NO_READ, IOobject::AUTO_WRITE ), 1 ); liquidFraction[0] = b.weightedAverage(mesh().V()).value(); #}; }东岳老师,我这样添加到controlDict里,运行后postProcessing里并没有出现liquidFraction的值。 
  
- 
							
							
							
							
							
							
@hongjiewang 在 OpenFOAM小代码 中说: totalLiquid { libs (utilityFunctionObjects); type coded; name totalLiquid; enabled true; writeControl timeStep; writeInterval 1; codeOptions #{ -I$(LIB_SRC)/meshTools/lnInclude #}; codeExecute #{ const volScalarField& b = mesh().lookupObject<volScalarField>("alpha.liquid"); IOList<scalar> liquidFraction ( IOobject ( "liquidFraction", mesh().time().constant(), "../postProcessing", mesh(), IOobject::NO_READ, IOobject::AUTO_WRITE ), 1 ); liquidFraction[0] = b.weightedAverage(mesh().V()).value(); #}; }东岳老师,我这样添加到controlDict里,运行后postProcessing里并没有出现liquidFraction的值。 
  需要修改两个部分, 
 1.在下方添加 .write()
 2.将codeExecute改为codeWrite
 之后就可以得到想要的相含量结果。
- 
							
							
							
							
							
							
meanDiameter { type coded; libs ("libutilityFunctionObjects.so"); name error; codeExecute #{ const volScalarField& d = mesh().lookupObject<volScalarField>("d.alpha.oil"); scalar d32 = d.weightedAverage(mesh().V()).value(); if (Pstream::master()) { std::ofstream file; file.open ("d32", std::ofstream::out | std::ofstream::app); file << mesh().time().timeName() << " " << d32 << "\n"; file.close(); } #}; }我最近也凑巧要用这个,我用的上面这种方式。 
- 
							
							
							
							
							
							
@hongjiewang 在 OpenFOAM小代码 中说: @李东岳 目前我需要将温度边界和压力边界定义为随相含量变化的一个场。我只可以做到变化之后的也是同一类边界条件,但是像下图中的气相区压力是第一类边界条件,液相区温度是第二类边界条件。请问这种变边界类型的边界应该怎么定义~  已解决压力的~但是温度的第二类和第三类的转换还没有解决~ 
- 
	 李 李东岳 被引用 于这个主题 李 李东岳 被引用 于这个主题
- 
	 李 李东岳 被引用 于这个主题 李 李东岳 被引用 于这个主题
- 
	 李 李东岳 被引用 于这个主题 李 李东岳 被引用 于这个主题
- 
							
							
							
							
李老师您好,请问输出努塞尔数代码是直接放进去吗?还是里边的部分数据需要进行修改呢  ? ?
- 
							
							
							
							
@2019201300 这个我太久之前写的。已经忘了。但是这个代码只是提供案例。具体数值大概率需要自己改一下。直接放在controlDict下面。 
 
			



 我是不是应该声明点啥呢?我也查了网上的,发现全是在inlet使用这个功能,然后入口是patch
我是不是应该声明点啥呢?我也查了网上的,发现全是在inlet使用这个功能,然后入口是patch 又显示了mesh没有声明....
 又显示了mesh没有声明....