peclet-dem
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
Loading...
Searching...
No Matches
test_dem_step.cpp File Reference
#include <mpi.h>
#include <algorithm>
#include <array>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstring>
#include <vector>
#include "peclet/core/common/types.hpp"
#include "peclet/core/decomp/block_decomposer.hpp"
#include "peclet/core/halo/particle_migrator.hpp"

Go to the source code of this file.

Classes

struct  Pay
 

Functions

static double frac (std::uint64_t x, int s)
 
static double minImage (double d, double Li)
 
static std::array< double, 3 > force (const Vec< 3 > &xi, std::int64_t selfId, std::vector< std::pair< std::int64_t, Vec< 3 > > > &nbr)
 
int main (int argc, char **argv)
 

Variables

static constexpr int kSteps = 25
 
static const double L [3] = {10.0, 8.0, 6.0}
 
static const double dmin [3] = {0.0, 0.0, 0.0}
 
static constexpr double kRadius = 0.4
 
static constexpr double kRcut = 2.0 * kRadius
 
static constexpr double kStiff = 0.2
 
static constexpr double kDt = 0.02
 
static constexpr double kDamp = 0.99
 

Function Documentation

◆ frac()

static double frac ( std::uint64_t  x,
int  s 
)
static

Definition at line 48 of file test_dem_step.cpp.

Referenced by main().

◆ minImage()

static double minImage ( double  d,
double  Li 
)
static

Definition at line 55 of file test_dem_step.cpp.

Referenced by force().

◆ force()

static std::array< double, 3 > force ( const Vec< 3 > &  xi,
std::int64_t  selfId,
std::vector< std::pair< std::int64_t, Vec< 3 > > > &  nbr 
)
static

Definition at line 60 of file test_dem_step.cpp.

References kRcut, kStiff, L, and minImage().

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 80 of file test_dem_step.cpp.

References dmin, force(), frac(), Pay::id, kDamp, kDt, kRcut, kSteps, L, and Pay::vel.

Variable Documentation

◆ kSteps

constexpr int kSteps = 25
staticconstexpr

Definition at line 34 of file test_dem_step.cpp.

Referenced by main().

◆ L

const double L[3] = {10.0, 8.0, 6.0}
static

Definition at line 35 of file test_dem_step.cpp.

Referenced by force(), peclet::dem::Simulation::initializeShape(), main(), mi(), and mi().

◆ dmin

const double dmin[3] = {0.0, 0.0, 0.0}
static

Definition at line 36 of file test_dem_step.cpp.

Referenced by main().

◆ kRadius

constexpr double kRadius = 0.4
staticconstexpr

Definition at line 37 of file test_dem_step.cpp.

◆ kRcut

constexpr double kRcut = 2.0 * kRadius
staticconstexpr

Definition at line 38 of file test_dem_step.cpp.

Referenced by force(), and main().

◆ kStiff

constexpr double kStiff = 0.2
staticconstexpr

Definition at line 39 of file test_dem_step.cpp.

Referenced by force().

◆ kDt

constexpr double kDt = 0.02
staticconstexpr

Definition at line 40 of file test_dem_step.cpp.

Referenced by main().

◆ kDamp

constexpr double kDamp = 0.99
staticconstexpr

Definition at line 41 of file test_dem_step.cpp.

Referenced by main().