ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Lattice field accessors. More...
#include <core/DataTypes.h>
#include <core/cell/Cell.h>
#include <core/cell/CellInterval.h>
#include <core/math/Matrix3.h>
#include <core/math/Vector3.h>
#include <gpu/GPUField.h>
#include <array>
#include <tuple>
#include <vector>
Go to the source code of this file.
Namespaces | |
namespace | walberla |
\file PackInfoPdfDoublePrecision.cpp \author pystencils | |
namespace | walberla::lbm |
namespace | walberla::lbm::accessor |
namespace | walberla::lbm::accessor::Population |
namespace | walberla::lbm::accessor::Vector |
namespace | walberla::lbm::accessor::Interpolation |
namespace | walberla::lbm::accessor::Density |
namespace | walberla::lbm::accessor::Velocity |
namespace | walberla::lbm::accessor::Force |
namespace | walberla::lbm::accessor::DensityAndVelocity |
namespace | walberla::lbm::accessor::DensityAndMomentumDensity |
namespace | walberla::lbm::accessor::MomentumDensity |
namespace | walberla::lbm::accessor::PressureTensor |
Functions | |
std::array< float, 19u > | walberla::lbm::accessor::Population::get (gpu::GPUField< float > const *pdf_field, Cell const &cell) |
Get populations from a single cell. | |
void | walberla::lbm::accessor::Population::set (gpu::GPUField< float > *pdf_field, std::array< float, 19u > const &pop, Cell const &cell) |
Set populations on a single cell. | |
void | walberla::lbm::accessor::Population::set (gpu::GPUField< float > *pdf_field, gpu::GPUField< float > *velocity_field, gpu::GPUField< float > const *force_field, std::array< float, 19u > const &pop, Cell const &cell) |
Set populations and recalculate velocities on a single cell. | |
void | walberla::lbm::accessor::Population::initialize (gpu::GPUField< float > *pdf_field, std::array< float, 19u > const &pop) |
Initialize all cells with the same value. | |
std::vector< float > | walberla::lbm::accessor::Population::get (gpu::GPUField< float > const *pdf_field, CellInterval const &ci) |
Get populations from a cell interval. | |
void | walberla::lbm::accessor::Population::set (gpu::GPUField< float > *pdf_field, std::vector< float > const &values, CellInterval const &ci) |
Set populations on a cell interval. | |
void | walberla::lbm::accessor::Population::set (gpu::GPUField< float > *pdf_field, gpu::GPUField< float > *velocity_field, gpu::GPUField< float > const *force_field, std::vector< float > const &values, CellInterval const &ci) |
Set populations and recalculate velocities on a cell interval. | |
Vector3< float > | walberla::lbm::accessor::Vector::get (gpu::GPUField< float > const *field, Cell const &cell) |
Get value from a single cell. | |
void | walberla::lbm::accessor::Vector::set (gpu::GPUField< float > *field, Vector3< float > const &vec, Cell const &cell) |
Set value on a single cell. | |
void | walberla::lbm::accessor::Vector::add (gpu::GPUField< float > *field, Vector3< float > const &vec, Cell const &cell) |
Add value to a single cell. | |
void | walberla::lbm::accessor::Vector::initialize (gpu::GPUField< float > *field, Vector3< float > const &vec) |
Initialize all cells with the same value. | |
void | walberla::lbm::accessor::Vector::add_to_all (gpu::GPUField< float > *field, Vector3< float > const &vec) |
Add value to all cells. | |
std::vector< float > | walberla::lbm::accessor::Vector::get (gpu::GPUField< float > const *vec_field, CellInterval const &ci) |
Get values from a cell interval. | |
void | walberla::lbm::accessor::Vector::set (gpu::GPUField< float > *vec_field, std::vector< float > const &values, CellInterval const &ci) |
Set values on a cell interval. | |
std::vector< float > | walberla::lbm::accessor::Interpolation::get (gpu::GPUField< float > const *vec_field, std::vector< float > const &pos, uint gl) |
void | walberla::lbm::accessor::Interpolation::set (gpu::GPUField< float > const *vec_field, std::vector< float > const &pos, std::vector< float > const &forces, uint gl) |
float | walberla::lbm::accessor::Density::get (gpu::GPUField< float > const *pdf_field, Cell const &cell) |
void | walberla::lbm::accessor::Density::set (gpu::GPUField< float > *pdf_field, const float rho, Cell const &cell) |
std::vector< float > | walberla::lbm::accessor::Density::get (gpu::GPUField< float > const *pdf_field, CellInterval const &ci) |
void | walberla::lbm::accessor::Density::set (gpu::GPUField< float > *pdf_field, std::vector< float > const &values, CellInterval const &ci) |
Vector3< float > | walberla::lbm::accessor::Velocity::get (gpu::GPUField< float > const *pdf_field, gpu::GPUField< float > const *force_field, Cell const &cell) |
std::vector< float > | walberla::lbm::accessor::Velocity::get (gpu::GPUField< float > const *pdf_field, gpu::GPUField< float > const *force_field, CellInterval const &ci) |
void | walberla::lbm::accessor::Velocity::set (gpu::GPUField< float > *pdf_field, gpu::GPUField< float > *velocity_field, gpu::GPUField< float > const *force_field, Vector3< float > const &u, Cell const &cell) |
void | walberla::lbm::accessor::Velocity::set (gpu::GPUField< float > *pdf_field, gpu::GPUField< float > *velocity_field, gpu::GPUField< float > const *force_field, std::vector< float > const &values, CellInterval const &ci) |
void | walberla::lbm::accessor::Force::set (gpu::GPUField< float > const *pdf_field, gpu::GPUField< float > *velocity_field, gpu::GPUField< float > *force_field, Vector3< float > const &u, Cell const &cell) |
void | walberla::lbm::accessor::Force::set (gpu::GPUField< float > const *pdf_field, gpu::GPUField< float > *velocity_field, gpu::GPUField< float > *force_field, std::vector< float > const &values, CellInterval const &ci) |
std::tuple< float, Vector3< float > > | walberla::lbm::accessor::DensityAndVelocity::get (gpu::GPUField< float > const *pdf_field, gpu::GPUField< float > const *force_field, Cell const &cell) |
void | walberla::lbm::accessor::DensityAndVelocity::set (gpu::GPUField< float > *pdf_field, gpu::GPUField< float > *force_field, Vector3< float > const &u, float const rho, Cell const &cell) |
std::tuple< float, Vector3< float > > | walberla::lbm::accessor::DensityAndMomentumDensity::get (gpu::GPUField< float > const *pdf_field, gpu::GPUField< float > const *force_field, Cell const &cell) |
Vector3< float > | walberla::lbm::accessor::MomentumDensity::reduce (gpu::GPUField< float > const *pdf_field, gpu::GPUField< float > const *force_field) |
Matrix3< float > | walberla::lbm::accessor::PressureTensor::get (gpu::GPUField< float > const *pdf_field, Cell const &cell) |
std::vector< float > | walberla::lbm::accessor::PressureTensor::get (gpu::GPUField< float > const *pdf_field, CellInterval const &ci) |
Matrix3< float > | walberla::lbm::accessor::PressureTensor::reduce (gpu::GPUField< float > const *pdf_field) |
Lattice field accessors.
Adapted from the waLBerla source file https://i10git.cs.fau.de/walberla/walberla/-/blob/a16141524c58ab88386e2a0f8fdd7c63c5edd704/python/lbmpy_walberla/templates/LatticeModel.tmpl.h
Definition in file FieldAccessorsSinglePrecisionCUDA.cuh.