64 double diffusion,
double kT,
double valency,
66 bool friction_coupling,
bool single_precision,
67 bool thermalized,
unsigned int seed) {
68#if not defined(WALBERLA_BUILD_WITH_CUDA)
69 throw std::runtime_error(
"waLBerla was compiled without CUDA support");
71 if (single_precision) {
72 return std::make_shared<EKinWalberlaImpl<13, float, lbmpy::Arch::GPU>>(
73 lattice, diffusion, kT, valency, ext_efield,
density, advection,
74 friction_coupling, thermalized, seed);
77 return std::make_shared<EKinWalberlaImpl<13, double, lbmpy::Arch::GPU>>(
78 lattice, diffusion, kT, valency, ext_efield,
density, advection,
79 friction_coupling, thermalized, seed);
std::shared_ptr< EKinWalberlaBase > new_ek_walberla_gpu(std::shared_ptr< LatticeWalberla > const &lattice, double diffusion, double kT, double valency, Utils::Vector3d ext_efield, double density, bool advection, bool friction_coupling, bool single_precision, bool thermalized, unsigned int seed)