Commit b6f607c7 authored by Markus Holzer's avatar Markus Holzer
Browse files

Update master

parents 5105aff5 cce82fcc
Pipeline #31000 failed with stages
in 44 minutes and 47 seconds
...@@ -11,6 +11,7 @@ bugprone-*, ...@@ -11,6 +11,7 @@ bugprone-*,
misc-*, misc-*,
-misc-misplaced-const, -misc-misplaced-const,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes, -misc-non-private-member-variables-in-classes,
modernize-*, modernize-*,
...@@ -25,8 +26,11 @@ modernize-*, ...@@ -25,8 +26,11 @@ modernize-*,
-modernize-redundant-void-arg, -modernize-redundant-void-arg,
-modernize-use-trailing-return-type, -modernize-use-trailing-return-type,
-modernize-avoid-c-arrays, -modernize-avoid-c-arrays,
-modernize-concat-nested-namespaces,
-modernize-use-nodiscard,
mpi-*, mpi-*,
-mpi-type-mismatch,
openmp-*, openmp-*,
-openmp-exception-escape, -openmp-exception-escape,
...@@ -43,21 +47,24 @@ readability-deleted-default, ...@@ -43,21 +47,24 @@ readability-deleted-default,
readability-isolate-declaration, readability-isolate-declaration,
readability-misleading-indentation, readability-misleading-indentation,
readability-misplaced-array-index, readability-misplaced-array-index,
readability-non-const-parameter,
readability-redundant-access-specifiers,
readability-redundant-control-flow, readability-redundant-control-flow,
readability-redundant-declaration, readability-redundant-declaration,
readability-redundant-function-ptr-dereference, readability-redundant-function-ptr-dereference,
readability-redundant-preprocessor, readability-redundant-preprocessor,
readability-redundant-smartptr-get, readability-redundant-smartptr-get,
readability-redundant-string-cstr, readability-redundant-string-cstr,
readability-simplify-boolean-expr,
readability-simplify-subscript-expr, readability-simplify-subscript-expr,
readability-static-accessed-through-instance, readability-static-accessed-through-instance,
readability-static-definition-in-anonymous-namespace, readability-static-definition-in-anonymous-namespace,
readability-string-compare, readability-string-compare,
readability-uniqueptr-delete-release readability-uniqueptr-delete-release,
readability-use-anyofallof
' '
WarningsAsErrors: '*' WarningsAsErrors: '*'
HeaderFilterRegex: '' HeaderFilterRegex: '.*'
AnalyzeTemporaryDtors: false
... ...
This diff is collapsed.
[submodule "extern/pybind11"]
path = extern/pybind11
url = https://github.com/pybind/pybind11.git
[settings]
line_length=100
balanced_wrapping=True
multi_line_output=4
known_third_party=sympy
...@@ -13,7 +13,10 @@ Dominik Bartuschat ...@@ -13,7 +13,10 @@ Dominik Bartuschat
Ehsan Fattahi Ehsan Fattahi
Felix Winterhalter Felix Winterhalter
Florian Schornbaum Florian Schornbaum
Frederik Hennig
Grigorii Drozdov
Helen Schottenhamml Helen Schottenhamml
Igor Ostanin
Jan Götz Jan Götz
Jan Hönig Jan Hönig
João Victor Tozatti Risso João Victor Tozatti Risso
......
...@@ -2,6 +2,11 @@ ...@@ -2,6 +2,11 @@
## [Unreleased] ## [Unreleased]
- 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.
## [4.1] - 2019-04-19 ## [4.1] - 2019-04-19
### Added ### Added
- Galerkin coarsening for Multigrid - Galerkin coarsening for Multigrid
......
This diff is collapsed.
...@@ -19,8 +19,8 @@ is documented in [Sphinx](http://walberla.net/sphinx/index.html). ...@@ -19,8 +19,8 @@ is documented in [Sphinx](http://walberla.net/sphinx/index.html).
## Getting started ## Getting started
The minimum requirements are a C++14-compliant compiler (e.g. GCC or Clang), The minimum requirements are a C++17-compliant compiler (e.g. GCC or Clang)
the [Boost](http://www.boost.org) library and the [CMake](http://www.cmake.org) and the [CMake](http://www.cmake.org)
build system. Furthermore, you need an MPI library (like build system. Furthermore, you need an MPI library (like
[Open MPI](http://www.open-mpi.org)) if you want to make use of parallel [Open MPI](http://www.open-mpi.org)) if you want to make use of parallel
processing capabilities. All of these dependencies are typically available in processing capabilities. All of these dependencies are typically available in
...@@ -47,15 +47,30 @@ Many thanks go to waLBerla's [contributors](AUTHORS.txt) ...@@ -47,15 +47,30 @@ Many thanks go to waLBerla's [contributors](AUTHORS.txt)
If you use waLBerla in a publication, please cite the following articles: If you use waLBerla in a publication, please cite the following articles:
- C. Godenschwager, F. Schornbaum, M. Bauer, H. Köstler, and U. Rüde. A Overview:
framework for hybrid parallel flow simulations with a trillion cells in complex - M. Bauer et al, *waLBerla: A block-structured high-performance framework for
geometries. In: Proceedings of the International Conference on High Performance multiphysics simulations*. Computers & Mathematics with Applications, 2020.
Computing, Networking, Storage and Analysis, page 35. ACM, 2013. https://doi.org/10.1016/j.camwa.2020.01.007.
- M. Bauer, S. Eibl, C. Godenschwager, N. Kohl, M. Kuron, C. Rettinger,
F. Schornbaum, C. Schwarzmeier, D. Thönnes, H. Köstler, and U. Rüde. waLBerla: Grid Refinement:
A block-structured high-performance framework for multiphysics simulations. In: - F. Schornbaum and U. Rüde, *Massively parallel algorithms for the lattice boltzmann
Computers & Mathematics with Applications, doi:10.1016/j.camwa.2020.01.007. method on nonuniform grids*. SIAM Journal on Scientific Computing, 2016.
Elsevier, 2020. https://doi.org/10.1137/15M1035240
LBM - Particle Coupling:
- C. Rettinger and U. Rüde, *A comparative study of fluid-particle coupling methods for
fully resolved lattice Boltzmann simulations*. Computers & Fluids, 2017.
https://doi.org/10.1016/j.compfluid.2017.05.033
MESA-PD:
- S. Eibl and U. Rüde, *A Modular and Extensible Software Architecture for Particle Dynamics*.
Proceedings Of The 8Th International Conference On Discrete Element Methods.
https://mercurylab.co.uk/dem8/full-papers/#page-content
Carbon Nanotubes:
- G. Drozdov et al, *Densification of single-walled carbon nanotube films:
Mesoscopic distinct element method simulations and experimental validation*.
Journal of Applied Physics, 2020. https://doi.org/10.1063/5.0025505
## License ## License
......
...@@ -32,6 +32,4 @@ endif() ...@@ -32,6 +32,4 @@ endif()
# Python module # Python module
if ( WALBERLA_BUILD_WITH_PYTHON ) if ( WALBERLA_BUILD_WITH_PYTHON )
add_subdirectory( pythonmodule ) add_subdirectory( pythonmodule )
# no else with "EXLUDE_FROM_ALL" here, since if WALBERLA_BUILD_WITH_PYTHON_MODULE is not activated
# waLBerla was build without -fPIC , so no linking into shared library is possible
endif() endif()
\ No newline at end of file
...@@ -90,25 +90,25 @@ using walberla::uint_t; ...@@ -90,25 +90,25 @@ using walberla::uint_t;
////////////// //////////////
// PDF field, flag field & body field // PDF field, flag field & body field
typedef lbm::D3Q19< lbm::collision_model::TRT, false> LatticeModel_T; using LatticeModel_T = lbm::D3Q19<lbm::collision_model::TRT, false>;
typedef LatticeModel_T::Stencil Stencil_T; using Stencil_T = LatticeModel_T::Stencil;
typedef lbm::PdfField< LatticeModel_T > PdfField_T; using PdfField_T = lbm::PdfField<LatticeModel_T>;
typedef walberla::uint8_t flag_t; using flag_t = walberla::uint8_t;
typedef FlagField< flag_t > FlagField_T; using FlagField_T = FlagField<flag_t>;
typedef GhostLayerField< pe::BodyID, 1 > BodyField_T; using BodyField_T = GhostLayerField<pe::BodyID, 1>;
typedef GhostLayerField< Vector3<real_t>, 1 > VelocityField_T; using VelocityField_T = GhostLayerField<Vector3<real_t>, 1>;
const uint_t FieldGhostLayers = 4; const uint_t FieldGhostLayers = 4;
// boundary handling // boundary handling
typedef lbm::NoSlip< LatticeModel_T, flag_t > NoSlip_T; using NoSlip_T = lbm::NoSlip<LatticeModel_T, flag_t>;
typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_T; using MO_T = pe_coupling::CurvedLinear<LatticeModel_T, FlagField_T>;
typedef BoundaryHandling< FlagField_T, Stencil_T, NoSlip_T, MO_T > BoundaryHandling_T; using BoundaryHandling_T = BoundaryHandling<FlagField_T, Stencil_T, NoSlip_T, MO_T>;
typedef std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane> BodyTypeTuple; using BodyTypeTuple = std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane>;
/////////// ///////////
// FLAGS // // FLAGS //
...@@ -135,8 +135,8 @@ template< typename LatticeModel_T, typename Filter_T > ...@@ -135,8 +135,8 @@ template< typename LatticeModel_T, typename Filter_T >
class VectorGradientRefinement class VectorGradientRefinement
{ {
public: public:
typedef GhostLayerField< Vector3<real_t>, 1 > VectorField_T; using VectorField_T = GhostLayerField<Vector3<real_t>, 1>;
typedef typename LatticeModel_T::Stencil Stencil_T; using Stencil_T = typename LatticeModel_T::Stencil;
VectorGradientRefinement( const ConstBlockDataID & fieldID, const Filter_T & filter, VectorGradientRefinement( const ConstBlockDataID & fieldID, const Filter_T & filter,
const real_t upperLimit, const real_t lowerLimit, const uint_t maxLevel ) : const real_t upperLimit, const real_t lowerLimit, const uint_t maxLevel ) :
...@@ -1504,7 +1504,7 @@ int main( int argc, char **argv ) ...@@ -1504,7 +1504,7 @@ int main( int argc, char **argv )
// add velocity field and utility // add velocity field and utility
BlockDataID velocityFieldID = field::addToStorage<VelocityField_T>( blocks, "velocity field", Vector3<real_t>(real_t(0)), field::zyxf, uint_t(2) ); BlockDataID velocityFieldID = field::addToStorage<VelocityField_T>( blocks, "velocity field", Vector3<real_t>(real_t(0)), field::zyxf, uint_t(2) );
typedef lbm::VelocityFieldWriter< PdfField_T, VelocityField_T > VelocityFieldWriter_T; using VelocityFieldWriter_T = lbm::VelocityFieldWriter<PdfField_T, VelocityField_T>;
BlockSweepWrapper< VelocityFieldWriter_T > velocityFieldWriter( blocks, VelocityFieldWriter_T( pdfFieldID, velocityFieldID ) ); BlockSweepWrapper< VelocityFieldWriter_T > velocityFieldWriter( blocks, VelocityFieldWriter_T( pdfFieldID, velocityFieldID ) );
...@@ -1847,7 +1847,7 @@ int main( int argc, char **argv ) ...@@ -1847,7 +1847,7 @@ int main( int argc, char **argv )
"Body Mapping", finestLevel ); "Body Mapping", finestLevel );
// add sweep for restoring PDFs in cells previously occupied by pe bodies // add sweep for restoring PDFs in cells previously occupied by pe bodies
typedef pe_coupling::EquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T > Reconstructor_T; using Reconstructor_T = pe_coupling::EquilibriumReconstructor<LatticeModel_T, BoundaryHandling_T>;
Reconstructor_T reconstructor( blocks, boundaryHandlingID, bodyFieldID ); Reconstructor_T reconstructor( blocks, boundaryHandlingID, bodyFieldID );
refinementTimestep->addPostStreamVoidFunction(lbm::refinement::SweepAsFunctorWrapper( pe_coupling::PDFReconstruction< LatticeModel_T, BoundaryHandling_T, Reconstructor_T > ( blocks, pdfFieldID, refinementTimestep->addPostStreamVoidFunction(lbm::refinement::SweepAsFunctorWrapper( pe_coupling::PDFReconstruction< LatticeModel_T, BoundaryHandling_T, Reconstructor_T > ( blocks, pdfFieldID,
boundaryHandlingID, bodyStorageID, globalBodyStorage, bodyFieldID, reconstructor, FormerMO_Flag, Fluid_Flag ), blocks ), boundaryHandlingID, bodyStorageID, globalBodyStorage, bodyFieldID, reconstructor, FormerMO_Flag, Fluid_Flag ), blocks ),
......
...@@ -84,25 +84,25 @@ using walberla::uint_t; ...@@ -84,25 +84,25 @@ using walberla::uint_t;
////////////// //////////////
// PDF field, flag field & body field // PDF field, flag field & body field
typedef lbm::D3Q19< lbm::collision_model::TRT, false > LatticeModel_T; using LatticeModel_T = lbm::D3Q19<lbm::collision_model::TRT, false>;
typedef LatticeModel_T::Stencil Stencil_T; using Stencil_T = LatticeModel_T::Stencil;
typedef lbm::PdfField< LatticeModel_T > PdfField_T; using PdfField_T = lbm::PdfField<LatticeModel_T>;
typedef walberla::uint8_t flag_t; using flag_t = walberla::uint8_t;
typedef FlagField< flag_t > FlagField_T; using FlagField_T = FlagField<flag_t>;
typedef GhostLayerField< pe::BodyID, 1 > BodyField_T; using BodyField_T = GhostLayerField<pe::BodyID, 1>;
typedef GhostLayerField< Vector3<real_t>, 1 > VelocityField_T; using VelocityField_T = GhostLayerField<Vector3<real_t>, 1>;
const uint_t FieldGhostLayers = 4; const uint_t FieldGhostLayers = 4;
// boundary handling // boundary handling
typedef lbm::NoSlip< LatticeModel_T, flag_t > NoSlip_T; using NoSlip_T = lbm::NoSlip<LatticeModel_T, flag_t>;
typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_T; using MO_T = pe_coupling::CurvedLinear<LatticeModel_T, FlagField_T>;
typedef BoundaryHandling< FlagField_T, Stencil_T, NoSlip_T, MO_T > BoundaryHandling_T; using BoundaryHandling_T = BoundaryHandling<FlagField_T, Stencil_T, NoSlip_T, MO_T>;
typedef std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane> BodyTypeTuple; using BodyTypeTuple = std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane>;
/////////// ///////////
// FLAGS // // FLAGS //
...@@ -128,8 +128,8 @@ template< typename LatticeModel_T, typename Filter_T > ...@@ -128,8 +128,8 @@ template< typename LatticeModel_T, typename Filter_T >
class VectorGradientRefinement class VectorGradientRefinement
{ {
public: public:
typedef GhostLayerField< Vector3<real_t>, 1 > VectorField_T; using VectorField_T = GhostLayerField<Vector3<real_t>, 1>;
typedef typename LatticeModel_T::Stencil Stencil_T; using Stencil_T = typename LatticeModel_T::Stencil;
VectorGradientRefinement( const ConstBlockDataID & fieldID, const Filter_T & filter, VectorGradientRefinement( const ConstBlockDataID & fieldID, const Filter_T & filter,
const real_t upperLimit, const real_t lowerLimit, const uint_t maxLevel ) : const real_t upperLimit, const real_t lowerLimit, const uint_t maxLevel ) :
...@@ -994,7 +994,7 @@ int main( int argc, char **argv ) ...@@ -994,7 +994,7 @@ int main( int argc, char **argv )
// add velocity field and utility // add velocity field and utility
BlockDataID velocityFieldID = field::addToStorage<VelocityField_T>( blocks, "velocity field", Vector3<real_t>(real_t(0)), field::zyxf, uint_t(2) ); BlockDataID velocityFieldID = field::addToStorage<VelocityField_T>( blocks, "velocity field", Vector3<real_t>(real_t(0)), field::zyxf, uint_t(2) );
typedef lbm::VelocityFieldWriter< PdfField_T, VelocityField_T > VelocityFieldWriter_T; using VelocityFieldWriter_T = lbm::VelocityFieldWriter<PdfField_T, VelocityField_T>;
BlockSweepWrapper< VelocityFieldWriter_T > velocityFieldWriter( blocks, VelocityFieldWriter_T( pdfFieldID, velocityFieldID ) ); BlockSweepWrapper< VelocityFieldWriter_T > velocityFieldWriter( blocks, VelocityFieldWriter_T( pdfFieldID, velocityFieldID ) );
...@@ -1177,7 +1177,7 @@ int main( int argc, char **argv ) ...@@ -1177,7 +1177,7 @@ int main( int argc, char **argv )
"Body Mapping", finestLevel ); "Body Mapping", finestLevel );
// add sweep for restoring PDFs in cells previously occupied by pe bodies // add sweep for restoring PDFs in cells previously occupied by pe bodies
typedef pe_coupling::EquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T > Reconstructor_T; using Reconstructor_T = pe_coupling::EquilibriumReconstructor<LatticeModel_T, BoundaryHandling_T>;
Reconstructor_T reconstructor( blocks, boundaryHandlingID, bodyFieldID ); Reconstructor_T reconstructor( blocks, boundaryHandlingID, bodyFieldID );
refinementTimestep->addPostStreamVoidFunction(lbm::refinement::SweepAsFunctorWrapper( pe_coupling::PDFReconstruction< LatticeModel_T, BoundaryHandling_T, Reconstructor_T > ( blocks, pdfFieldID, refinementTimestep->addPostStreamVoidFunction(lbm::refinement::SweepAsFunctorWrapper( pe_coupling::PDFReconstruction< LatticeModel_T, BoundaryHandling_T, Reconstructor_T > ( blocks, pdfFieldID,
boundaryHandlingID, bodyStorageID, globalBodyStorage, bodyFieldID, reconstructor, FormerMO_Flag, Fluid_Flag ), blocks ), boundaryHandlingID, bodyStorageID, globalBodyStorage, bodyFieldID, reconstructor, FormerMO_Flag, Fluid_Flag ), blocks ),
......
...@@ -86,23 +86,23 @@ using namespace walberla; ...@@ -86,23 +86,23 @@ using namespace walberla;
using walberla::uint_t; using walberla::uint_t;
// PDF field, flag field & body field // PDF field, flag field & body field
typedef lbm::D3Q19< lbm::collision_model::TRT, false> LatticeModel_T; using LatticeModel_T = lbm::D3Q19<lbm::collision_model::TRT, false>;
typedef LatticeModel_T::Stencil Stencil_T; using Stencil_T = LatticeModel_T::Stencil;
typedef lbm::PdfField< LatticeModel_T > PdfField_T; using PdfField_T = lbm::PdfField<LatticeModel_T>;
typedef walberla::uint8_t flag_t; using flag_t = walberla::uint8_t;
typedef FlagField< flag_t > FlagField_T; using FlagField_T = FlagField<flag_t>;
typedef GhostLayerField< pe::BodyID, 1 > BodyField_T; using BodyField_T = GhostLayerField<pe::BodyID, 1>;
const uint_t FieldGhostLayers = 1; const uint_t FieldGhostLayers = 1;
// boundary handling // boundary handling
typedef pe_coupling::CurvedLinear< LatticeModel_T, FlagField_T > MO_CLI_T; using MO_CLI_T = pe_coupling::CurvedLinear<LatticeModel_T, FlagField_T>;
typedef BoundaryHandling< FlagField_T, Stencil_T, MO_CLI_T > BoundaryHandling_T; using BoundaryHandling_T = BoundaryHandling<FlagField_T, Stencil_T, MO_CLI_T>;
typedef std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane> BodyTypeTuple; using BodyTypeTuple = std::tuple<pe::Sphere, pe::Ellipsoid, pe::Plane>;
/////////// ///////////
// FLAGS // // FLAGS //
...@@ -754,7 +754,7 @@ int main( int argc, char **argv ) ...@@ -754,7 +754,7 @@ int main( int argc, char **argv )
<< Sweep( pe_coupling::BodyMapping< LatticeModel_T, BoundaryHandling_T >( blocks, pdfFieldID, boundaryHandlingID, bodyStorageID, globalBodyStorage, bodyFieldID, MO_CLI_Flag, FormerMO_Flag, pe_coupling::selectRegularBodies ), "Body Mapping" ); << Sweep( pe_coupling::BodyMapping< LatticeModel_T, BoundaryHandling_T >( blocks, pdfFieldID, boundaryHandlingID, bodyStorageID, globalBodyStorage, bodyFieldID, MO_CLI_Flag, FormerMO_Flag, pe_coupling::selectRegularBodies ), "Body Mapping" );
// sweep for restoring PDFs in cells previously occupied by pe bodies // sweep for restoring PDFs in cells previously occupied by pe bodies
typedef pe_coupling::EquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T > Reconstructor_T; using Reconstructor_T = pe_coupling::EquilibriumReconstructor<LatticeModel_T, BoundaryHandling_T>;
Reconstructor_T reconstructor( blocks, boundaryHandlingID, bodyFieldID); Reconstructor_T reconstructor( blocks, boundaryHandlingID, bodyFieldID);
timeloop.add() timeloop.add()
<< Sweep( pe_coupling::PDFReconstruction< LatticeModel_T, BoundaryHandling_T, Reconstructor_T > << Sweep( pe_coupling::PDFReconstruction< LatticeModel_T, BoundaryHandling_T, Reconstructor_T >
......
add_subdirectory( AdaptiveMeshRefinementFluidParticleCoupling ) add_subdirectory( AdaptiveMeshRefinementFluidParticleCoupling )
add_subdirectory( ComplexGeometry ) add_subdirectory( ComplexGeometry )
add_subdirectory( DEM ) add_subdirectory( DEM )
add_subdirectory( FieldCommunication )
add_subdirectory( MeshDistance ) add_subdirectory( MeshDistance )
add_subdirectory( CouetteFlow ) add_subdirectory( CouetteFlow )
add_subdirectory( FluidParticleCoupling ) add_subdirectory( FluidParticleCoupling )
add_subdirectory( FluidParticleCouplingWithLoadBalancing )
add_subdirectory( ForcesOnSphereNearPlaneInShearFlow ) add_subdirectory( ForcesOnSphereNearPlaneInShearFlow )
add_subdirectory( GranularGas ) add_subdirectory( GranularGas )
add_subdirectory( IntegratorAccuracy )
add_subdirectory( LennardJones ) add_subdirectory( LennardJones )
add_subdirectory( NonUniformGrid ) add_subdirectory( NonUniformGrid )
add_subdirectory( MotionSingleHeavySphere ) add_subdirectory( MotionSingleHeavySphere )
...@@ -14,10 +15,20 @@ add_subdirectory( PoiseuilleChannel ) ...@@ -14,10 +15,20 @@ add_subdirectory( PoiseuilleChannel )
add_subdirectory( ProbeVsExtraMessage ) add_subdirectory( ProbeVsExtraMessage )
add_subdirectory( SchaeferTurek ) add_subdirectory( SchaeferTurek )
add_subdirectory( UniformGrid ) add_subdirectory( UniformGrid )
if ( WALBERLA_BUILD_WITH_CODEGEN )
add_subdirectory( UniformGridGenerated ) if ( WALBERLA_BUILD_WITH_PYTHON )
add_subdirectory( PhaseFieldAllenCahn ) add_subdirectory( FieldCommunication )
endif()
if ( WALBERLA_BUILD_WITH_CODEGEN AND WALBERLA_BUILD_WITH_CUDA ) if ( WALBERLA_BUILD_WITH_CODEGEN )
add_subdirectory( UniformGridGPU ) add_subdirectory( UniformGridGenerated )
add_subdirectory( PhaseFieldAllenCahn )
endif()
if ( WALBERLA_BUILD_WITH_CODEGEN AND WALBERLA_BUILD_WITH_CUDA )
add_subdirectory( UniformGridGPU )
endif()
endif() endif()
...@@ -118,21 +118,21 @@ using walberla::real_t; ...@@ -118,21 +118,21 @@ using walberla::real_t;
// TYPEDEFS // // TYPEDEFS //
////////////// //////////////
typedef lbm::D3Q15< lbm::collision_model::SRT, false > D3Q15_SRT_INCOMP; using D3Q15_SRT_INCOMP = lbm::D3Q15<lbm::collision_model::SRT, false>;
typedef lbm::D3Q15< lbm::collision_model::SRT, true > D3Q15_SRT_COMP; using D3Q15_SRT_COMP = lbm::D3Q15<lbm::collision_model::SRT, true>;
typedef lbm::D3Q15< lbm::collision_model::TRT, false > D3Q15_TRT_INCOMP; using D3Q15_TRT_INCOMP = lbm::D3Q15<lbm::collision_model::TRT, false>;
typedef lbm::D3Q15< lbm::collision_model::TRT, true > D3Q15_TRT_COMP; using D3Q15_TRT_COMP = lbm::D3Q15<lbm::collision_model::TRT, true>;
typedef lbm::D3Q19< lbm::collision_model::SRT, false > D3Q19_SRT_INCOMP; using D3Q19_SRT_INCOMP = lbm::D3Q19<lbm::collision_model::SRT, false>;
typedef lbm::D3Q19< lbm::collision_model::SRT, true > D3Q19_SRT_COMP; using D3Q19_SRT_COMP = lbm::D3Q19<lbm::collision_model::SRT, true>;
typedef lbm::D3Q19< lbm::collision_model::TRT, false > D3Q19_TRT_INCOMP; using D3Q19_TRT_INCOMP = lbm::D3Q19<lbm::collision_model::TRT, false>;
typedef lbm::D3Q19< lbm::collision_model::TRT, true > D3Q19_TRT_COMP; using D3Q19_TRT_COMP = lbm::D3Q19<lbm::collision_model::TRT, true>;
typedef lbm::D3Q19< lbm::collision_model::D3Q19MRT, false > D3Q19_MRT_INCOMP; using D3Q19_MRT_INCOMP = lbm::D3Q19<lbm::collision_model::D3Q19MRT, false>;
typedef lbm::D3Q27< lbm::collision_model::SRT, false > D3Q27_SRT_INCOMP; using D3Q27_SRT_INCOMP = lbm::D3Q27<lbm::collision_model::SRT, false>;
typedef lbm::D3Q27< lbm::collision_model::SRT, true > D3Q27_SRT_COMP; using D3Q27_SRT_COMP = lbm::D3Q27<lbm::collision_model::SRT, true>;
typedef lbm::D3Q27< lbm::collision_model::TRT, false > D3Q27_TRT_INCOMP; using D3Q27_TRT_INCOMP = lbm::D3Q27<lbm::collision_model::TRT, false>;
typedef lbm::D3Q27< lbm::collision_model::TRT, true > D3Q27_TRT_COMP; using D3Q27_TRT_COMP = lbm::D3Q27<lbm::collision_model::TRT, true>;
template< typename LatticeModel_T > template< typename LatticeModel_T >
struct Types struct Types
...@@ -370,10 +370,10 @@ class MyBoundaryHandling ...@@ -370,10 +370,10 @@ class MyBoundaryHandling
{ {
public: public:
typedef lbm::NoSlip< LatticeModel_T, flag_t > NoSlip_T; using NoSlip_T = lbm::NoSlip<LatticeModel_T, flag_t>;
typedef lbm::SimpleUBB< LatticeModel_T, flag_t > UBB_T; using UBB_T = lbm::SimpleUBB<LatticeModel_T, flag_t>;
typedef BoundaryHandling< FlagField_T, typename Types<LatticeModel_T>::Stencil_T, NoSlip_T, UBB_T > BoundaryHandling_T; using BoundaryHandling_T = BoundaryHandling<FlagField_T, typename Types<LatticeModel_T>::Stencil_T, NoSlip_T, UBB_T>;
...@@ -616,7 +616,7 @@ struct AddRefinementTimeStep ...@@ -616,7 +616,7 @@ struct AddRefinementTimeStep
} }
else else
{ {
typedef lbm::SplitSweep< LatticeModel_T, FlagField_T > Sweep_T; using Sweep_T = lbm::SplitSweep<LatticeModel_T, FlagField_T>;
auto mySweep = make_shared< Sweep_T >( pdfFieldId, flagFieldId, Fluid_Flag ); auto mySweep = make_shared< Sweep_T >( pdfFieldId, flagFieldId, Fluid_Flag );
addRefinementTimeStep< LatticeModel_T, Sweep_T >( timeloop, blocks, pdfFieldId, boundaryHandlingId, timingPool, levelwiseTimingPool, addRefinementTimeStep< LatticeModel_T, Sweep_T >( timeloop, blocks, pdfFieldId, boundaryHandlingId, timingPool, levelwiseTimingPool,
......
...@@ -48,7 +48,7 @@ int main( int argc, char** argv ) ...@@ -48,7 +48,7 @@ int main( int argc, char** argv )
using namespace walberla; using namespace walberla;
using namespace walberla::pe; using namespace walberla::pe;
typedef std::tuple<Sphere, Plane> BodyTuple ; using BodyTuple = std::tuple<Sphere, Plane> ;
walberla::MPIManager::instance()->initializeMPI( &argc, &argv ); walberla::MPIManager::instance()->initializeMPI( &argc, &argv );
......
...@@ -4,4 +4,4 @@ waLBerla_link_files_to_builddir( "*.py" ) ...@@ -4,4 +4,4 @@ waLBerla_link_files_to_builddir( "*.py" )
waLBerla_add_