Skip to content
Snippets Groups Projects
To find the state of this project's repository at the time of any of these versions, check out the tags.
Forked from waLBerla / waLBerla
482 commits behind the upstream repository.

Changelog

[5.1] - 2020-04-09

Added

  • Add new tutorials and showcases
  • Extend MESA-PD functionalities, including several molecular dynamics models
  • Fluid-particle coupling with MESA-PD: functionalities, tests, benchmark scenarios

Changed

  • Update to C++17
  • Update CUDA compiler support
  • Extend Clang-Tidy coverage
  • Add closer integration of code generation using pystencils and lbmpy
  • Python Coupling now build upon pybind11. Boost.Python is no longer supported
    • lbm module dropped from python coupling due to deprecation for a long time
    • geometry, postprocessing and timeloop dropped from python coupling due to its low usage
    • PEP8-ification of Python API. This means all keyword arguments are now in snake_case and not in CamelCase as before.

Fixed

  • Guo force model for non-SRT, may change simulation results

[4.1] - 2019-04-19

Added

  • Galerkin coarsening for Multigrid
  • LBM-PE-Coupling:
    • new coupling approach for unresolved particle interactions (discrete particle method)
    • adaptive grid refinement for coupled simulations
    • load balancing functionalities for coupled simulations
    • module description
  • integrated pystencils and lbmpy code generation for kernels and pack infos
  • new GPU communication, including support for GPUDirect
  • load balancing functionality for the pe
  • implemented IProbe communication as an alternative to two message communication for unknown size communication
  • new creation helpers for BlockForest
  • Minor:
    • dynamic load balancing now possible with levels ignored
    • ExtendedBoundaryHandlingFactory now uses ParserUBB instead of UBB so that velocity profiles can be specified as an equation in a parameter file
    • Enabled the body selection functions for PSM coupling method
    • grid_generators now allow range based for loops

Changed

  • A compiler with full C++14 support is now required
  • All Boost usage has been replaced with the corresponding standard library functionality, except for Boost.Python (used for the python_coupling module), Boost.PropertyTree (used in config::configToBoostPropertyTree) and Boost.Graph (used by math::EquationSystem). This usually means you need to replace boost:: with std:: in your code and change some #includes.
  • API changes in blockforest::PhantomBlockForest, blockforest::loadbalancing, pe::amr::weight_assignment
  • API change for vtk::VTKOutput::getFilenames
  • made SendBuffer memory access more high level
  • PE coupling:
    • changed body mapping functions: removed most of them, added mapping-decider function, accomodated changes to test cases, added new mapping test case
    • changed pe coupling mapping functions interfaces, added new mapping functions, adapted test cases and benchmarks
    • change in lubrication correction functionality to not require the lattice model but use the dynamic viscosity directly
  • PE:
    • rebased Union on BodyStorage
    • pe::Union, boundary::BoundaryHandling and boundary::BoundaryHandlingCollection are now variadic templates instead of taking a tuple of bodies/boundaries/handlers. This means that you need to replace std::tuple<A,B> with A,B in these cases.
    • using smart pointers for all memory management
    • made setMass protected
    • extended DEM collision model with dt
    • pe::createBlockForest changed to support a variable number of processes
    • changed BodyStatistics to use shared_ptr instead of reference

Removed

  • Remove dependency resolution from Singleton
  • from PE
    • Node
    • PtrVector
    • contacts from RigidBody
    • attached bodies
    • attachables

Fixed

  • Fix implict/explict naming in pe::cr

Deprecated

  • all dynamic level-wise balance functions (use the more general ones, without "level-wise")