ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
walberla::PoissonSolverNone< FloatType, Architecture > Class Template Reference

#include <PoissonSolverNone.hpp>

+ Inheritance diagram for walberla::PoissonSolverNone< FloatType, Architecture >:
+ Collaboration diagram for walberla::PoissonSolverNone< FloatType, Architecture >:

Classes

struct  FieldTrait
 

Public Types

using PotentialField = FieldTrait< FloatType, Architecture >::PotentialField
 
- Public Types inherited from LatticeModel
using units_map = std::unordered_map< std::string, double >
 

Public Member Functions

 ~PoissonSolverNone () override=default
 
 PoissonSolverNone (std::shared_ptr< LatticeWalberla > lattice)
 
void setup_fft (bool use_gpu_aware) override
 
bool is_gpu () const noexcept override
 
bool is_double_precision () const noexcept override
 
std::size_t get_potential_field_id () const noexcept override
 
std::optional< double > get_node_potential (Utils::Vector3i const &node, bool consider_ghosts=false) override
 
bool set_node_potential (Utils::Vector3i const &node, double potential) override
 
std::vector< double > get_slice_potential (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const override
 
void set_slice_potential (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< double > const &potential) override
 
void ghost_communication () override
 
void solve () override
 
void add_charge_to_field (std::size_t id, double valency) override
 
void reset_charge_field () override
 
- Public Member Functions inherited from walberla::PoissonSolver
 PoissonSolver (std::shared_ptr< LatticeWalberla > lattice, double permittivity)
 
 ~PoissonSolver () override=default
 
virtual void set_permittivity (double permittivity) noexcept
 
virtual double get_permittivity () const noexcept
 
LatticeWalberla const & get_lattice () const noexcept override
 
void register_vtk_field_writers (walberla::vtk::VTKOutput &, LatticeModel::units_map const &, int) override
 
- Public Member Functions inherited from LatticeModel
virtual ~LatticeModel ()=default
 
std::shared_ptr< VTKHandlecreate_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, bool include_boundaries=false)
 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.
 

Additional Inherited Members

- Protected Member Functions inherited from walberla::PoissonSolver
void integrate_vtk_writers () override
 
void register_vtk_field_filters (walberla::vtk::VTKOutput &) override
 
- Protected Attributes inherited from LatticeModel
std::map< std::string, std::shared_ptr< VTKHandle > > m_vtk_auto
 VTK writers that are executed automatically.
 
std::map< std::string, std::shared_ptr< VTKHandle > > m_vtk_manual
 VTK writers that are executed manually.
 

Detailed Description

template<typename FloatType, lbmpy::Arch Architecture>
class walberla::PoissonSolverNone< FloatType, Architecture >

Definition at line 83 of file PoissonSolverNone.hpp.

Member Typedef Documentation

◆ PotentialField

template<typename FloatType , lbmpy::Arch Architecture>
using walberla::PoissonSolverNone< FloatType, Architecture >::PotentialField = FieldTrait<FloatType, Architecture>::PotentialField

Definition at line 101 of file PoissonSolverNone.hpp.

Constructor & Destructor Documentation

◆ ~PoissonSolverNone()

template<typename FloatType , lbmpy::Arch Architecture>
walberla::PoissonSolverNone< FloatType, Architecture >::~PoissonSolverNone ( )
overridedefault

◆ PoissonSolverNone()

template<typename FloatType , lbmpy::Arch Architecture>
walberla::PoissonSolverNone< FloatType, Architecture >::PoissonSolverNone ( std::shared_ptr< LatticeWalberla lattice)
inlineexplicit

Member Function Documentation

◆ add_charge_to_field()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::add_charge_to_field ( std::size_t  id,
double  valency 
)
inlineoverridevirtual

Implements walberla::PoissonSolver.

Definition at line 229 of file PoissonSolverNone.hpp.

◆ get_node_potential()

template<typename FloatType , lbmpy::Arch Architecture>
std::optional< double > walberla::PoissonSolverNone< FloatType, Architecture >::get_node_potential ( Utils::Vector3i const &  node,
bool  consider_ghosts = false 
)
inlineoverridevirtual

◆ get_potential_field_id()

template<typename FloatType , lbmpy::Arch Architecture>
std::size_t walberla::PoissonSolverNone< FloatType, Architecture >::get_potential_field_id ( ) const
inlineoverridevirtualnoexcept

◆ get_slice_potential()

template<typename FloatType , lbmpy::Arch Architecture>
std::vector< double > walberla::PoissonSolverNone< FloatType, Architecture >::get_slice_potential ( Utils::Vector3i const &  lower_corner,
Utils::Vector3i const &  upper_corner 
) const
inlineoverridevirtual

◆ ghost_communication()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::ghost_communication ( )
inlineoverridevirtual

Implements walberla::PoissonSolver.

Definition at line 225 of file PoissonSolverNone.hpp.

◆ is_double_precision()

template<typename FloatType , lbmpy::Arch Architecture>
bool walberla::PoissonSolverNone< FloatType, Architecture >::is_double_precision ( ) const
inlineoverridevirtualnoexcept

Implements walberla::PoissonSolver.

Definition at line 128 of file PoissonSolverNone.hpp.

◆ is_gpu()

template<typename FloatType , lbmpy::Arch Architecture>
bool walberla::PoissonSolverNone< FloatType, Architecture >::is_gpu ( ) const
inlineoverridevirtualnoexcept

Implements walberla::PoissonSolver.

Definition at line 124 of file PoissonSolverNone.hpp.

References lbmpy::GPU.

◆ reset_charge_field()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::reset_charge_field ( )
inlineoverridevirtual

Implements walberla::PoissonSolver.

Definition at line 230 of file PoissonSolverNone.hpp.

◆ set_node_potential()

template<typename FloatType , lbmpy::Arch Architecture>
bool walberla::PoissonSolverNone< FloatType, Architecture >::set_node_potential ( Utils::Vector3i const &  node,
double  potential 
)
inlineoverridevirtual

◆ set_slice_potential()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::set_slice_potential ( Utils::Vector3i const &  lower_corner,
Utils::Vector3i const &  upper_corner,
std::vector< double > const &  potential 
)
inlineoverridevirtual

◆ setup_fft()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::setup_fft ( bool  use_gpu_aware)
inlineoverridevirtual

Implements walberla::PoissonSolver.

Definition at line 122 of file PoissonSolverNone.hpp.

◆ solve()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::solve ( )
inlineoverridevirtual

Implements walberla::PoissonSolver.

Definition at line 227 of file PoissonSolverNone.hpp.


The documentation for this class was generated from the following file: