Stokes solver for periodic domains using FFT.
More...
#include <AMReX_FFT_Stokes.H>
|
| | Stokes ()=default |
| |
| | Stokes (Geometry const &geom, Array< std::pair< Boundary, Boundary >, 3 > const &bc) |
| | Construct a Stokes solver with explicit boundary types.
|
| |
| | Stokes (Geometry const &geom) |
| | Construct a purely periodic Stokes solver.
|
| |
| void | define (Geometry const &geom, Array< std::pair< Boundary, Boundary >, 3 > const &bc) |
| | Define a Stokes solver with explicit boundary types.
|
| |
| void | define (Geometry const &geom) |
| | Define a purely periodic Stokes solver.
|
| |
| void | solve (MF &U, MF &V, MF &W, MF &p, MF const &rhsx, MF const &rhsy, MF const &rhsz, typename MF::value_type alpha, typename MF::value_type eta) |
| | Solve the generalized Stokes problem in spectral space.
|
| |
template<typename MF = MultiFab>
class amrex::FFT::Stokes< MF >
Stokes solver for periodic domains using FFT.
◆ cMF
template<typename MF = MultiFab>
◆ Stokes() [1/3]
template<typename MF = MultiFab>
◆ Stokes() [2/3]
template<typename MF = MultiFab>
Construct a Stokes solver with explicit boundary types.
Only periodic BCs are supported.
- Parameters
-
| geom | Geometry describing the domain and metric information. |
| bc | Pair of boundary descriptors (low/high) per coordinate direction. |
◆ Stokes() [3/3]
template<typename MF = MultiFab>
Construct a purely periodic Stokes solver.
- Parameters
-
| geom | Periodic geometry (all directions must be periodic). |
◆ define() [1/2]
template<typename MF = MultiFab>
Define a purely periodic Stokes solver.
- Parameters
-
| geom | Periodic geometry (all directions must be periodic). |
◆ define() [2/2]
template<typename MF = MultiFab>
Define a Stokes solver with explicit boundary types.
Only periodic BCs are supported.
- Parameters
-
| geom | Geometry describing the domain and metric information. |
| bc | Pair of boundary descriptors (low/high) per coordinate direction. |
◆ solve()
template<typename MF >
| void amrex::FFT::Stokes< MF >::solve |
( |
MF & |
U, |
|
|
MF & |
V, |
|
|
MF & |
W, |
|
|
MF & |
p, |
|
|
MF const & |
rhsx, |
|
|
MF const & |
rhsy, |
|
|
MF const & |
rhsz, |
|
|
typename MF::value_type |
alpha, |
|
|
typename MF::value_type |
eta |
|
) |
| |
Solve the generalized Stokes problem in spectral space.
Solves (alpha - eta * nabla^2) u + nabla p = f with the divergence-free constraint enforced in Fourier space. This solver is for 2D and 3D only.
This solver uses a MAC staggered grid. U and rhsx must be at x-face centers, V and rhsy at y-face centers, W and rhsz at z-face centers, and p cell-centered.
- Parameters
-
| U | x-component of velocity (output, at x-face centers). |
| V | y-component of velocity (output, at y-face centers). |
| W | z-component of velocity (output, at z-face centers, 3D only). |
| p | Pressure (output, cell-centered). |
| rhsx | x-component of the right-hand side (at x-face centers). |
| rhsy | y-component of the right-hand side (at y-face centers). |
| rhsz | z-component of the right-hand side (at z-face centers, 3D only). |
| alpha | Coefficient multiplying the velocity. |
| eta | Coefficient multiplying the velocity Laplacian. |
The documentation for this class was generated from the following file: