![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Interface of a lattice-based electrokinetic model. More...
#include <EKinWalberlaBase.hpp>
Inheritance diagram for EKinWalberlaBase:
Collaboration diagram for EKinWalberlaBase:Public Member Functions | |
| virtual void | integrate (std::size_t potential_id, std::size_t velocity_id, std::size_t force_id, double lb_density)=0 |
| Integrate EKin for one time step. | |
| virtual void | ghost_communication ()=0 |
| perform ghost communication of densities | |
| virtual std::size_t | stencil_size () const noexcept=0 |
| Number of discretized fluxes. | |
| virtual bool | set_node_density (Utils::Vector3i const &node, double density)=0 |
| Set node density. | |
| virtual std::optional< double > | get_node_density (Utils::Vector3i const &node, bool consider_ghosts=false) const =0 |
| Get node density. | |
| virtual void | set_slice_density (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< double > const &density)=0 |
| Set slice density. | |
| virtual std::vector< double > | get_slice_density (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const =0 |
| Get slice density. | |
| virtual std::optional< Utils::Vector3d > | get_node_flux_vector (Utils::Vector3i const &node, bool consider_ghosts=false) const =0 |
| Get node flux vector. | |
| virtual std::vector< double > | get_slice_flux_vector (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const =0 |
| Get slice density. | |
| virtual bool | set_node_flux_boundary (Utils::Vector3i const &node, Utils::Vector3d const &flux)=0 |
| Set node flux boundary conditions. | |
| virtual std::optional< Utils::Vector3d > | get_node_flux_at_boundary (Utils::Vector3i const &node, bool consider_ghosts=false) const =0 |
| Get node flux boundary conditions. | |
| virtual void | set_slice_flux_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< std::optional< Utils::Vector3d > > const &flux)=0 |
| Set slice flux boundary conditions. | |
| virtual std::vector< std::optional< Utils::Vector3d > > | get_slice_flux_at_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const =0 |
| Get slice flux boundary conditions. | |
| virtual bool | remove_node_from_flux_boundary (Utils::Vector3i const &node)=0 |
| virtual bool | set_node_density_boundary (Utils::Vector3i const &node, double density)=0 |
| Set node density boundary conditions. | |
| virtual std::optional< double > | get_node_density_at_boundary (Utils::Vector3i const &node, bool consider_ghosts=false) const =0 |
| Get node density boundary conditions. | |
| virtual void | set_slice_density_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner, std::vector< std::optional< double > > const &density)=0 |
| Set slice density boundary conditions. | |
| virtual std::vector< std::optional< double > > | get_slice_density_at_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const =0 |
| Get slice density boundary conditions. | |
| virtual bool | remove_node_from_density_boundary (Utils::Vector3i const &node)=0 |
| virtual std::optional< bool > | get_node_is_flux_boundary (Utils::Vector3i const &node, bool consider_ghosts=false) const =0 |
| Check if node has flux boundary conditions. | |
| virtual std::optional< bool > | get_node_is_density_boundary (Utils::Vector3i const &node, bool consider_ghosts=false) const =0 |
| Check if node has density boundary conditions. | |
| virtual std::optional< bool > | get_node_is_boundary (Utils::Vector3i const &node, bool consider_ghosts=false) const =0 |
| Check if node has any boundary conditions. | |
| virtual std::vector< bool > | get_slice_is_boundary (Utils::Vector3i const &lower_corner, Utils::Vector3i const &upper_corner) const =0 |
| Check if slice has any boundary conditions. | |
| virtual void | clear_flux_boundaries ()=0 |
| virtual void | clear_density_boundaries ()=0 |
| virtual void | update_flux_boundary_from_shape (std::vector< int > const &, std::vector< double > const &)=0 |
| virtual void | update_density_boundary_from_shape (std::vector< int > const &, std::vector< double > const &)=0 |
| virtual double | get_diffusion () const noexcept=0 |
| virtual double | get_kT () const noexcept=0 |
| virtual double | get_valency () const noexcept=0 |
| virtual bool | get_advection () const noexcept=0 |
| virtual bool | get_friction_coupling () const noexcept=0 |
| virtual Utils::Vector3d | get_ext_efield () const noexcept=0 |
| virtual bool | is_double_precision () const noexcept=0 |
| virtual bool | is_thermalized () const noexcept=0 |
| virtual unsigned int | get_seed () const noexcept=0 |
| virtual std::optional< uint64_t > | get_rng_state () const =0 |
| virtual void | set_diffusion (double diffusion)=0 |
| virtual void | set_kT (double kT)=0 |
| virtual void | set_valency (double valency)=0 |
| virtual void | set_advection (bool advection)=0 |
| virtual void | set_friction_coupling (bool friction_coupling)=0 |
| virtual void | set_rng_state (uint64_t counter)=0 |
| virtual void | set_ext_efield (Utils::Vector3d const &field)=0 |
| virtual std::size_t | get_density_id () const noexcept=0 |
| virtual bool | is_gpu () const noexcept=0 |
| Get whether the kernels run on GPUs. | |
| ~EKinWalberlaBase () override=default | |
Public Member Functions inherited from LatticeModel | |
| virtual | ~LatticeModel ()=default |
| virtual LatticeWalberla const & | get_lattice () const noexcept=0 |
| Get the underlying lattice. | |
| 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. | |
Additional Inherited Members | |
Public Types inherited from LatticeModel | |
| using | units_map = std::unordered_map< std::string, double > |
Protected Member Functions inherited from LatticeModel | |
| virtual void | register_vtk_field_writers (walberla::vtk::VTKOutput &vtk_obj, units_map const &units_conversion, int flag_observables)=0 |
| Register VTK writers. | |
| virtual void | register_vtk_field_filters (walberla::vtk::VTKOutput &vtk_obj)=0 |
| virtual void | integrate_vtk_writers ()=0 |
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. | |
Interface of a lattice-based electrokinetic model.
Definition at line 31 of file EKinWalberlaBase.hpp.
|
overridedefault |
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Get node density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Get node density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Get node flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Get node flux vector.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Check if node has any boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Check if node has density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Check if node has flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Get slice density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Get slice density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Get slice flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Get slice density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Check if slice has any boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
perform ghost communication of densities
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Integrate EKin for one time step.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Get whether the kernels run on GPUs.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Set node density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Set node density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Set node flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Set slice density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Set slice density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Set slice flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtualnoexcept |
Number of discretized fluxes.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType, Architecture >.