The big novelties of this important release are the free-surface fluid model, the marching-cube implementation for data post-processing, and the Java programmer interface.
Palabos already came with two multi-phase models (Shan/Chen and He/Lee). This new release now provides an efficient implementation of binary fluid systems with infinite viscosity ratio, through a free-surface model. The low-viscosity fluid is neglected here, and a volume-of-fluid approach used to trace the interface of the remaining fluid. Andrea implemented this model for us.
As usual, the implementation of this model is fully parallel, has excellent scaling properties, and can be conveniently combined with existing Palabos ingredients (e.g. Bounce-Back boundary treatment, VTK output, etc.).
In lieu of a documentation, a complete example is provided (examples/showCases/breakingDam3d.cpp).
Check out the new movies of the dam break problem on the Palabos web page!
When you run Palabos on a large parallel machine, you run into the typical post-processing bottleneck: the produced data files are too large to be reasonable treated with Paraview, for example. For this reason, Palabos progressively introduces internal post-processing abilities that are fully parallel and therefore not subject to this bottleneck.
In this release, a parallel marching-cube implementation is provided which computes iso-surfaces and exports them in the STL format (see examples in examples/codesByTopic/marchingCube).
One particularly interesting application of the marching-cube algorithm is its ability to export the fluid surface from Palabos' new free surface model. You can for example simulate a big river system on a parallel machine, and export the shape of the free surface at frequent intervals without running into an I/O bottleneck.
Since Version 1.0, Palabos provides an implementation of off-lattice boundaries for fluids: you can read a geometry description from an STL file, and automatically set up a fluid system, with inlets and outlets, in parallel, with sparse memory representation. A similar off-lattice model has now been implemented for the advection-diffusion equation, and it has become possible to simulate thermal convection in a general geometry.
Additionally to the already existing Python interface, Palabos now offers a Java interface, implemented for us by Yann. Java is a compiled language and was implemented in a different spirit than the Python interface. The Python binding was developed to add interactive programming and rapid prototyping to Palabos' programming interface. From the Java binding we rather expect to open up Palabos to a larger audience of programmers unfamiliar with C++, and to more easily integrate it with other software libraries.
Some nested templates linked to the serialization of dynamics objects seem to be misinterpreted in some newer versions of GCC. We removed them (and hope we've spotted them all).
The documentation has been update to reflect the change from previous uses of an external voxelizer to Palabos' own parallel voxelizer with sparse domain creation.