![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <core/DataTypes.h>#include <core/cell/Cell.h>#include <core/cell/CellInterval.h>#include <core/math/Vector3.h>#include <field/iterators/IteratorMacros.h>#include <gpu/FieldAccessor.h>#include <gpu/FieldIndexing.h>#include <gpu/GPUField.h>#include <gpu/Kernel.h>#include <thrust/device_ptr.h>#include <thrust/device_vector.h>#include <array>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | walberla |
| \file PackInfoPdfDoublePrecision.cpp \author pystencils | |
| namespace | walberla::ek |
| namespace | walberla::ek::accessor |
| namespace | walberla::ek::accessor::Scalar |
| namespace | walberla::ek::accessor::Vector |
| namespace | walberla::ek::accessor::Flux |
Macros | |
| #define | RESTRICT |
Functions | |
| static __forceinline__ __device__ uint | getLinearIndex (uint3 blockIdx, uint3 threadIdx, uint3 gridDim, uint3 blockDim, uint fOffset) |
Get linear index of flattened data with original layout fzyx. | |
| __global__ void | walberla::ek::accessor::Scalar::kernel_get (gpu::FieldAccessor< double > scalar_field, double *out) |
| __global__ void | walberla::ek::accessor::Scalar::kernel_set (gpu::FieldAccessor< double > scalar_field, double const *RESTRICT in) |
| __global__ void | walberla::ek::accessor::Scalar::kernel_broadcast (gpu::FieldAccessor< double > scalar_field, double const in) |
| __global__ void | walberla::ek::accessor::Scalar::kernel_add (gpu::FieldAccessor< double > scalar_field, double const *RESTRICT in) |
| __global__ void | walberla::ek::accessor::Scalar::kernel_broadcast_add (gpu::FieldAccessor< double > scalar_field, double const in) |
| double | walberla::ek::accessor::Scalar::get (gpu::GPUField< double > const *field, Cell const &cell) |
| Get value from a single cell. | |
| void | walberla::ek::accessor::Scalar::set (gpu::GPUField< double > *field, double value, Cell const &cell) |
| Set value on a single cell. | |
| void | walberla::ek::accessor::Scalar::add (gpu::GPUField< double > *field, double value, Cell const &cell) |
| Add value to a single cell. | |
| void | walberla::ek::accessor::Scalar::initialize (gpu::GPUField< double > *field, double value) |
| Initialize all cells with the same value. | |
| void | walberla::ek::accessor::Scalar::add_to_all (gpu::GPUField< double > *scalar_field, Vector3< double > const value) |
| std::vector< double > | walberla::ek::accessor::Scalar::get (gpu::GPUField< double > const *ield, CellInterval const &ci) |
| Get values from a cell interval. | |
| void | walberla::ek::accessor::Scalar::set (gpu::GPUField< double > *field, std::vector< double > const &values, CellInterval const &ci) |
| Set values on a cell interval. | |
| __global__ void | walberla::ek::accessor::Vector::kernel_get (gpu::FieldAccessor< double > vec, double *u_out) |
| __global__ void | walberla::ek::accessor::Vector::kernel_set (gpu::FieldAccessor< double > vec, double const *RESTRICT u_in) |
| __global__ void | walberla::ek::accessor::Vector::kernel_broadcast (gpu::FieldAccessor< double > vec, double const *RESTRICT u_in) |
| __global__ void | walberla::ek::accessor::Vector::kernel_add (gpu::FieldAccessor< double > vec, double const *RESTRICT u_in) |
| __global__ void | walberla::ek::accessor::Vector::kernel_broadcast_add (gpu::FieldAccessor< double > vec, double const *RESTRICT u_in) |
| Vector3< double > | walberla::ek::accessor::Vector::get (gpu::GPUField< double > const *field, Cell const &cell) |
| Get value from a single cell. | |
| void | walberla::ek::accessor::Vector::set (gpu::GPUField< double > *field, Vector3< double > const &vec, Cell const &cell) |
| Set value on a single cell. | |
| void | walberla::ek::accessor::Vector::add (gpu::GPUField< double > *field, Vector3< double > const &vec, Cell const &cell) |
| Add value to a single cell. | |
| void | walberla::ek::accessor::Vector::initialize (gpu::GPUField< double > *field, Vector3< double > const &vec) |
| Initialize all cells with the same value. | |
| void | walberla::ek::accessor::Vector::add_to_all (gpu::GPUField< double > *field, Vector3< double > const &vec) |
| Add value to all cells. | |
| std::vector< double > | walberla::ek::accessor::Vector::get (gpu::GPUField< double > const *vec_field, CellInterval const &ci) |
| Get values from a cell interval. | |
| void | walberla::ek::accessor::Vector::set (gpu::GPUField< double > *vec_field, std::vector< double > const &values, CellInterval const &ci) |
| Set values on a cell interval. | |
| __global__ void | walberla::ek::accessor::Flux::kernel_get (gpu::FieldAccessor< double > flux_field, double *j_out) |
| __global__ void | walberla::ek::accessor::Flux::kernel_broadcast (gpu::FieldAccessor< double > flux_field, double const *RESTRICT j_in) |
| __global__ void | walberla::ek::accessor::Flux::kernel_get_vector (gpu::FieldAccessor< double > flux_field, double *j_out) |
| std::array< double, 13 > | walberla::ek::accessor::Flux::get (gpu::GPUField< double > const *flux_field, Cell const &cell) |
| Get value from a single cell. | |
| void | walberla::ek::accessor::Flux::initialize (gpu::GPUField< double > *flux_field, std::array< double, 13 > const &flux) |
| Initialize all cells with the same value. | |
| std::vector< double > | walberla::ek::accessor::Flux::get (gpu::GPUField< double > const *flux_field, CellInterval const &ci) |
| Get values from a cell interval. | |
| Vector3< double > | walberla::ek::accessor::Flux::get_vector (gpu::GPUField< double > const *flux_field, Cell const &cell) |
| Get flux vector from a single cell. | |
| std::vector< double > | walberla::ek::accessor::Flux::get_vector (gpu::GPUField< double > const *flux_field, CellInterval const &ci) |
| Get flux vector from a cell interval. | |
| #define RESTRICT |
Definition at line 64 of file EK_FieldAccessors_double_precision_CUDA.cu.
|
static |
Get linear index of flattened data with original layout fzyx.
Definition at line 68 of file EK_FieldAccessors_double_precision_CUDA.cu.
Referenced by walberla::ek::accessor::Scalar::kernel_add(), walberla::ek::accessor::Vector::kernel_add(), walberla::lbm::accessor::Vector::kernel_add(), walberla::ek::accessor::Scalar::kernel_add(), walberla::ek::accessor::Vector::kernel_add(), walberla::lbm::accessor::Vector::kernel_add(), walberla::ek::accessor::Flux::kernel_get(), walberla::lbm::accessor::PressureTensor::kernel_get(), walberla::lbm::accessor::Population::kernel_get(), walberla::lbm::accessor::Density::kernel_get(), walberla::lbm::accessor::MomentumDensity::kernel_get(), walberla::lbm::accessor::Velocity::kernel_get(), walberla::ek::accessor::Scalar::kernel_get(), walberla::ek::accessor::Vector::kernel_get(), walberla::lbm::accessor::Vector::kernel_get(), walberla::ek::accessor::Flux::kernel_get(), walberla::lbm::accessor::PressureTensor::kernel_get(), walberla::lbm::accessor::Population::kernel_get(), walberla::lbm::accessor::Density::kernel_get(), walberla::lbm::accessor::MomentumDensity::kernel_get(), walberla::lbm::accessor::Velocity::kernel_get(), walberla::ek::accessor::Scalar::kernel_get(), walberla::ek::accessor::Vector::kernel_get(), walberla::lbm::accessor::Vector::kernel_get(), walberla::ek::accessor::Flux::kernel_get_vector(), walberla::ek::accessor::Flux::kernel_get_vector(), walberla::lbm::accessor::Population::kernel_set(), walberla::lbm::accessor::Density::kernel_set(), walberla::lbm::accessor::Force::kernel_set(), walberla::lbm::accessor::Velocity::kernel_set(), walberla::ek::accessor::Scalar::kernel_set(), walberla::ek::accessor::Vector::kernel_set(), walberla::lbm::accessor::Vector::kernel_set(), walberla::lbm::accessor::Population::kernel_set(), walberla::lbm::accessor::Density::kernel_set(), walberla::lbm::accessor::Force::kernel_set(), walberla::lbm::accessor::Velocity::kernel_set(), walberla::ek::accessor::Scalar::kernel_set(), walberla::ek::accessor::Vector::kernel_set(), walberla::lbm::accessor::Vector::kernel_set(), walberla::lbm::accessor::Population::kernel_set_vel(), and walberla::lbm::accessor::Population::kernel_set_vel().