template<typename BoundaryHandling_T, typename LM, typename SimplePressure = lbm::SimplePressure <LM, typename BoundaryHandling_T::flag_t>, typename UBB = lbm::UBB <LM, typename BoundaryHandling_T::flag_t>>
class walberla::lbm::initializer::Poiseuille< BoundaryHandling_T, LM, SimplePressure, UBB >
Initializes the complete domain with a Poiseuille (Channel) Flow.
Configuration file syntax:
<blockName>
{
scenario rect2D|pipe;
boundary pressureDriven|velocityDriven|forceDriven
pressureDiff 0.1; // either pressureDiff or velocity is required
velocity 1.0 // either one can be calculated from the other
flowAxis 0; // specifying the direction of the channel, i.e. the axis along which the fluid is flowing
parabolaAxis 1; // only required for rect2D setup. Axis where no-slip boundaries are set -
// the remaining third axis has to be periodic. By default chosen as a non-periodic axis
// that is not the flowAxis
}
scenario:
- rect2D: rectangular channel where boundary in direction of periodicAxis are set periodic and the remaining boundary is set to no-slip
- pipe: channel with circular cross section boundary:
- pressureDriven: at the end of flowAxis pressure boundaries are used
- velocityDriven: at the inflow a UBB prescribing a parabolic velocity profile is set at the outflow a Outlet boundary is set
- forceDriven: flowAxis has to be periodic. No boundaries are set, but an external force term is set in the Lattice model
flowAxis: specifying the direction of the channel, i.e. the axis along which the fluid is flowing 0 for x, 1 for y, 2 = z
|
void | initVelocityBoundary (Scenario scenario, Axis flowAxis, real_t maxVelocity, Axis parabolaAxis) |
|
void | initPressureBoundary (Axis flowAxis, real_t pressureDiff) |
|
void | initNoSlipBoundaries (Scenario scenario, Axis flowAxis, Axis parabolaAxis) |
|
void | setInitVelocity (Scenario scenario, Axis flowAxis, real_t maxVelocity, Axis parabolaAxis) |
|
real_t | getVelocity (const Cell &globalCell, Scenario scenario, Axis flowAxis, real_t maxVelocity, Axis parabolaAxis) |
|
real_t | getPipeRadius (Scenario scenario, Axis flowAxis, Axis parabolaAxis) const |
|
real_t | velocityFromPressureDiff (Scenario scenario, real_t pressureDiff, Axis flowAxis, Axis parabolaAxis) |
|
real_t | pressureDiffFromVelocity (Scenario scenario, real_t velocity, Axis flowAxis, Axis parabolaAxis) |
|
Axis | checkParabolaAxis (Axis parabolaAxis, Axis flowAxis) |
|