Shiokaze framework (Shiokaze) is developed to make it easy to start research in fluid simulation for computer graphics, without really understanding every component of fluid simulation. How's that possible? Because Shiokaze delivers following highlights:
Research in fluid for computer graphics actually can be done without knowing every detail of fluid simulation. This is thanks to the fact that fluid simulation consists of various algorithms that deal with independent different problems, and improving one problem can be a major contribution. For example, solving Poisson's equation of pressure is often a computationally expensive part of the whole simulation, and speeding up the solver can be a significant contribution. Tracking deforming surfaces of fluid surfaces undergoing topology changes is also an open problem for liquid simulation, and making it accurate is also a remarkable contribution. However, in order to complete research, implementing the whole fluid simulation, visualizing results and comparisons to existing methods are required, which are the major obstacles for anyone who starts research in fluid. Shiokaze aims at removing such obstacles. For instance, if one comes up with a new idea for efficiently solving Poisson's equation of pressure, only he/she has to do is to focus on the implementation of an algorithm to solve the linear equations. Comparisons and visualization are quicky done by a couple of command lines. The authors of Shiokaze wish that the Shiokaze makes fluid simulation familiar, and let anyone enjoy research in fluid. Shiokaze means ocean breeze in Japanese.
Shiokaze currently comes with following algorithms:
At the cost of flexible usability, Shiokaze heavily depends on virtual function calls. For this reason, you may experience some amount of overhead compared to a highly performance-optimized implementation written by other people. Shiokaze currently only supports Linux and macOS platforms - not Windows. This is because we are not familar with Windows, we are too busy to maintain reliability among three multiple operating systems, and Shiokaze relies much on the UNIX environment. Note that Shiokaze makes use of Docker to deliver a build environment. This should make it possible to run on Windows as well (not verified). Shiokaze also lacks a Python support. This is our future work.
Shiokaze is currently being actively developed and maintained by Ryoichi Ando. The authors of Shiokaze wish that more people get in touch with Shiokaze and they find it useful. Therefore, we wish that Shiokaze is cited in your research paper if used. Bibliography of Shiokaze is: