flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
test_vof_momentum_mpi.cpp File Reference
#include <mpi.h>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <Kokkos_Core.hpp>
#include <vector>
#include "flow_ibm.hpp"
#include "peclet/core/common/types.hpp"
#include "peclet/core/decomp/block_decomposer.hpp"

Go to the source code of this file.

Classes

struct  Config
 

Functions

static double colourAt (int x, int y, int z)
 
static double forceXAt (int, int, int z)
 
template<class Fn >
static std::vector< double > blockOf (Fn f, int ox, int oy, int oz, int lnx, int lny, int lnz)
 
static void configure (IbmSolver &s, const Config &c, int ox, int oy, int oz, int lnx, int lny, int lnz)
 
static std::vector< double > gatherGlobal (const std::vector< double > &local, int ox, int oy, int oz, int lnx, int lny, int lnz, int rank, int size)
 
static double maxAbsDiff (const std::vector< double > &a, const std::vector< double > &b)
 
static double maxAbs (const std::vector< double > &a)
 
static double maxAbsDev (const std::vector< double > &a, double r)
 
static std::vector< double > demean (std::vector< double > v)
 
static double sumOf (const std::vector< double > &a)
 
int main (int argc, char **argv)
 

Variables

static constexpr int NX = 16
 
static constexpr int NY = 16
 
static constexpr int NZ = 32
 
static constexpr std::size_t GCELLS = (std::size_t)NX * NY * NZ
 
static const double UNIF [3] = {1.0, 0.6, -0.4}
 

Function Documentation

◆ colourAt()

static double colourAt ( int  x,
int  y,
int  z 
)
static

Definition at line 56 of file test_vof_momentum_mpi.cpp.

References NX, NY, and NZ.

Referenced by configure().

◆ forceXAt()

static double forceXAt ( int  ,
int  ,
int  z 
)
static

Definition at line 64 of file test_vof_momentum_mpi.cpp.

References NZ.

Referenced by configure().

◆ blockOf()

template<class Fn >
static std::vector< double > blockOf ( Fn  f,
int  ox,
int  oy,
int  oz,
int  lnx,
int  lny,
int  lnz 
)
static

Definition at line 69 of file test_vof_momentum_mpi.cpp.

Referenced by configure().

◆ configure()

◆ gatherGlobal()

static std::vector< double > gatherGlobal ( const std::vector< double > &  local,
int  ox,
int  oy,
int  oz,
int  lnx,
int  lny,
int  lnz,
int  rank,
int  size 
)
static

Definition at line 103 of file test_vof_momentum_mpi.cpp.

References GCELLS, NX, and NY.

Referenced by main().

◆ maxAbsDiff()

static double maxAbsDiff ( const std::vector< double > &  a,
const std::vector< double > &  b 
)
static

Definition at line 139 of file test_vof_momentum_mpi.cpp.

Referenced by main().

◆ maxAbs()

static double maxAbs ( const std::vector< double > &  a)
static

Definition at line 152 of file test_vof_momentum_mpi.cpp.

Referenced by main().

◆ maxAbsDev()

static double maxAbsDev ( const std::vector< double > &  a,
double  r 
)
static

Definition at line 158 of file test_vof_momentum_mpi.cpp.

Referenced by main().

◆ demean()

static std::vector< double > demean ( std::vector< double >  v)
static

Definition at line 168 of file test_vof_momentum_mpi.cpp.

Referenced by main().

◆ sumOf()

static double sumOf ( const std::vector< double > &  a)
static

Definition at line 177 of file test_vof_momentum_mpi.cpp.

Referenced by main().

◆ main()

Variable Documentation

◆ NX

constexpr int NX = 16
staticconstexpr

Definition at line 40 of file test_vof_momentum_mpi.cpp.

Referenced by colourAt(), gatherGlobal(), and main().

◆ NY

constexpr int NY = 16
static

Definition at line 40 of file test_vof_momentum_mpi.cpp.

Referenced by colourAt(), gatherGlobal(), and main().

◆ NZ

constexpr int NZ = 32
static

Definition at line 40 of file test_vof_momentum_mpi.cpp.

Referenced by colourAt(), forceXAt(), and main().

◆ GCELLS

constexpr std::size_t GCELLS = (std::size_t)NX * NY * NZ
staticconstexpr

Definition at line 41 of file test_vof_momentum_mpi.cpp.

Referenced by gatherGlobal().

◆ UNIF

const double UNIF[3] = {1.0, 0.6, -0.4}
static

Definition at line 51 of file test_vof_momentum_mpi.cpp.

Referenced by configure(), and main().