ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <Solver.hpp>
Classes | |
struct | Implementation |
Public Member Functions | |
Solver () | |
bool | is_solver_set () const |
Return true if an EK solver is active. | |
bool | is_ready_for_propagation () const |
Return true if an EK solver can be propagated. | |
void | reset () |
Remove the EK solver. | |
template<typename LB , class... Args> | |
void | set (Args... args) |
Set the EK solver. | |
template<class Connector > | |
void | connect (Connector &&connector) const |
Connector to the implementation internal state. | |
void | propagate () |
Propagate the EK species. | |
void | init () const |
Perform a full initialization of the lattice-Boltzmann system. | |
double | get_tau () const |
Get the EK time step. | |
void | sanity_checks () const |
Perform EK parameter checks. | |
void | veto_time_step (double time_step) const |
Check if a MD time step is compatible with the EK tau. | |
void | veto_kT (double kT) const |
Check if a thermostat is compatible with the EK temperature. | |
void | on_boxl_change () |
void | on_node_grid_change () |
void | on_cell_structure_change () |
void | on_timestep_change () |
void | on_temperature_change () |
void | veto_boxl_change () const |
template<> | |
void | set (std::shared_ptr< EKNone > ek_instance) |
template<> | |
void | set (std::shared_ptr< EKWalberla > ek_instance) |
Public Member Functions inherited from System::Leaf< Solver > | |
void | bind_system (std::shared_ptr< System > const &system) |
void | detach_system (std::shared_ptr< System > const &system) |
Additional Inherited Members | |
Protected Member Functions inherited from System::Leaf< Solver > | |
auto & | get_system () |
auto & | get_system () const |
Protected Attributes inherited from System::Leaf< Solver > | |
std::weak_ptr< System > | m_system |
Definition at line 33 of file ek/Solver.hpp.
EK::Solver::Solver | ( | ) |
Definition at line 46 of file ek/Solver.cpp.
|
inline |
Connector to the implementation internal state.
For developers: use this mechanism to access the underlying variant.
Definition at line 57 of file ek/Solver.hpp.
double EK::Solver::get_tau | ( | ) | const |
|
inline |
Perform a full initialization of the lattice-Boltzmann system.
All derived parameters and the fluid are reset to their default values.
Definition at line 71 of file ek/Solver.hpp.
bool EK::Solver::is_ready_for_propagation | ( | ) | const |
Return true if an EK solver can be propagated.
Definition at line 62 of file ek/Solver.cpp.
References is_solver_set().
bool EK::Solver::is_solver_set | ( | ) | const |
Return true if an EK solver is active.
Definition at line 58 of file ek/Solver.cpp.
References EK::is_solver_set().
Referenced by is_ready_for_propagation().
void EK::Solver::on_boxl_change | ( | ) |
Definition at line 106 of file ek/Solver.cpp.
void EK::Solver::on_cell_structure_change | ( | ) |
Definition at line 99 of file ek/Solver.cpp.
void EK::Solver::on_node_grid_change | ( | ) |
Definition at line 112 of file ek/Solver.cpp.
void EK::Solver::on_temperature_change | ( | ) |
Definition at line 124 of file ek/Solver.cpp.
void EK::Solver::on_timestep_change | ( | ) |
Definition at line 118 of file ek/Solver.cpp.
void EK::Solver::propagate | ( | ) |
Propagate the EK species.
Definition at line 68 of file ek/Solver.cpp.
References EK::check_solver().
void EK::Solver::reset | ( | ) |
Remove the EK solver.
Definition at line 60 of file ek/Solver.cpp.
References System::System::ek, and System::get_system().
Referenced by ScriptInterface::walberla::EKContainer::do_call_method().
void EK::Solver::sanity_checks | ( | ) | const |
Perform EK parameter checks.
Definition at line 73 of file ek/Solver.cpp.
References System::Leaf< Solver >::get_system().
void EK::Solver::set | ( | Args... | args | ) |
Set the EK solver.
For developers: a specialization must exist for every new EK type.
Referenced by ScriptInterface::walberla::EKContainer::do_call_method().
void EK::Solver::set | ( | std::shared_ptr< EKNone > | ek_instance | ) |
Definition at line 135 of file ek/Solver.cpp.
void EK::Solver::set | ( | std::shared_ptr< EKWalberla > | ek_instance | ) |
Definition at line 143 of file ek/Solver.cpp.
References System::Leaf< Solver >::get_system().
void EK::Solver::veto_boxl_change | ( | ) | const |
Definition at line 93 of file ek/Solver.cpp.
void EK::Solver::veto_kT | ( | double | kT | ) | const |
Check if a thermostat is compatible with the EK temperature.
Definition at line 87 of file ek/Solver.cpp.
void EK::Solver::veto_time_step | ( | double | time_step | ) | const |
Check if a MD time step is compatible with the EK tau.
Definition at line 80 of file ek/Solver.cpp.