espressomd / espresso

The ESPResSo package
https://espressomd.org
GNU General Public License v3.0
226 stars 183 forks source link

Walberla: Initialization with viscosities and relaxation rates #4028

Open RudolfWeeber opened 3 years ago

RudolfWeeber commented 3 years ago

Allow initialization of Walberla LB with:

The code is in src/walberla_bridge/LBWalberla(Fluctuating)MRT.hpp (actual LB specializations incl their constructors) src/walberla_bridge/lb_walberla_init.cpp/hpp (instance creation) src/core/grid_based_algorithms/lb_walberla_instance.cpp (Espresso side of instance creation and management) src/python/espressomd/lb.pyx/pxd: cython interface code

The rules for calculating the four relaxation times from shear viscosity and magic number are currently repeated in the LB specializations. This should be moved into a free function. It might make sense to introduce a type LBRelaxationRates with omega_bulk/shear/odd_even as data members. Alternatively, a std::tuple<double, double, double, double> can be used, but then the order is unclear.

itischler commented 3 years ago

I can have a look at this on coding day

jngrad commented 3 years ago

Implementing this ticket would require rewriting the LBwalberlaImpl constructor. Not too hard, but there is currently no use case for this feature. We will not work on this at the moment. If someone needs this feature, please let us know here or on the mailing list.