ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Interface of a lattice-based electrokinetic model. More...
#include <EKinWalberlaBase.hpp>
Public Member Functions | |
virtual void | integrate (std::size_t potential_id, std::size_t velocity_id, std::size_t force_id)=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 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 |
~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) |
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 >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Get node density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Get node density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Get node flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Check if node has any boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Check if node has density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Check if node has flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Get slice density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Get slice density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Get slice flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Check if slice has any boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
perform ghost communication of densities
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Integrate EKin for one time step.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Set node density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Set node density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Set node flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Set slice density.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Set slice density boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Set slice flux boundary conditions.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
Referenced by ScriptInterface::walberla::EKSpeciesSlice::do_call_method().
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtualnoexcept |
Number of discretized fluxes.
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.
|
pure virtual |
Implemented in walberla::EKinWalberlaImpl< FluxCount, FloatType >.