Has there been any work done about implementing dynamics for a binary fluid, for example the Shan-Chen model? To be clear, this model would require 2 sets of distribution functions that each undergo collision and streaming. Also, there is an interaction force between the fluids that depends on neighboring densities of the two fluids.
Some specific questions:
Is the code in its current state able to incorporate 2 sets of distribution functions?
I assume that a new dynamics module would need to be written, but this shouldn’t be hard, right?
Will there be any complicating issues for parallel usage? (will multiBlock____ files work with this model?
the possibility of coupling different lattices is currently not in the official release. However it is currently being developed. The main missing part is the parallelization, and I hope it will be added in the next release (actually I coded the Shan-Chen model which seems to be working).
To answer your questions more in details.
Currently, as I wrote before, there is no structure for the incorporation of the coupling between teo sets of distributions. Nevertheless it is possible to do some things “by hand”, by creating two BlockLatticeXD objects and doing the neccessarycoupling in the main loop.
Thje answer of the second question is related to the way one wants to implement the model. If you do it through a force, you do not need a new dynamics module (you just have to use the ForcedBGKdynamics. Otherwise (if you do a coupling through the velocity for example, then you’ll have to writes a new dynamics object.
This is the main issue, where the “by hand” method will be a bit difficult. And this is why we planned to include some “multiphysics” structure in the library, to have an automatic parallelization structure (like it is done with the postprocessors for example).
I hope I answered you questions. Do not hesitate to ask for details.