PIMPLE Module
Stream has a module that provides users with the option to utilize the
PIMPLE algorithm for their simulation. This capability is enabled by
inserting the following loadModule
directive into the run control file
as shown below.
loadModule: pimple
{
... standard run control file content
}
The following sections discuss the PIMPLE method used in Stream and provide information on the run control file variables required to perform simulations with the PIMPLE module.
PIMPLE Algorithm
The PIMPLE algorithm that is implemented in Stream uses a combination of the SIMPLE and PISO algorithms. The SIMPLE algorithm being tuned for solving steady-state problems and the PISO algorithms being particularly suited for unsteady problems. The combination of the two algorithms allows for the larger timestep permitted by SIMPLE and the speed of the PISO to be combined into a hybrid algorithm. The figure below outlines the PIMPLE algorithm as it is implemented in Stream.
Control File Setup
Only a few additions need to be made to an existing run control file to set up a simulation using the PIMPLE module.
Numerics
From PIMPLE diagram above, we can see that the PIMPLE algorithm involved a
SIMPLE-type predictor step, and a PISO-type corrector stage. The run
control file variable that controls the total number of times that the
algorithm goes through the SIMPLE+PISO stages is the standard
numIterationsPerTimeStep
variable. This value can be set as usual, but
with the PIMPLE module, usually the value of the variable is a fraction
of what would typically be used when running with just SIMPLE. The
number of times that the PIMPLE algorithm iterates on the pressure
correction equation using the PISO corrector can be controlled by the
run control file variable shown below. Note: there is not default value,
so you must include this in the run control file if the pimple module is
loaded.
numCorrectorIterations: 1
The recommendation is to use only one corrector iteration unless cavitation equations are being solved. In that case, two corrector iterations are required for stability. Another feature that is available in the pimple module is the ability to control which equations are included in the explicit corrector step in the PISO corrector stage and can be specified in the run control file as shown below.
explicitCorrectorEquations: <cavitation, energy, turbulence>
Including cavitation
includes the vapor mass fraction and NCG mass
fraction equations. The energy
option includes either the temperature,
total enthalpy, or total energy equations depending on the form=
value
in the energyEquationOptions
run control file variable. The turbulence
keyword includes the k
equation and either the epsilon
or omega
equations, depending on the turbulence model specified in the
turbulenceEquationOptions
run control file variable.
A final variable determines the form of the volume flux that is used in
the corrector. It is set by the correctorVolumeFluxForm
variable in the
run control file and has the value of old and new. An example of the
specification specification for this variable is shown below (default
shown).
correctorVolumeFluxForm: new
A practical matter regarding the pimple module that user should consider is that the PIMPLE algorithm is more aggressive than the SIMPLE algorithm when solving equations, which may result in numerical instability if the PIMPLE algorithm is used for cases with bad initial pressure field guesses. An easy fix is to run a simulation with a bad initial condition using SIMPLE for several timesteps and then restart and switch to the PIMPLE module.
Output Variables
The table below shows additional field variables that are available for
output in PIMPLE simulations. Default variables are output
automatically and do not need to be specified in the plot_output
line
in the run control file.
Variable |
Description |
Default |
---|---|---|
No current outputs for PIMPLE module supported |
||