bitpit 1.3.0 Released

OPTIMAD Engineering Srl is pleased to announce the release of version 1.3.0 of the bitpit library for scientific high performance computing. Version 1.3.0 introduces dump/restore functionality for patch and level-set modules, an xml parser for handling configuration file and a complete rewrite of levelset module to allow Boolean operations among objects.

bitpit 1.3.0 is distributed under the General Public License by OPTIMAD Engineering Srl as source code for compilation on Linux systems.

Major highlights

Restart functionality has been introduced for both patch and levelset modules. The state of a patch/levelset can be “dumped” to a binary file and, at a later time, it can be “restored”. The patch/levelset is restored in the exact same state it was at the moment it was saved to disk, making this feature suitable for implementing a restart capability.

An xml parser is now available in bitpit. The purpose of this parser is to load, create and modify the configuration files needed for storing application settings. Since the parsing of the xml is done though Libxml2, this library is now mandatory for compiling the IO module.

Handling of levelset objects has been rewritten from sctatch to allow Boolean operation among objects. Once primitive objects have been loaded, new objects can be created applying Boolean operation to them. Supported operations are union, subtraction and intersection.

When a patch is partitioned among processes it is often necessary to evaluate global information, like the total number of cells or the global index of a specific local cell. PatchGlobalInfo is a new class introduced in bitpit 1.3.0 to evaluate and store global information of a patch.

The PABLO module (and consequently the VolOctree module) can now handle partitions with zero octants. This means that is now possible to partition an octree on a number of processes greater than the number of octants.

New functions to find the neighbors of ghost cells have been introduced in the PABLO module.

The SurfUnstructured module has now the ability to correct facets orientation of a tessellation. Here, the correctness of facet orientations is defined as follows: a facet orientation is correct if its front side corresponds to the outside of a solid object represented or implied by the mesh.

Bugfixes and minor changes.

Changes in behavior compared to prior versions

The container “CollapsedVector2D” has been improved and renamed to “FlatVector2D”.