2 2

Next: Model setting without an Up: Alternative formulation Previous: Alternative formulation   Contents   Index

On boundary and initial conditions in general

  • Boundary conditions are extremely important. They are the most common causes of errors.
  • OpenFOAM uses similar set-up as other solvers.
  • At the inlet (flow inlet) to the computational domain total pressure and total temperature are set. The rest of variables is reconstructed.
  • At the outlet the static pressure is set.
  • At the rigid walls velocity is set to zero.
  • Multiple Reference Frame (MRF) is used for rotational components.
  • For steady-state computations the initial conditions have no influence to the results.
  • For steady-state computations the initial conditions just help to make the case run.

The main variables to be set are following: static pressure p, velocity vector U, static temperature T, turbulent kinetic energy k and specific turbulence dissipation omega. The initial and boundary conditions for all variables are set in files in directories called by numbers. Typically directory 0 is recommended to start simulation from. Initial conditions are set in parameter initialField, those are cell centers. At boundaries, initial conditions are set individually by parameter value. Following table shows recommended model boundary conditions for computed variables:

Table: Boundary conditions
 
      
  STATOR   
 pUTkomega
stator_inlettPpDIVtTtIKEIfV
stator_hubzGfVzGkWFoWF
stator_shroudzGfVzGkWFoWF
stator_bladezGfVzGkWFoWF
stator_cyc_lAMIAMIAMIAMIAMI
stator_cyc_rAMIAMIAMIAMIAMI
stator_outlet_*mPiOiOiOiO
      
  ROTOR   
 pUTkomega
rotor_outletfMViOiOiOiO
rotor_hubzGfVzGkWFoWF
rotor_shroudzGfVzGkWFoWF
rotor_bladezGfVTWFkWFoWF
rotor_cyc_lAMIAMIAMIAMIAMI
rotor_cyc_rAMIAMIAMIAMIAMI
rotor_inlet_*zGmPVmPmPmP
      
  SOLID   
 pUTkomega
solid_hubccxzGxx
solid_shroudccxzGxx
solid_rotor_bladeccxTWFxx
 

The shortcuts from the above table have following meaning:

  • tP – totalPressure , constant e.g. 500 000 Pa, gamma = 1.47948 [-] is specific heat ratio
  • pDIV – pressureDirectedInletVelocity, velocity is computed from difference between total and static pressure, inletDirection is velocity vector to be specified
  • tT – totalTemperature, constant e.g. 1050 K, gamma = 1.47948 [-] is specific heat ratio
  • tIKEI – turbulentIntensityKineticEnergyInletintensity = 0.02, corresponds to turbulence intensity 2%
  • fV – fixedValue, e.g. velocity at the wall (0 0 0), or omega at inlet
  • fMV – fixedMeanValue, is same as fixed value e.g. for pressure, but certain freedom is allowed to keep the variable average equal to meanValue
  • zG – zeroGradient, the flux of the variable is zero in direction perpendicular to the surface
  • TWF – compressible::turbulentTemperatureCoupledBaffleMixed special boundary condition for temperature enabling heat transfer from other regions
  • kWF – compressible::kqRWallFunction is standard wall function for k for compressible flow
  • oWF – compressible::omegaWallFunction is standard wall function for omega for compressible flow
  • mPV – mixingPlaneVelocity, averaged velocity is mapped from neighbour patch
  • mP – mixingPlane, averaged variable is mapped from neighbour patch
  • iO – inletOutlet is by default zeroGradient, but change to fixedValue when velocity vector direction aims inside the computational domain (backward flow)
  • AMI – cyclicAMI is Arbitrary Mesh Interface boundary condition allowing data interpolation between two patches of different mesh topology.
  • cc – calculated, boundary values of a certain quantity is simply calculated, in accordance with its definiton, from values of other quantities that already have prescribed their boundary conditions

Two other variables must be presented for postprocessing purposes: total pressure pTot and total temperature TTot. The boundary conditions for total pressure and total temperature are formal and are always the same

boundaryField
{
    "(.*)"
    {
        type zeroGradient;
    }
}

However, there are cyclicAMI patches present and thus boundary condition prescription, although being formal, must obey this fact. Therefore we add a following entry to boundaryField subdict of each file, either the pTot or TTot file.

    "(.*_cyc_.*)"
    {
        type    cyclicAMI;
        value   uniform 0;
    }