![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Class that runs and controls the LB on waLBerla. More...
#include <LBWalberlaImpl.hpp>
Inheritance diagram for walberla::LBWalberlaImpl< FloatType, Architecture >:
Collaboration diagram for walberla::LBWalberlaImpl< FloatType, Architecture >:Classes | |
| struct | GhostComm |
Public Types | |
| using | Stencil = stencil::D3Q19 |
| Stencil for collision and streaming operations. | |
| using | StencilFull = stencil::D3Q27 |
| Stencil for ghost communication (includes domain corners). | |
| using | BlockStorage = LatticeWalberla::Lattice_T |
| Lattice model (e.g. | |
| using | PdfField = FieldTrait< FloatType, Stencil, Architecture >::PdfField |
| using | VectorField = FieldTrait< FloatType, Stencil, Architecture >::VectorField |
| using | FlagField = BoundaryModel::FlagField |
Public Types inherited from LatticeModel | |
| using | units_map = std::unordered_map< std::string, double > |
Public Member Functions | |
| template<typename T > | |
| FloatType | FloatType_c (T t) const |
| std::size_t | stencil_size () const noexcept override |
| bool | is_double_precision () const noexcept override |
| bool | is_gpu () const noexcept override |
| LBWalberlaImpl (std::shared_ptr< LatticeWalberla > lattice, double viscosity, double density) | |
| ~LBWalberlaImpl () override=default | |
| void | integrate () override |
| void | set_collision_model (double kT, unsigned int seed) override |
| Set up the thermalized collision model. | |
| void | set_collision_model (std::unique_ptr< LeesEdwardsPack > &&lees_edwards_pack) override |
| Set up the Lees-Edwards collision model. | |
| void | check_lebc (unsigned int shear_direction, unsigned int shear_plane_normal) const override |
| Verify that MD and LB Lees-Edwards parameters are consistent. | |
| void | ghost_communication () override |
| Perform all pending ghost layer updates. | |
| void | ghost_communication_pdf () override |
| void | ghost_communication_vel () override |
| void | ghost_communication_laf () override |
| void | ghost_communication_boundary () |
| void | ghost_communication_full () |
| Communicate all fields at once using the D3Q27 stencil. | |
| void | apply_lees_edwards_interpolation () |
| std::optional< Utils::Vector3d > | get_node_velocity (Utils::Vector3i const &node, bool consider_ghosts=false) const override |
| bool | set_node_velocity (Utils::Vector3i const &node, Utils::Vector3d const &v) override |
| std::vector< double > | get_slice_velocity (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override |
| void | set_slice_velocity (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< double > const &velocity) override |
| std::optional< double > | get_node_density (Utils::Vector3i const &node, bool consider_ghosts=false) const override |
| bool | set_node_density (Utils::Vector3i const &node, double density) override |
| std::vector< double > | get_slice_density (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override |
| void | set_slice_density (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< double > const &density) override |
| std::optional< std::vector< double > > | get_node_population (Utils::Vector3i const &node, bool consider_ghosts=false) const override |
| bool | set_node_population (Utils::Vector3i const &node, std::vector< double > const &population) override |
| std::vector< double > | get_slice_population (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override |
| void | set_slice_population (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< double > const &population) override |
| std::optional< Utils::Vector3d > | get_node_force_to_be_applied (Utils::Vector3i const &node) const override |
| std::optional< Utils::Vector3d > | get_node_last_applied_force (Utils::Vector3i const &node, bool consider_ghosts=false) const override |
| bool | set_node_last_applied_force (Utils::Vector3i const &node, Utils::Vector3d const &force) override |
| std::vector< double > | get_slice_last_applied_force (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override |
| void | set_slice_last_applied_force (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< double > const &force) override |
| std::optional< Utils::VectorXd< 9 > > | get_node_pressure_tensor (Utils::Vector3i const &node) const override |
| std::vector< double > | get_slice_pressure_tensor (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override |
| std::function< bool(Utils::Vector3d const &)> | make_lattice_position_checker (bool consider_points_in_halo) const override |
| bool | add_force_at_pos (Utils::Vector3d const &pos, Utils::Vector3d const &force) override |
| void | add_forces_at_pos (std::vector< Utils::Vector3d > const &pos, std::vector< Utils::Vector3d > const &forces) override |
| Distribute forces to the lattice at given positions. | |
| std::optional< Utils::Vector3d > | get_velocity_at_pos (Utils::Vector3d const &pos, bool consider_points_in_halo=false) const override |
| std::vector< Utils::Vector3d > | get_velocities_at_pos (std::vector< Utils::Vector3d > const &pos) override |
| Interpolate velocities at given positions (batch version). | |
| std::optional< double > | get_density_at_pos (Utils::Vector3d const &pos, bool consider_points_in_halo=false) const override |
| std::vector< double > | get_densities_at_pos (std::vector< Utils::Vector3d > const &pos) override |
| void | reset_boundary_handling (std::shared_ptr< BlockStorage > const &blocks) |
| void | on_boundary_add () |
| Lazily enable boundary mode on first boundary addition. | |
| void | clear_boundaries () override |
| void | reallocate_ubb_field () override |
| void | update_boundary_from_shape (std::vector< int > const &raster_flat, std::vector< double > const &data_flat) override |
| Set boundary conditions from a rasterized shape. | |
| std::optional< Utils::Vector3d > | get_node_velocity_at_boundary (Utils::Vector3i const &node, bool consider_ghosts=false) const override |
| bool | set_node_velocity_at_boundary (Utils::Vector3i const &node, Utils::Vector3d const &velocity) override |
| std::vector< std::optional< Utils::Vector3d > > | get_slice_velocity_at_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override |
| void | set_slice_velocity_at_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< std::optional< Utils::Vector3d > > const &velocity) override |
| std::optional< Utils::Vector3d > | get_node_boundary_force (Utils::Vector3i const &node) const override |
| bool | remove_node_from_boundary (Utils::Vector3i const &node) override |
| std::optional< bool > | get_node_is_boundary (Utils::Vector3i const &node, bool consider_ghosts=false) const override |
| std::vector< bool > | get_slice_is_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override |
| Utils::Vector3d | get_boundary_force_from_shape (std::vector< int > const &raster_flat) const override |
| Total force exerted by the fluid on a subset of boundary nodes. | |
| Utils::Vector3d | get_boundary_force () const override |
| Utils::VectorXd< 9 > | get_pressure_tensor () const override |
| Utils::Vector3d | get_momentum () const override |
| void | set_external_force (Utils::Vector3d const &ext_force) override |
| Utils::Vector3d | get_external_force () const noexcept override |
| void | set_viscosity (double viscosity) override |
| double | get_viscosity () const noexcept override |
| double | get_density () const noexcept override |
| double | get_kT () const noexcept override |
| unsigned int | get_seed () const noexcept override |
| std::optional< uint64_t > | get_rng_state () const override |
| void | set_rng_state (uint64_t counter) override |
| LatticeWalberla const & | get_lattice () const noexcept override |
| std::size_t | get_velocity_field_id () const noexcept override |
| std::size_t | get_force_field_id () const noexcept override |
| FloatType | pressure_tensor_correction_factor () const |
| Correction factor for off-diagonal pressure tensor elements. | |
| void | pressure_tensor_correction (Matrix3< FloatType > &tensor) const |
| void | pressure_tensor_correction (std::span< FloatType, 9ul > tensor) const |
| void | register_vtk_field_filters (walberla::vtk::VTKOutput &vtk_obj) override |
| void | register_vtk_field_writers (walberla::vtk::VTKOutput &vtk_obj, LatticeModel::units_map const &units, int flag_observables) override |
Public Member Functions inherited from LBWalberlaBase | |
| ~LBWalberlaBase () override=default | |
Public Member Functions inherited from LatticeModel | |
| virtual | ~LatticeModel ()=default |
| std::shared_ptr< VTKHandle > | create_vtk (int delta_N, int initial_count, int flag_observables, units_map const &units_conversion, std::string const &identifier, std::string const &base_folder, std::string const &prefix, bool force_pvtu) |
| Create a VTK observable. | |
| void | write_vtk (std::string const &vtk_uid) |
| Write a VTK observable to disk. | |
| void | switch_vtk (std::string const &vtk_uid, bool status) |
| Toggle a VTK observable on/off. | |
Protected Types | |
| using | Kernels = detail::KernelTrait< FloatType, Architecture > |
| using | BoundaryModel = BoundaryHandling< FloatType, Vector3< FloatType >, typename Kernels::DynamicUBB > |
| using | CollisionModel = std::variant< typename Kernels::StreamCollisionModelThermalized, typename Kernels::StreamCollisionModelLeesEdwards > |
| using | _PdfField = FieldTrait< FloatType, Stencil >::PdfField |
| using | _VectorField = FieldTrait< FloatType, Stencil >::VectorField |
| using | RegularFullCommunicator = FieldTrait< FloatType, Stencil, Architecture >::template RegularCommScheme< stencil::D3Q27 > |
| Full communicator. | |
| using | BoundaryFullCommunicator = FieldTrait< FloatType, Stencil, Architecture >::template BoundaryCommScheme< stencil::D3Q27 > |
| using | PDFStreamingCommunicator = FieldTrait< FloatType, Stencil, Architecture >::template RegularCommScheme< Stencil > |
| Regular communicator. | |
| template<class Field > | |
| using | PackInfo = FieldTrait< FloatType, Stencil, Architecture >::template PackInfo< Field > |
Protected Member Functions | |
| void | integrate_vtk_writers () override |
| template<typename T > | |
| void | zero_centered_transform_impl (T &data, auto const factor) const |
| Scale data by a conversion factor (in-place). | |
| void | zero_centered_to_lb_in_place (auto &data) const |
| void | zero_centered_to_md_in_place (auto &data) const |
| auto | zero_centered_to_lb (auto const &data) const |
| auto | zero_centered_to_md (auto const &data) const |
| template<typename Field > | |
| auto | add_to_storage (std::string const tag) |
| Convenience function to add a field with a custom allocator. | |
| void | setup_full_communicator () |
| Set up D3Q27 communicators for full ghost layer updates. | |
| void | setup_streaming_communicator () |
| Set up the communicator used during integration. | |
Class that runs and controls the LB on waLBerla.
Definition at line 86 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 111 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 112 of file LBWalberlaImpl.hpp.
| using walberla::LBWalberlaImpl< FloatType, Architecture >::BlockStorage = LatticeWalberla::Lattice_T |
|
protected |
Definition at line 147 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 95 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 97 of file LBWalberlaImpl.hpp.
| using walberla::LBWalberlaImpl< FloatType, Architecture >::FlagField = BoundaryModel::FlagField |
Definition at line 117 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 94 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 158 of file LBWalberlaImpl.hpp.
| using walberla::LBWalberlaImpl< FloatType, Architecture >::PdfField = FieldTrait<FloatType, Stencil, Architecture>::PdfField |
Definition at line 115 of file LBWalberlaImpl.hpp.
|
protected |
Regular communicator.
We use the same directions as the stencil during integration.
Definition at line 154 of file LBWalberlaImpl.hpp.
|
protected |
Full communicator.
We use the D3Q27 directions to update cells along the diagonals during a full ghost communication. This is needed to properly update the corners of the ghost layer when setting cell velocities or populations.
Definition at line 144 of file LBWalberlaImpl.hpp.
| using walberla::LBWalberlaImpl< FloatType, Architecture >::Stencil = stencil::D3Q19 |
Stencil for collision and streaming operations.
Definition at line 103 of file LBWalberlaImpl.hpp.
| using walberla::LBWalberlaImpl< FloatType, Architecture >::StencilFull = stencil::D3Q27 |
Stencil for ghost communication (includes domain corners).
Definition at line 105 of file LBWalberlaImpl.hpp.
| using walberla::LBWalberlaImpl< FloatType, Architecture >::VectorField = FieldTrait<FloatType, Stencil, Architecture>::VectorField |
Definition at line 116 of file LBWalberlaImpl.hpp.
|
inline |
Definition at line 249 of file LBWalberlaImpl.hpp.
References block(), walberla::LBWalberlaImpl< FloatType, Architecture >::m_flag_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_force_to_be_applied_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_last_applied_force_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_lattice, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_tmp_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pending_ghost_comm, walberla::LBWalberlaImpl< FloatType, Architecture >::m_reset_force, walberla::LBWalberlaImpl< FloatType, Architecture >::m_update_velocities_from_pdf, walberla::LBWalberlaImpl< FloatType, Architecture >::m_vel_tmp_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_velocity_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::reset_boundary_handling(), walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_streaming_communicator().
|
overridedefault |
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 345 of file LBInterpolation.impl.hpp.
|
overridevirtual |
Distribute forces to the lattice at given positions.
Uses B-spline interpolation to spread each force over the surrounding lattice nodes. On GPU, positions are transformed to block-local coordinates and the operation is performed in a single kernel launch.
Implements LBWalberlaBase.
Definition at line 85 of file LBInterpolation.impl.hpp.
References walberla::lbm::accessor::Interpolation::add_force(), block(), lbmpy::CPU, and lbmpy::GPU.
|
inlineprotected |
Convenience function to add a field with a custom allocator.
When vectorization is off, let waLBerla decide which memory allocator to use. When vectorization is on, the aligned memory allocator is required, otherwise cpu_vectorize_info["assume_aligned"] will trigger assertions. That is because for single-precision kernels the waLBerla heuristic in src/field/allocation/FieldAllocator.h will fall back to StdFieldAlloc, yet AllocateAligned is needed for intrinsics to work.
Definition at line 872 of file LBWalberlaImpl.hpp.
References block(), lbmpy::CPU, walberla::lbm::accessor::Population::initialize(), walberla::lbm::accessor::Vector::initialize(), and walberla::LBWalberlaImpl< FloatType, Architecture >::m_lattice.
|
inline |
Definition at line 547 of file LBWalberlaImpl.hpp.
References LatticeWalberla::get_blocks(), and walberla::LBWalberlaImpl< FloatType, Architecture >::get_lattice().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_full().
|
overridevirtual |
Verify that MD and LB Lees-Edwards parameters are consistent.
Implements LBWalberlaBase.
Definition at line 142 of file LBCollisionSetup.impl.hpp.
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 200 of file LBBoundaryAccess.impl.hpp.
|
inline |
Definition at line 232 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::set_viscosity().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 297 of file LBBoundaryAccess.impl.hpp.
References block(), and walberla::to_vector3d().
|
overridevirtual |
Total force exerted by the fluid on a subset of boundary nodes.
Only boundary nodes where raster_flat is non-zero are included. The force is accumulated from the UBB index/force vectors by matching each boundary node's stencil neighbors against the index field.
Implements LBWalberlaBase.
Definition at line 264 of file LBBoundaryAccess.impl.hpp.
References block().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 276 of file LBInterpolation.impl.hpp.
References block(), lbmpy::CPU, walberla::lbm::accessor::Interpolation::get_rho(), and lbmpy::GPU.
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 736 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_density.
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 333 of file LBInterpolation.impl.hpp.
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 724 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_reset_force, and walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_md().
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 778 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_force_to_be_applied_id.
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 740 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_kT.
|
inlineoverridevirtualnoexcept |
Implements LatticeModel.
Definition at line 770 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_lattice.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::apply_lees_edwards_interpolation(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_momentum(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_pressure_tensor(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_laf(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_pdf(), and walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_vel().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 707 of file LBWalberlaImpl.hpp.
References block(), LatticeWalberla::get_blocks(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_lattice(), walberla::LBWalberlaImpl< FloatType, Architecture >::m_density, walberla::LBWalberlaImpl< FloatType, Architecture >::m_last_applied_force_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_field_id, walberla::lbm::accessor::MomentumDensity::reduce(), and walberla::to_vector3d().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 123 of file LBBoundaryAccess.impl.hpp.
References walberla::get_block_and_cell().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 82 of file LBNodeAccess.impl.hpp.
References density, walberla::lbm::accessor::Density::get(), and walberla::get_block_and_cell().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 156 of file LBNodeAccess.impl.hpp.
References walberla::lbm::accessor::Vector::get(), walberla::get_block_and_cell(), and walberla::to_vector3d().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 147 of file LBBoundaryAccess.impl.hpp.
References walberla::get_block_and_cell().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 170 of file LBNodeAccess.impl.hpp.
References walberla::lbm::accessor::Vector::get(), walberla::get_block_and_cell(), and walberla::to_vector3d().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 113 of file LBNodeAccess.impl.hpp.
References walberla::lbm::accessor::Population::get(), and walberla::get_block_and_cell().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 206 of file LBNodeAccess.impl.hpp.
References walberla::lbm::accessor::PressureTensor::get(), walberla::get_block_and_cell(), and walberla::to_vector9d().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 39 of file LBNodeAccess.impl.hpp.
References walberla::lbm::accessor::Vector::get(), walberla::get_block_and_cell(), and walberla::to_vector3d().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 37 of file LBBoundaryAccess.impl.hpp.
References walberla::get_block_and_cell(), and walberla::to_vector3d().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 694 of file LBWalberlaImpl.hpp.
References block(), LatticeWalberla::get_blocks(), LatticeWalberla::get_grid_dimensions(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_lattice(), walberla::LBWalberlaImpl< FloatType, Architecture >::m_density, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::pressure_tensor_correction(), Utils::product(), walberla::lbm::accessor::PressureTensor::reduce(), and walberla::to_vector9d().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 748 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_collision_model, and walberla::LBWalberlaImpl< FloatType, Architecture >::m_kT.
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 744 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_seed.
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 228 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::lbm::accessor::Density::get().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 159 of file LBBoundaryAccess.impl.hpp.
References walberla::copy_block_buffer(), and walberla::for_each_block_in_slice().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 106 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::lbm::accessor::Vector::get().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 169 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::lbm::accessor::Population::get().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 279 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::lbm::accessor::PressureTensor::get().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 36 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::lbm::accessor::Vector::get().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 65 of file LBBoundaryAccess.impl.hpp.
References walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::to_vector3d().
|
overridevirtual |
Interpolate velocities at given positions (batch version).
On GPU, boundary slip velocities are written into the velocity field before interpolation, since the field has indeterminate values inside boundary regions.
Implements LBWalberlaBase.
Definition at line 229 of file LBInterpolation.impl.hpp.
References block(), lbmpy::CPU, walberla::lbm::accessor::Interpolation::get_vel(), lbmpy::GPU, and walberla::lbm::accessor::Vector::set_from_list().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 319 of file LBInterpolation.impl.hpp.
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 774 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_velocity_field_id.
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 732 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_viscosity.
|
inlineoverridevirtual |
Perform all pending ghost layer updates.
Uses a lazy scheme: ghost communications are only executed when they have been marked as pending by a preceding write operation.
Implements LBWalberlaBase.
Definition at line 454 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_boundary(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_laf(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_pdf(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_vel(), ResourceObserver::is_valid(), walberla::LBWalberlaImpl< FloatType, Architecture >::m_mpi_cart_comm_observer, and walberla::LBWalberlaImpl< FloatType, Architecture >::m_pending_ghost_comm.
|
inline |
Definition at line 500 of file LBWalberlaImpl.hpp.
References ResourceObserver::is_valid(), walberla::LBWalberlaImpl< FloatType, Architecture >::m_boundary_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_mpi_cart_comm_observer, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pending_ghost_comm, and walberla::LBWalberlaImpl< FloatType, Architecture >::GhostComm::UBB.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication().
|
inline |
Communicate all fields at once using the D3Q27 stencil.
Definition at line 509 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::apply_lees_edwards_interpolation(), ResourceObserver::is_valid(), walberla::LBWalberlaImpl< FloatType, Architecture >::GhostComm::LAF, walberla::LBWalberlaImpl< FloatType, Architecture >::m_full_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_mpi_cart_comm_observer, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pending_ghost_comm, walberla::LBWalberlaImpl< FloatType, Architecture >::GhostComm::PDF, and walberla::LBWalberlaImpl< FloatType, Architecture >::GhostComm::VEL.
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 488 of file LBWalberlaImpl.hpp.
References LatticeWalberla::get_blocks(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_lattice(), ResourceObserver::is_valid(), walberla::LBWalberlaImpl< FloatType, Architecture >::GhostComm::LAF, walberla::LBWalberlaImpl< FloatType, Architecture >::m_laf_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_mpi_cart_comm_observer, and walberla::LBWalberlaImpl< FloatType, Architecture >::m_pending_ghost_comm.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 464 of file LBWalberlaImpl.hpp.
References LatticeWalberla::get_blocks(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_lattice(), ResourceObserver::is_valid(), walberla::LBWalberlaImpl< FloatType, Architecture >::m_mpi_cart_comm_observer, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pending_ghost_comm, and walberla::LBWalberlaImpl< FloatType, Architecture >::GhostComm::PDF.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 476 of file LBWalberlaImpl.hpp.
References LatticeWalberla::get_blocks(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_lattice(), ResourceObserver::is_valid(), walberla::LBWalberlaImpl< FloatType, Architecture >::m_mpi_cart_comm_observer, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pending_ghost_comm, walberla::LBWalberlaImpl< FloatType, Architecture >::m_vel_communicator, and walberla::LBWalberlaImpl< FloatType, Architecture >::GhostComm::VEL.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 307 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::integrate_vtk_writers().
|
inlineoverrideprotectedvirtual |
Implements LatticeModel.
Definition at line 313 of file LBWalberlaImpl.hpp.
References LatticeModel::m_vtk_auto.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::integrate().
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 240 of file LBWalberlaImpl.hpp.
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 244 of file LBWalberlaImpl.hpp.
References lbmpy::GPU.
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 69 of file LBInterpolation.impl.hpp.
| void walberla::LBWalberlaImpl< FloatType, Architecture >::on_boundary_add | ( | ) |
Lazily enable boundary mode on first boundary addition.
Switches the streaming communicator to the generic pack info, which correctly handles boundary-adjacent cells.
Definition at line 191 of file LBBoundaryAccess.impl.hpp.
|
inline |
Definition at line 791 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::pressure_tensor_correction_factor().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::get_pressure_tensor().
|
inline |
Definition at line 798 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::pressure_tensor_correction_factor().
|
inline |
Correction factor for off-diagonal pressure tensor elements.
Compensates for the viscosity-dependent error in the non-equilibrium stress: factor = nu / (nu + 1/6).
Definition at line 787 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_viscosity.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::pressure_tensor_correction(), and walberla::LBWalberlaImpl< FloatType, Architecture >::pressure_tensor_correction().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 181 of file LBBoundaryAccess.impl.hpp.
|
inlineoverridevirtual |
Implements LatticeModel.
Definition at line 848 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::Boundary_flag, and walberla::LBWalberlaImpl< FloatType, Architecture >::m_flag_field_id.
|
overridevirtual |
Implements LatticeModel.
Definition at line 126 of file LBVTK.impl.hpp.
References density, lbmpy::GPU, pressure_tensor, and velocity_vector.
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 133 of file LBBoundaryAccess.impl.hpp.
References walberla::get_block_and_cell().
|
inline |
Definition at line 648 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_boundary, walberla::LBWalberlaImpl< FloatType, Architecture >::m_flag_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_lattice, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_field_id, and walberla::to_cell().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
overridevirtual |
Set up the thermalized collision model.
Configures MRT relaxation rates from the viscosity and initializes the random number generator for fluctuating LB. When kT is zero, fluctuations are suppressed but the thermalized kernel is still used (required for RNG state tracking).
Implements LBWalberlaBase.
Definition at line 56 of file LBCollisionSetup.impl.hpp.
|
overridevirtual |
Set up the Lees-Edwards collision model.
Configures a modified collision step that applies the shear velocity at the Lees-Edwards boundary planes, and sets up the interpolation sweeps for PDFs, velocities, and forces at those boundaries. Currently restricted to shear_plane_normal="y" and no domain decomposition along the shear direction.
Implements LBWalberlaBase.
Definition at line 80 of file LBCollisionSetup.impl.hpp.
References lbmpy::GPU.
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 720 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_reset_force, and walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_lb().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 97 of file LBNodeAccess.impl.hpp.
References density, walberla::get_block_and_cell(), and walberla::lbm::accessor::Density::set().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 184 of file LBNodeAccess.impl.hpp.
References walberla::get_block_and_cell(), and walberla::lbm::accessor::Force::set().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 131 of file LBNodeAccess.impl.hpp.
References walberla::get_block_and_cell(), and walberla::lbm::accessor::Population::set().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 60 of file LBNodeAccess.impl.hpp.
References walberla::get_block_and_cell(), and walberla::lbm::accessor::Velocity::set().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 48 of file LBBoundaryAccess.impl.hpp.
References walberla::get_block_and_cell(), and velocity().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 758 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_collision_model, and walberla::LBWalberlaImpl< FloatType, Architecture >::m_kT.
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 254 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), density, walberla::for_each_block_in_slice(), and walberla::lbm::accessor::Density::set().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 135 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::lbm::accessor::Force::set().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 197 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), and walberla::lbm::accessor::Population::set().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 72 of file LBSliceAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), walberla::lbm::accessor::Velocity::set(), Utils::Vector< T, N >::size(), and velocity().
|
overridevirtual |
Implements LBWalberlaBase.
Definition at line 92 of file LBBoundaryAccess.impl.hpp.
References block(), walberla::copy_block_buffer(), walberla::for_each_block_in_slice(), walberla::get_block_and_cell(), Utils::Vector< T, N >::size(), and velocity().
|
inlineoverridevirtual |
Implements LBWalberlaBase.
Definition at line 728 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::FloatType_c(), and walberla::LBWalberlaImpl< FloatType, Architecture >::m_viscosity.
|
inlineprotected |
Set up D3Q27 communicators for full ghost layer updates.
Creates per-field communicators (PDF, velocity, last-applied force) as well as a combined communicator and the boundary communicator.
Definition at line 916 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_boundary, walberla::LBWalberlaImpl< FloatType, Architecture >::m_boundary_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_flag_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_full_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_laf_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_last_applied_force_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_lattice, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_vel_communicator, walberla::LBWalberlaImpl< FloatType, Architecture >::m_velocity_field_id, and walberla::field::communication::BoundaryPackInfo< GhostLayerField_T, Boundary_T >::setup_boundary_handle().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
inlineprotected |
Set up the communicator used during integration.
Uses optimized streaming pack info when neither boundaries nor Lees-Edwards boundary conditions are active; falls back to the generic pack info otherwise.
Definition at line 955 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_collision_model, walberla::LBWalberlaImpl< FloatType, Architecture >::m_has_boundaries, walberla::LBWalberlaImpl< FloatType, Architecture >::m_last_applied_force_field_id, walberla::LBWalberlaImpl< FloatType, Architecture >::m_lattice, walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_field_id, and walberla::LBWalberlaImpl< FloatType, Architecture >::m_pdf_streaming_communicator.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
inlineoverridevirtualnoexcept |
Implements LBWalberlaBase.
Definition at line 236 of file LBWalberlaImpl.hpp.
|
overridevirtual |
Set boundary conditions from a rasterized shape.
| raster_flat | Flattened 3D mask (non-zero = boundary node). |
| data_flat | Flattened 3D array of slip velocities (3 components per node, same ordering as raster_flat). |
Implements LBWalberlaBase.
Definition at line 215 of file LBBoundaryAccess.impl.hpp.
References walberla::fill_3D_vector_array(), and walberla::set_boundary_from_grid().
|
inlineprotected |
Definition at line 833 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_lb_in_place().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::set_external_force().
|
inlineprotected |
Definition at line 825 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_zc_to_lb, and walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_transform_impl().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_lb().
|
inlineprotected |
Definition at line 839 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_md_in_place().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::get_external_force().
|
inlineprotected |
Definition at line 829 of file LBWalberlaImpl.hpp.
References walberla::LBWalberlaImpl< FloatType, Architecture >::m_zc_to_md, and walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_transform_impl().
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_md().
|
inlineprotected |
Scale data by a conversion factor (in-place).
Used for zero-centered density representation: LB internally stores density fluctuations around zero, while the user interface uses absolute densities. The conversion factors m_zc_to_md and m_zc_to_lb translate between these representations.
Definition at line 814 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_lb_in_place(), and walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_md_in_place().
|
protected |
Flag for boundary cells.
Definition at line 192 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::register_vtk_field_filters().
|
protected |
Definition at line 196 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::reset_boundary_handling(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator().
|
protected |
Definition at line 199 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_boundary(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator().
|
protected |
|
protected |
kinematic viscosity
Definition at line 166 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::get_density(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_momentum(), and walberla::LBWalberlaImpl< FloatType, Architecture >::get_pressure_tensor().
|
protected |
Definition at line 178 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl(), walberla::LBWalberlaImpl< FloatType, Architecture >::register_vtk_field_filters(), walberla::LBWalberlaImpl< FloatType, Architecture >::reset_boundary_handling(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator().
|
protected |
Definition at line 181 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::get_force_field_id(), and walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
protected |
Definition at line 200 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_full(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator().
|
protected |
Definition at line 193 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::setup_streaming_communicator().
|
protected |
|
protected |
Definition at line 203 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_laf(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator().
|
protected |
Definition at line 180 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::get_momentum(), walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl(), walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_streaming_communicator().
|
protected |
Definition at line 173 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::add_to_storage(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_lattice(), walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl(), walberla::LBWalberlaImpl< FloatType, Architecture >::reset_boundary_handling(), walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_streaming_communicator().
|
protected |
Definition at line 219 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 225 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 221 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 223 of file LBWalberlaImpl.hpp.
|
protected |
Definition at line 206 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_boundary(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_full(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_laf(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_pdf(), and walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_vel().
|
protected |
Definition at line 201 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_pdf(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator().
|
protected |
Definition at line 176 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::get_momentum(), walberla::LBWalberlaImpl< FloatType, Architecture >::get_pressure_tensor(), walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl(), walberla::LBWalberlaImpl< FloatType, Architecture >::reset_boundary_handling(), walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_streaming_communicator().
|
protected |
Definition at line 204 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::setup_streaming_communicator().
|
protected |
Definition at line 177 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
protected |
Definition at line 205 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_boundary(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_full(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_laf(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_pdf(), walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_vel(), and walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
protected |
|
protected |
Definition at line 168 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::get_seed().
|
protected |
Definition at line 216 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
protected |
Definition at line 202 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::ghost_communication_vel(), and walberla::LBWalberlaImpl< FloatType, Architecture >::setup_full_communicator().
|
protected |
Definition at line 184 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::LBWalberlaImpl().
|
protected |
|
protected |
|
protected |
Definition at line 170 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_lb_in_place().
|
protected |
Definition at line 169 of file LBWalberlaImpl.hpp.
Referenced by walberla::LBWalberlaImpl< FloatType, Architecture >::zero_centered_to_md_in_place().