Due to ambiguities between the pe flags (global, communicating, infiniteMass), and the demands of the pe coupling (regular , fixed, global bodies), see also issue #30 (closed), the body mapping inside the pe_coupling module has been completely reworked.
Most of the body mapping functions have been removed as they duplicated the functionality. Only two functions per type (standard LBM boundary condition mapping and momentum exchange boundary condition mapping) remained: to map all bodies and to map a single body. The user can specify with the help of a mapping body selector function which bodies should be mapped and which should be skipped. Standard routines are provided: selectAllBodies, selectRegularBodies(not infinite mass and not global), selectFixedBodies(infinite mass and not global), selectGlobalBodies
The PDF restoration has also been updated to now also restore global and fixed body PDFs in all cases.
These changes have been incorporated in all test cases and applications. An additional test case for the body mapping has been added.
Documentation has been added.
All isFixed() checks in the pe_coupling sources and test have been removed and, if considered necessary, adequately replaced.
The selector functions have also been added to the PSM body mapping. Thus, it is possible to use PSM and MEM coupling in the same simulation, given that specific selector functions are provided.
The selector functions have also been added to the discrete particle method evaluators. Thus, it will be possible to use fully resolved and DPM coupling in the same simulation. Some functionalities are however still missing (e.g. solid volume fraction mapping of the fully resolved particles to have a correct guess of the SVF for the empirical correlations and the GNS sweep).