flow 0.4.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
test_multiphysics_mpi.cpp File Reference
#include <mpi.h>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <Kokkos_Core.hpp>
#include <string>
#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 std::vector< double > packingSdf (double rfrac=0.18)
 
static double muAt (int x, int y, int)
 
static double rhoAt (int, int, int z)
 
static double epsAt (int, int, int z)
 
static double scalarAt (int x, int y, 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, const std::vector< double > &lsdf, 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 relErr (const std::vector< double > &a, const std::vector< double > &b)
 
int main (int argc, char **argv)
 

Variables

static constexpr int N = 32
 
static constexpr int STEPS = 30
 
static constexpr double RHO = 1.0
 
static constexpr double MU = 0.1
 
static constexpr double F = 1e-3
 
static constexpr double DT = 20.0
 

Function Documentation

◆ packingSdf()

static std::vector< double > packingSdf ( double  rfrac = 0.18)
static

Definition at line 30 of file test_multiphysics_mpi.cpp.

References N.

Referenced by main().

◆ muAt()

static double muAt ( int  x,
int  y,
int   
)
static

Definition at line 51 of file test_multiphysics_mpi.cpp.

References MU, and N.

Referenced by configure().

◆ rhoAt()

static double rhoAt ( int  ,
int  ,
int  z 
)
static

Definition at line 54 of file test_multiphysics_mpi.cpp.

References N, and RHO.

Referenced by configure(), and peclet::flow::gpDebugReport().

◆ epsAt()

static double epsAt ( int  ,
int  ,
int  z 
)
static

Definition at line 55 of file test_multiphysics_mpi.cpp.

References N.

Referenced by configure().

◆ scalarAt()

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

Definition at line 56 of file test_multiphysics_mpi.cpp.

References N.

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 64 of file test_multiphysics_mpi.cpp.

Referenced by configure().

◆ configure()

static void configure ( IbmSolver &  s,
const Config c,
const std::vector< double > &  lsdf,
int  ox,
int  oy,
int  oz,
int  lnx,
int  lny,
int  lnz 
)
static

Definition at line 79 of file test_multiphysics_mpi.cpp.

References blockOf(), DT, epsAt(), F, MU, muAt(), RHO, rhoAt(), and scalarAt().

Referenced by main().

◆ 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 126 of file test_multiphysics_mpi.cpp.

References N.

Referenced by main().

◆ relErr()

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

Definition at line 163 of file test_multiphysics_mpi.cpp.

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 172 of file test_multiphysics_mpi.cpp.

References configure(), gatherGlobal(), N, packingSdf(), relErr(), and STEPS.

Variable Documentation

◆ N

constexpr int N = 32
staticconstexpr

Definition at line 27 of file test_multiphysics_mpi.cpp.

Referenced by epsAt(), gatherGlobal(), main(), muAt(), packingSdf(), rhoAt(), and scalarAt().

◆ STEPS

constexpr int STEPS = 30
static

Definition at line 27 of file test_multiphysics_mpi.cpp.

Referenced by main().

◆ RHO

constexpr double RHO = 1.0
staticconstexpr

Definition at line 28 of file test_multiphysics_mpi.cpp.

Referenced by configure(), and rhoAt().

◆ MU

constexpr double MU = 0.1
static

Definition at line 28 of file test_multiphysics_mpi.cpp.

Referenced by configure(), and muAt().

◆ F

constexpr double F = 1e-3
static

Definition at line 28 of file test_multiphysics_mpi.cpp.

Referenced by configure().

◆ DT

constexpr double DT = 20.0
static

Definition at line 28 of file test_multiphysics_mpi.cpp.

Referenced by configure().