34 std::shared_ptr<LatticeWalberla> m_lattice;
35 double m_permittivity;
53 return m_permittivity;
62 [[
nodiscard]]
virtual std::optional<double>
Abstract representation of a lattice-based model.
std::unordered_map< std::string, double > units_map
Class that runs and controls the BlockForest in waLBerla.
void register_vtk_field_writers(walberla::vtk::VTKOutput &, LatticeModel::units_map const &, int) override
~PoissonSolver() override=default
virtual std::size_t get_potential_field_id() const noexcept=0
virtual void set_permittivity(double permittivity) noexcept
virtual void add_charge_to_field(std::size_t id, double valency)=0
PoissonSolver(std::shared_ptr< LatticeWalberla > lattice, double permittivity)
virtual std::optional< double > get_node_potential(Utils::Vector3i const &node, bool consider_ghosts=false)=0
virtual void setup_fft(bool use_gpu_aware)=0
void register_vtk_field_filters(walberla::vtk::VTKOutput &) override
virtual std::vector< double > get_slice_potential(Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const =0
virtual bool is_double_precision() const noexcept=0
void integrate_vtk_writers() override
LatticeWalberla const & get_lattice() const noexcept override
virtual void reset_charge_field()=0
virtual double get_permittivity() const noexcept
virtual bool is_gpu() const noexcept=0
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
\file PackInfoPdfDoublePrecision.cpp \author pystencils