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
 
class  PotentialVTKWriter
 
class  VTKWriter
 

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) 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< doubleget_node_potential (Utils::Vector3i const &node, bool consider_ghosts=false) override
 
bool set_node_potential (Utils::Vector3i const &node, double potential) override
 
std::vector< doubleget_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
 
void register_vtk_field_writers (walberla::vtk::VTKOutput &vtk_obj, LatticeModel::units_map const &units, int flag_observables) 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 constget_lattice () const noexcept 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.
 

Protected Member Functions

void integrate_vtk_writers () override
 
- Protected Member Functions inherited from walberla::PoissonSolver
void register_vtk_field_filters (walberla::vtk::VTKOutput &) override
 

Additional Inherited Members

- 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 84 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 102 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 234 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 230 of file PoissonSolverNone.hpp.

◆ integrate_vtk_writers()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::integrate_vtk_writers ( )
inlineoverrideprotectedvirtual

◆ 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 133 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 129 of file PoissonSolverNone.hpp.

References lbmpy::GPU, and stream.

◆ register_vtk_field_writers()

template<typename FloatType , lbmpy::Arch Architecture>
void walberla::PoissonSolverNone< FloatType, Architecture >::register_vtk_field_writers ( walberla::vtk::VTKOutput &  vtk_obj,
LatticeModel::units_map const units,
int  flag_observables 
)
inlineoverridevirtual

◆ reset_charge_field()

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

Implements walberla::PoissonSolver.

Definition at line 235 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  )
inlineoverridevirtual

Implements walberla::PoissonSolver.

Definition at line 127 of file PoissonSolverNone.hpp.

◆ solve()

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

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