25#include <field/AddToStorage.h>
26#include <field/GhostLayerField.h>
36 BlockDataID m_potential_field_id;
38 using PotentialField = GhostLayerField<FloatType, 1>;
43 m_potential_field_id = field::addToStorage<PotentialField>(
44 get_lattice().get_blocks(),
"potential field", 0.0, field::fzyx,
53 return m_potential_field_id;
58 [[maybe_unused]]
bool consider_ghosts =
false)
override {
59 throw std::runtime_error(
"PoissonSolverNone has no potential field");
65 throw std::runtime_error(
"PoissonSolverNone has no potential field");
71 [[nodiscard]]
bool is_gpu() const noexcept
override {
return false; }
73 return std::is_same_v<FloatType, double>;
bool is_double_precision() const noexcept override
std::optional< double > get_node_potential(Utils::Vector3i const &, bool consider_ghosts=false) override
void reset_charge_field() override
std::vector< double > get_slice_potential(Utils::Vector3i const &, Utils::Vector3i const &) const override
PoissonSolverNone(std::shared_ptr< LatticeWalberla > lattice)
~PoissonSolverNone() override=default
std::size_t get_potential_field_id() const noexcept override
bool is_gpu() const noexcept override
void setup_fft(bool) override
void add_charge_to_field(std::size_t, double) override
LatticeWalberla const & get_lattice() const noexcept override
\file PackInfoPdfDoublePrecision.cpp \author pystencils