Lethe v1.0.4 compatible wth deal.ii 9.7 #1918
blaisb
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The Lethe v1.0.4 requires the latest major release of the deal.II library (deal.ii v9.7).
As part of the v1.0 release, the major components of this version are detailed in the following Journal Article (which is available in open-access):
https://doi.org/10.1016/j.cpc.2025.109880
Lethe v1.0.4 introduces some key new features and bug fixes including:
The full Changelog is here:
[Master] - 2026/02/19
Fixed
[Master] - 2026/02/18
Changed
[Master] - 2026/02/17
Fixed
Added
MINOR This PR adds the velocity gradient field to the post-processor data structure. #1913
MINOR This PR improves the Doxygen documentation and the comments for the VANS assemblers. The VANS assemblers were correctly documented, but the formulas of the assemblers were still written in C++ style instead of in LaTeX style which made their rendering on the doxygen very poor. This PR improves this by formatting in LaTeX. #1909
[Master] - 2026/02/16
Added
verbosityis set toextra verbosein the mortar subsection, the functionmortar_workload_imbalanceis called. Then, the computed workload imbalance is printed, as well as the minimum and maximum number of mortar cells per process. #1910Fixed
Added
Changed
MINOR This PR improves the Doxygen documentation interface. We integrate Doxygen Awesome CSS with dark/light mode support as the base theme and extend it with several enhancements:
All features are compatible with both dark and light modes. #1908
[Master] - 2026/02/13
Fixed
[Master] - 2026/02/11
Added
MAJOR This PR adds the option to have up to 5 different refinement boxes.
number of refinement boxesdeclares the number of refinement boxes and each box has its own subsection (box #). Within the subsection,additional refinementdefines the number of additional times the simulation triangulation is refined within the box region. An alias foradditional refinementwith its previous nameinitial refinementprevents compatibility issues. Ameshsubsection, within thebox #subsection, defines the parameters of the refinement box mesh. Within the latter, users can define scaling, translation and rotation of the refinement mesh. This subsection contains the same parameters as the simulationmeshsubsection. Two application tests (2D and 3D) added tolethe-fluidprotect the software against regressions.This PR also adds a new function
apply_mesh_transformationto scale, translate, and rotate the meshes in the listed order.Finally, this PR updates all concerned examples, tests and documentation. #1901
Added/Fixed
[Master] - 2026/02/09
Added
custom distributionasvolumeornumberweighted. In addition, an option was added to the "custom distribution" allowing the sampled diameter values to be interpolated between input data points. Finally, thecustom distributiondiameter values and probability values can be defined using the probability density function (PDF) or the cumulative density function (CDF) of the particle size distribution (PSD). #1892Changed
std::unordered_maptostd::vectors. #1892[Master] - 2026/02/07
Changed
[Master] - 2026/02/05
Changed
MINOR Added checks for unsupported multiphysics combinations. Cahn-Hilliard with heat transfer and Cahn-Hilliard with thermal buoyancy force now throw since these combinations are not currently supported. Using the isothermal ideal gas density model with the thermal buoyancy force now throws since the isothermal ideal gas model assumes thermal independence of the density, which is incompatible with the thermal buoyancy force. #1899
MINOR Renamed
buoyancy forcetothermal buoyancy forcein the multiphysics subsection to distinguish it from the Archimedes buoyancy force used in DEM/CFD-DEM. The parameterset buoyancy forceis nowset thermal buoyancy force, the assembler classesBuoyancyAssemblyandBuoyancyAssemblyVOFare nowThermalBuoyancyAssemblyandThermalBuoyancyAssemblyVOF, and the matrix-free operator memberbuoyancy_termis nowthermal_buoyancy_term. A deprecated alias ensures that existing parameter files usingset buoyancy forcecontinue to work. All affected tests, examples, and documentation have been updated. #1898Fixed
PSPGSUPGNavierStokesAssemblerCore, when using VOF, the density term appears explicitely in both left and right had sides of the assembly fromGLSNavierStokesVOFAssemblerCore. As such, the BuoyancyAssembler from the base Navier-Stokes code did not compute the proper buoyancy term. This was fixed by adding a new buoyancy assembler specific for VOFnavier_stokes_vof_assemblersand changed the setup assembler in bothfluid_dynamic_matrix_basedandfluid_dynamic_blockto compute buoyancy properly. All tests affected by this change have been updated and a new VOF specific buoyancy test has been added to the application test suite. #1896[Master] - 2026/01/29
Changed
adaptcontrolling the time step with both the CFL condition and the capillary time-step constraint (withrespect capillary time-step constraintenabled) seems inappropriate. Instead, both conditions can now be enabled independently.adapt time step to respect CFLcan be set totrueto control adaptive time-stepping with the user-chosenmax cflandadapt time step to respect CTRcan be set totrueto control the time step withmax capillary time-step ratio. When both are enabled, the most constraining (smallest) sets the new time-step value. As this is an important parameter change, an alias was made for the old parameteradapt(=adapt time step to respect CFL).respect capillary time-step constrainthas been replaced byadapt time step to respect CTRandcapillary time-step ratiobymax capillary time-step ratio.All tests and examples affected by this change have been updated.
Additionally, all uses of "time-step" that are not as a compound adjective have been replaced with "time step". #1894
[Master] - 2026/01/27
Fixed
lethe-fluid-vans-matrix-freeandlethe-fluid-particles-matrix-freeapplication tests changed only slightly, except for MMS test case 2, which was updated so that the source term accounts for this correction. The outputs of the affected tests were updated accordingly. Essentially, this PR adopts the changes of Add missing vans terms in the stress tensor in the VANS equations (model A) #1890 into the matrix-free solver. #1895[Master] - 2026/01/27
Changed
Fixed
lethe-fluid-particlesandlethe-fluid-vansapplication tests changed only slightly, except for MMS test case 2, which was updated so that the source term accounts for this correction. The outputs of the affected tests were updated accordingly. #1890[Master] - 2026/01/26
Added
MINOR This PR adds the option to set a simulation initial time-step that respects the capillary time-step constraint through enabling (setting to$\Delta t_\sigma$ ) in the $N_\text{CTR}$ ), users can specify a multiple of the default capillary time-step constraint as defined by [1]. By default, the $N_\text{CTR}$ is set to 1. A $N_\text{CTR}$ value < 1 can improve stability for highly dynamic cases, and using a $N_\text{CTR}$ value > 1 can lead to a significant decrease in computation time in some cases.
true) the parameterrespect capillary time-step constraint(simulation controlsubsection. This constraint is especially useful when simulating capillary flows. With the parametercapillary time-step ratio(Additionally, when$N_\text{CTR} \times \Delta t_\sigma $ ) at every time-step. A warning message is printed on the console when
respect capillary time-step constraintis paired withadapt(for adaptive time-stepping), the time-step will be dynamically updated to respect the capillary time-step (adaptis disabled to inform the user that the capillary time-step constraint might not be respected if either of the mesh cell size, the densities or the surface tension coefficient evolves dynamically.Finally, a new overload of the
announce_stringfunction has also been added to allow multiple line banners. #1886[1] F. Denner, F. Evrard, and B. van Wachem “Breaching the capillary
time-step constraint using a coupled VOF method with implicit surface tension,” J. Comput. Phys., vol. 459, p. 111128, Jun. 2022, doi: 10.1016/j.jcp.2022.111128
MINOR This PR is a follow-up for the time harmonic electromagnetic auxiliary physics rudimentary implementation Electromagnetics auxiliary physics architecture #1852. It links its physical material properties Electromagnetic physical properties #1862 to the assembly, creates the waveguide port boundary conditions, update previous application tests related to the physics and add a new one for a dissipative medium. It also removes .prm in the examples/multiphysics/waveguide as this example will come in a follow up PR. #1882
[Master] - 2026-01-22
Fixed
[Master] - 2026-01-21
Changed
Fixed
[Master] - 2026-01-20
Changed
[Master] - 2026-01-19
Changed
[Master] - 2026-01-16
Changed
MINOR In the cylindrical packed bed example, the pressure drop across the bed is compared with the Ergun correlation. This was done in PR [Fix the VANS example of a flow through a packed bed by using an implicit drag formulation instead of the default semi-implicit one. #1840], where a bed porosity of 0.45 was used in the correlation. In this PR, the bed porosity is calculated using the bed height that is extracted from the simulation instead, leading to a better estimate for the pressure drop. [ Adjust packed bed example pressure plot #1881] ( Adjust packed bed example pressure plot #1881)
MINOR This PR adds the option to declare a particle size distribution in the parameter file as volume-based for the
normalandlognormaldistribution. Thecustomdistribution is the only distribution that is not supporting thenumber-baseddistribution. The will get fixed in a follow up PR. #1875[Master] - 2026/01/15
Changed
MAJOR The algebraic reinitialization PDE had some issues converging towards steady-state. To solve them, this PR:
reinitialization CFLparameter toartificial time-step factor(an alias was made forreinitialization CFL, to avoid parameter file version issues), and;This PR also updates the rising bubble example. Other VOF examples with surface tension force (static bubble, capillary wave, and Rayleigh-Plateau instability) will have to be checked and updated in a future PR. #1879
[Master] - 2026-01-13
Changed
set_insertion_typefunction definitions indem.cc,cfd_dem_coupling.cc, andcfd_dem_coupling_matrix_free.ccwith a single definition inset_insertion_method.cc. #1877[Master] - 2026/01/12
Fixed
MINOR The lethe-particles/distribution_normal.prm application test was using a log-normal distribution. The parameter was changed back to
normal. As a result, the output of the test did change. #1876MINOR The convection term in the VANS equations for models A and B is changed from
local_matrix_ij += ((phi_u_j * void_fraction * velocity_gradient * phi_u_i) + (grad_phi_u_j * void_fraction * velocity * phi_u_i));tolocal_matrix_ij += ((velocity_gradient * phi_u_j * void_fraction * phi_u_i) + (grad_phi_u_j * void_fraction * velocity * phi_u_i))in the matrix assembly, to match the correct algebraic formula. The output of thelethe-fluid-particlesandlethe-fluid-vansapplication tests changed only slightly. Therefore, their outputs were updated in this PR as well. #1874[Master] - 2026/01/07
Added
Fixed
[Master] - 2026/01/06
Fixed
[Master] - 2025/12/19
Added
[Master] - 2025/12/23
Added
MINOR This PR adds a gas-solid cylindrical fluidized bed example to the Lethe example suite. Different filtering and drag coupling approaches are compared using a robust benchmark problem: the dependence of the pressure drop on the superficial gas inlet velocity. VANS Model A is used with both QCM and cell-based filters using the matrix-based solver. The same model is also tested with the QCM filter using the matrix-free solver. For each configuration, three drag coupling strategies are considered: explicit, semi-implicit, and implicit. #1844
MAJOR The unresolved CFD-DEM matrix-free implementation could not allow dynamic load balancing during the simulation since this feature had not been implemented yet. This adds the load balance implementation as well as make sure that it works well in both releaseand debug mode. An application test which is the sedimentation of a particle in parallel with dynamic load balancing is added to ensure that the test is stable in parallel since it was quite difficult to figure out all of the ghost logic of the vectors considering that both Trilinos and deal.II vectors are used in the ParticleProjector class. #1869
[Master] - 2025/12/19
Fixed
[Master] - 2025/12/18**
Fixed
[Master] - 2025/12/17
Changed
MAJOR Floating walls declaration in a parameter file got changed so that it requires fewer parameters for the
point on walland thenormal vector. A bug was also find during this change: thenormal vectorwasn't normalized after being parsed. As a results, if the user did not declare a unit vector in the parameter file, the normal overlap between particles and thisfloating wallis off by some factor. This problem got fixed, but resulted in the change of an application-test output (which was declaring the normal vector as a non-unit vector). #1850MINOR The verification of the number of cells at the stator and rotor interfaces was being done inside the loops for dealii and gmsh grids. This PR adjusts this by doing the verification only once, after the initial mesh refinement is performed. #1854
Fixed
MINOR This is a follow-up of Fix cfd dem matrix free restart bug in parallel due to wrong vector size. #1863. Although Fix cfd dem matrix free restart bug in parallel due to wrong vector size. #1863 fixed the restart and prevented the simulations from crashing, the time history of the void fraction was not store appropriately. This stemmed from a confusion since in the matrix-free solver, it is the deal.II distributed vectors for the void fraction which are checkpointed and not the Trilinos ones. This PR reads the correct deal.II vector when reading a checkpoint, but also ensures that the values in the Trilinos vectors matches that of the deal.II vectors. This allows reproducing the norm of the residuals to machine accuracy when restarting. #1864
MINOR The Matrix-free CFD-DEM solver could not restart adequately. This is because the solution vector for the fluid was not sized accordingly. The deal.II vectors require that the locally relevant dofs be provided to the vector before reading a checkpoint, which is not the case for the Trilinos vectors. This would prevent restarts in parallel. #1863
[Master] - 2025/12/16
Added
[Master] - 2025/12/15
Fixed
[Master] - 2025/12/14
Changed
lethe-particles,lethe-fluid-particlesandlethe-fluid-particles-matrix-freesolver had to be updated. Also in this PR, the documentation relative to theupdate-golden.tlscript got updated. #1849Added
[Master] - 2025/12/13
Fixed
[Master] - 2025/12/11
Fixed
Removed
[Master] - 2025/12/10
Added
Fixed
Full Changelog: v1.0.3...v1.0.4
This discussion was created from the release Lethe v1.0.4 compatible wth deal.ii 9.7.
Beta Was this translation helpful? Give feedback.
All reactions