Skip to content

Moving changes from dev to master (Release 2026.04)#114

Merged
diogosiebert merged 35 commits into
masterfrom
dev
May 5, 2026
Merged

Moving changes from dev to master (Release 2026.04)#114
diogosiebert merged 35 commits into
masterfrom
dev

Conversation

@diogosiebert

Copy link
Copy Markdown
Collaborator

This pull request merges the dev and master branches. Since recent changes were integrated into the dev branch through previous pull requests, all updates included here have already been reviewed and discussed. This merge is being performed via a pull request to ensure transparency and proper tracking.

These changes have also been tested over an extended period, as we have been running the dev branch in our cluster at UFSC across multiple scenarios (e.g., multiple GPUs, multiple CPUs, and different GPU types).

Ricardoleite and others added 30 commits September 3, 2025 14:51
Added the standard permeability permeability  in lbpm_permeability_simulator (Discussed in Issue #68)
Added missing #include for silo library  (Issue #87)
Change the constant in the interpolation of the viscosity to make it simpler
Change interpolation function of the viscosity to make it simpler.
Change interpolation function of the viscosity to make it simpler.
Improvements in viscous coupling
Add force to the momentum calculation and fix ASSERT of visData names
Merging changes pulled and already approved to the master branch
#105)

* bugfix: kernel packing of send buffers must complete before initiating message passing

* Reorganize packing and sending of buffers

Just reorganize the unpacking, syncronization and send for efficiency as point by JamesEMcClure on PR #105 before merging the code

---------

Co-authored-by: Diogo Nardelli Siebert <diogosiebert@gmail.com>
I proposed this implementation last year but closed my own PR because it included changes unrelated to this new feature.

Since then, we have been using this feature in all our simulations, which has allowed us to identify and fix several small bugs. I believe it is now quite mature, so I am merging it into the dev branch so other developers and users can test it and suggest further improvements.


* Adding VTI (VTK XML Imagedata) output support
Fix a building error in newer MPI/GCC version and small bugs on ctest  scripts
* spurious diffusive effect correction

* missing ID_solid

* Trying to implement new wettability imposition  using bitwise operations for optimization

* Fix building errors

* Fix building errors

* Fix building error

* Fix small building errors

* Try to remove unnecessary variables

* Fix unexcepted error when computing normal vectors

* Another attempt to fix Subphase analysis error

* Optimized Implementation of the wettability fix

* Adding wettability fix (optimized) to CPU implementation

* Fix sign

* reading communication as a solid

* plus/minus addition for contact angle

* cleaning

* Reverting changes in CMakeLists.txt

* Updating CMakeLists.txt with dev branch to avoid merge issues

* Update c-cpp.yml

---------

Co-authored-by: Diogo Nardelli Siebert <diogo.siebert@ufsc.br>
Co-authored-by: Diogo Nardelli Siebert <diogosiebert@gmail.com>
…rom-restart

bugfix: restart to initialize from previous timestep
I am merging this PR since the bug is clear, and the additional changes made by @jeremyfirst22 guarantee the same behavior for the default parameters.

I also agree that dividing by "analysis_interval" makes more sense in terms of the relative error per time step. However, the key point here is that this should be well documented so that the user understands what the tolerance means.
jeremyfirst22 and others added 5 commits April 21, 2026 14:07
* feature: 'sw_steady' protocol for color model to exit explicitly on sw convergence

* Separate handling for centrifuge and sw_steady

Refactor protocol handling to separate the centrifuge and sw_steady cases, making them consistent with the existing parameter reading structure and enabling a custom error message.

---------

Co-authored-by: Diogo Nardelli Siebert <diogosiebert@gmail.com>
…tead of maxReduce, leading to the wrong maximum pore size in the sample which was also dependent on the number of tasks used. (#113)

Co-authored-by: Diogo Nardelli Siebert <diogo.siebert@ufsc.br>
…It introduces two protocols:

* **MICP**, where the non-wetting phase invades from all faces of the sample;
* **Drainage**, supporting both compressible and incompressible cases.

Additionally, new implementations of the **Euclidean Distance Transform (EDT)** and **component labeling** have been developed.

This is an initial version and still requires a parallel implementation. The goal is to eventually replace the current morphology functions in LBPM. To achieve this, the following developments are needed:

1. Full parallel MPI implementation of EDT and component labeling;
2. Adaptation of the EDT algorithm to compute distances from solid–fluid interfaces (walls);
3. Addition of a signed version of the EDT algorithm;
4. An option to compute EDT and component labeling with periodic boundary conditions.

In the future, the **morphDrain** pre-processor could be unified, allowing users to select the desired method through a protocol option.

For now, these functions and the simulator are provided as separate files to avoid confusion with existing implementations until all features listed above are fully implemented and tested.
…ere sumReduce was incorrectly used instead of maxReduce.
@diogosiebert
diogosiebert merged commit 6d686d3 into master May 5, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants