Sadly I am still not sure if the implementation of many these is proper, so they might need proper validation (there are even more boundaries there, but I'm not sure how far along they were :x). Most of these have atleast been running and produced probable results^^
Hi, here I will be listing things from my fork that I think might be beneficial for lettuce as a whole, as discussed previously.
(Still WIP on this list)
Option to cancel simulation once any entry of f is NaN: https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/simulation.py#L91 with a delay so the output of the VTK-reporter that shows where NaN is as mask, has time to work: https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/reporters.py#L60
If more inspiration or something for the parallelisation is needed: https://github.com/MartinKliemank/lettuce/blob/lettuceMPI/lettuce/distributed.py; https://github.com/MartinKliemank/lettuce/blob/lettuceMPI/lettuce/grid.py
Option to have domain in CPU-RAM and collide two halfs separately in GPU (a bit faster than CPU only, larger domain than GPU only), idea by McBs: https://github.com/MartinKliemank/lettuce/blob/69df1fadc837a00286cc1a101c4bc53b21ea540f/lettuce/simulation.py#L261
Reporter / Observables
VTK-Reporter expanded to be able to output bounce-back mask as VTK-file: https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/reporters.py#L82
VTK-Reporter that only outputs pressure to save disk space (maybe integrate this with the normal VTK reporter and offer a choice of parameters to write?): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/reporters.py#L98
Drag Coefficient Observable (probably needs proper validation but was somewhat tested): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/observables.py#L119
Reporter for pressure at given coordinates: https://github.com/MartinKliemank/lettuce/blob/69df1fadc837a00286cc1a101c4bc53b21ea540f/lettuce/observables.py#L367, old version: https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/observables.py#L153
Reporter for velocity at given coordintes: https://github.com/MartinKliemank/lettuce/blob/69df1fadc837a00286cc1a101c4bc53b21ea540f/lettuce/observables.py#L382
Reporter for real time duration of a time step (maybe not the greatest idea): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/observables.py#L139
Reporter for current time step number (i): https://github.com/MartinKliemank/lettuce/blob/69df1fadc837a00286cc1a101c4bc53b21ea540f/lettuce/reporters.py#L309
Boundary conditions:
Sadly I am still not sure if the implementation of many these is proper, so they might need proper validation (there are even more boundaries there, but I'm not sure how far along they were :x). Most of these have atleast been running and produced probable results^^
Synthetic Eddy Inlet (Buffa 2021): https://github.com/MartinKliemank/lettuce/blob/69df1fadc837a00286cc1a101c4bc53b21ea540f/lettuce/boundary.py#L283 works quite well I guess^^ needs a lot of inputs that will be in the upload to the Haus-Paper
Equilibrium Boundary that extrapolates u from neighbour (pressure outlet): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/boundary.py#L272
Equilibrium Boundary that extrapolates rho from neighbouring nodes (velocity inlet): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/boundary.py#L300
Nonequilibrium extrapolation outlet (Krüger): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/boundary.py#L466
Nonequilibrium extrapolation Inlet: https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/boundary.py#L518
Parent class for boundaries using direction attribute: https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/boundary.py#L30
Equilibrium Extrapolation boundary (Krüger?): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/boundary.py#L344
ZeroGradientOutlet (apparently not a great idea to use): https://github.com/MartinKliemank/lettuce/blob/cbeb758247046d6901fa2a6478b7cc0892c5c31e/lettuce/boundary.py#L370