OpenFOAM 中边界条件的设定【转载】

转载自:http://blog.sina.com.cn/s/blog_a0b4201d0102v7jt.html

用习惯了FLUENT的操作界面,再使用OpenFOAM就会觉得非常繁琐。遇到的第一个问题就是边界条件的设定。在FLUENT中,例如给定了一个进口边界(质量或者压力或者速度)和一个出口边界(一般是压力),并在进口处设定湍流强度就可以了,不必关心这三个量在求解的各个方程中的分配。而在OpenFOAM中,这个问题就要显得复杂的多,以k-epsl模型求解可压缩流为例为例,要求解质量守恒方程,动量守恒方程和能量守恒方程,湍动能方程以及耗散率方程,分别对应P方程,U方程,T方程,k方程和epsl方程,其中U方程是矢量方程,包含三个标量方程。在求解之前要为每个方程指定边界条件。现在的问题就是:只知道压力进口条件和压力出口回流条件,以及进出口都是室温条件,也就是说只能显式的给定P方程的进口条件和出口回流条件,T方程的进口和出口条件,而U方程的边界条件需要由已知的P方程和T方程的边界条件间接的得到。对于这个问题,OpenFOAM提供了各种各样的边界条件给定方式,多的足够让你眼花缭乱,所以非常有必要深入的扒一扒。先从OpenFOAMtutorial中给出的例子入手。

 

rhoSimplecFoam中的squareBend为例,给出了alphat,epsilon, k, mut, p, T, U 7个量的初始条件,当然也包括了边界条件。其中alphat指的是turbulence thermal

diffusivity 例子中给定的壁面边界是

compressible::alphatWallFunction; 进口边界是calculated, value uniform 0;

出口边界是 calculated, value uniform 0 epsilon指的是turbulence

kinetic energy dissipation

rate k指的是turbulence

kinetic energymut指的是turbulence

viscosity,同时alphat, epsilon, k, mut

这个几个参数都是要给定壁面条件模型的。像其他的tutorial例子中给出的也都是速度进口边界条件,跟我的算例所需要的压力进口边界条件不太吻合。

 

 

 

好在OpenFoam给出了各种不同类型的边界条件类型供大家挑选使用,(当然是在不行就只能自己写了,这才是OF最强大的的地方嘛)。具体的不同内容可以查询页面: http://openfoam.org/docs/cpp/

 

最终我选择的边界条件是:

 

U

p

T

inlet

pressureInletVelocity

totalPressure

inletOutlet

outlet

inletOutlet

totalPressure

inletOutlet

wall

fixedValue

zeroGradient

zeroGradient

 

k

Epsilon

mut

alpha

inletOutlet

inletOutlet

calculated

calculated

inletOutlet

inletOutlet

calculated

calculated

wallFunction

wallFunction

wallFunction

wallFunction

历经千辛万苦终于能够无报错运行啦

 

 

 

下面是openFoam给出的根据各种进出口条件分类的边界条件:

 

 

 

inlet boundary

conditions:

turbulentInletFvPatchField< Type >: This boundary condition generates a fluctuating inlet condition by adding a random component to a reference (mean) field.

surfaceNormalFixedValueFvPatchVectorFieldThis boundary condition provides a surface-normal vector boundary condition by its magnitude

outletMappedUniformInletFvPatchField< Type >This boundary conditon averages the field over the "outlet" patch specified by name "outletPatchName" and applies this as the uniform value of the field over this patch

outletInletFvPatchField< Type >This boundary condition provides a generic inflow condition, with specified outflow for the case of return flow

freestreamFvPatchField< Type >This boundary condition provides a free-stream condition. It is a 'mixed' condition derived from the inletOutlet condition, whereby the mode of operation switches between fixed (free stream) value and zero gradient based on the sign of the flux

 

 

压力进口条件:

1: fixedPressureCompressibleDensityFvPatchScalarField: This boundary condition calculates a (liquid) compressible density as a function of pressure and fluid properties (这是属于密度进口条件)

2: uniformTotalPressureFvPatchScalarField: This boundary condition provides a time-varying form of the uniform total pressure boundary condition

3: totalPressureFvPatchScalarField: This boundary condition provides a total pressure condition. Four variants are possible:

4freestreamPressureFvPatchScalarFieldThis boundary condition provides a free-stream condition for pressure. It is a zero-gradient condition that constrains the flux across the patch based on the free-stream velocity.

 

速度进口条件:

1: flowRateInletVelocityFvPatchVectorField: This boundary condition provides a velocity boundary condition, derived from the flux (volumetric or mass-based), whose direction is assumed to be normal to the patch.

2atmBoundaryLayerInletVelocityFvPatchVectorFieldThis boundary condition specifies a velocity inlet profile appropriate for atmospheric boundary layers (ABL). The profile is derived from the friction velocity, flow direction and the direction of the parabolic co-ordinate z.

3: pressureNormalInletOutletVelocityFvPatchVectorField: This velocity inlet/outlet boundary condition is applied to patches where the pressure is specified. A zero-gradient condition is applied for outflow (as defined by the flux); for inflow, the velocity is obtained from the flux with a direction normal to the patch faces.

4pressureInletVelocityFvPatchVectorField This velocity inlet boundary condition is applied to patches where the pressure is specified. The inflow velocity is obtained from the flux with a direction normal to the patch faces

5 pressureInletUniformVelocityFvPatchVectorField This velocity inlet boundary condition is applied to patches where the pressure is specified. The uniform inflow velocity is obtained by averaging the flux over the patch, and then applying it in the direction normal to the patch faces

6pressureInletOutletParSlipVelocityFvPatchVectorField This velocity inlet/outlet boundary condition for pressure boundary where the pressure is specified. A zero-gradient is applied for outflow (as defined by the flux); for inflow, the velocity is obtained from the flux with the specified inlet direction.

7 pressureDirectedInletVelocityFvPatchVectorField This velocity inlet boundary condition is applied to patches where the pressure is specified. The inflow velocity is obtained from the flux with the specified inlet direction" direction.

8pressureDirectedInletOutletVelocityFvPatchVectorField This velocity inlet/outlet boundary condition is applied to pressure boundaries where the pressure is specified. A zero-gradient condtion is applied for outflow (as defined by the flux); for inflow, the velocity is obtained from the flux with the specified inlet direction.

9 flowRateInletVelocityFvPatchVectorField This boundary condition provides a velocity boundary condition, derived from the flux (volumetric or mass-based), whose direction is assumed to be normal to the patch.

温度进口条件:

1 totalTemperatureFvPatchScalarField This boundary condition provides a total temperature condition.

 

 

耗散率进口条件:epsilon进口条件:

1: turbulentMixingLengthDissipationRateInletFvPatchScalarFieldThis boundary condition provides a turbulence dissipation, $\epsilon$ (epsilon) inlet condition based on a specified mixing length

2: atmBoundaryLayerInletEpsilonFvPatchScalarField: This boundary condition specifies an inlet value for the turbulence dissipation, $\epsilon$ (epsilon), appropriate for atmospheric boundary layers (ABL), and designed to be used in conjunction with the ABLInletVelocity inlet velocity boundary condition.

3:

 

湍动能进口条件:

1: turbulentIntensityKineticEnergyInletFvPatchScalarField: This boundary condition provides a turbulent kinetic energy condition, based on user-supplied turbulence intensity, defined as a fraction of the mean velocity:

 

outlet boundary condition出口边界条件:

freestreamFvPatchField< Type >This boundary condition provides a free-stream condition. It is a 'mixed' condition derived from the inletOutlet condition, whereby the mode of operation switches between fixed (free stream) value and zero gradient based on the sign of the flux.

inletOutletFvPatchField< Type >This boundary condition provides a generic outflow condition, with specified inflow for the case of return flow.

uniformInletOutletFvPatchField< Type >Variant of inletOutlet boundary condition with uniform inletValue.

 

 

速度出口条件:

fixedNormalInletOutletVelocityFvPatchVectorField: This velocity inlet/outlet boundary condition combines a fixed normal component obtained from the "normalVelocity" patchField supplied with a fixed or zero-gradiented tangential component depending on the direction of the flow and the setting of "fixTangentialInflow"

 

fluxCorrectedVelocityFvPatchVectorField This boundary condition provides a velocity outlet boundary condition for patches where the pressure is specified. The outflow velocity is obtained by "zeroGradient" and then corrected from the flux:

 

pressureDirectedInletOutletVelocityFvPatchVectorFieldThis velocity inlet/outlet boundary condition is applied to pressure boundaries where the pressure is specified. A zero-gradient condtion is applied for outflow (as defined by the flux); for inflow, the velocity is obtained from the flux with the specified inlet direction.

pressureInletOutletVelocityFvPatchVectorFieldThis velocity inlet/outlet boundary condition is applied to pressure boundaries where the pressure is specified. A zero-gradient condition is applied for outflow (as defined by the flux); for inflow, the velocity is obtained from the patch-face normal component of the internal-cell value

 

pressureNormalInletOutletVelocityFvPatchVectorFieldThis velocity inlet/outlet boundary condition is applied to patches where the pressure is specified. A zero-gradient condition is applied for outflow (as defined by the flux); for inflow, the velocity is obtained from the flux with a direction normal to the patch faces.

 

压力出口条件:

uniformTotalPressureFvPatchScalarFieldThis boundary condition provides a time-varying form of the uniform total pressure boundary condition.

totalPressureFvPatchScalarFieldThis boundary condition provides a total pressure condition. Four variants are possible

 

 

温度出口条件:

inletOutletTotalTemperatureFvPatchScalarFieldThis boundary condition provides an outflow condition for total temperature for use with supersonic cases, where a user-specified value is applied in the case of reverse flow

totalTemperatureFvPatchScalarField:This boundary condition provides a total temperature condition.

 

 

一般性的边界条件: generic boundary conditionshttp://foam.sourceforge.net/docs/cpp/a10590.html

calculatedFvPatchField< Type >This boundary condition is not designed to be evaluated; it is assmued that the value is assigned via field assignment, and not via a call to e.g. updateCoeffs or evaluate.

directionMixedFvPatchField< Type >Base class for direction-mixed boundary conditions

fixedGradientFvPatchField< Type >This boundary condition supplies a fixed gradient condition, such that the patch values are calculated using

fixedValueFvPatchField< Type > This boundary condition supplies a fixed value constraint, and is the base class for a number of other boundary conditions.

zeroGradientFvPatchField< Type >This boundary condition applies a zero-gradient condition from the patch internal field onto the patch faces.

oscillatingFixedValueFvPatchField< Type >This boundary condition provides an oscillating condition in terms of amplitude and frequency.

uniformFixedGradientFvPatchField< Type >This boundary condition provides a uniform fixed gradient condition.

uniformFixedValueFvPatchField< Type >This boundary condition provides a uniform fixed value condition

posted @ 2016-07-06 14:24  硫酸亚铜  阅读(6712)  评论(0编辑  收藏  举报