Commit 35749200 authored by Sebastian Eibl's avatar Sebastian Eibl
Browse files

added support for clang 5.0

parent 229f371d
Pipeline #5081 passed with stage
in 128 minutes and 59 seconds
......@@ -856,30 +856,86 @@ clang_4.0_mpionly:
clang_4.0_hybrid:
<<: *build_hybrid_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
only:
- triggers
tags:
- docker
clang_4.0_serial_dbg:
<<: *build_serial_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
only:
- triggers
tags:
- docker
clang_4.0_mpionly_dbg:
<<: *build_mpionly_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
only:
- triggers
tags:
- docker
clang_4.0_hybrid_dbg:
<<: *build_hybrid_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
only:
- triggers
tags:
- docker
clang_4.0_hybrid_dbg_sp:
<<: *build_hybrid_dbg_sp_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
only:
- triggers
tags:
- docker
clang_5.0_serial:
<<: *build_serial_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
only:
- triggers
tags:
- docker
clang_5.0_mpionly:
<<: *build_mpionly_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
only:
- triggers
tags:
- docker
clang_5.0_hybrid:
<<: *build_hybrid_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
tags:
- docker
clang_5.0_serial_dbg:
<<: *build_serial_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
tags:
- docker
clang_5.0_mpionly_dbg:
<<: *build_mpionly_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
tags:
- docker
clang_5.0_hybrid_dbg:
<<: *build_hybrid_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
tags:
- docker
clang_5.0_hybrid_dbg_sp:
<<: *build_hybrid_dbg_sp_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
tags:
- docker
......
......@@ -34,6 +34,8 @@
#include "pde/iterations/CGFixedStencilIteration.h"
#include "pde/iterations/CGIteration.h"
#include <functional>
namespace walberla {
namespace pde {
......@@ -85,9 +87,7 @@ VCycles< Stencil_T >::VCycles( shared_ptr< StructuredBlockForest > blocks, const
// Set up fields for coarser levels
for ( uint_t lvl = 1; lvl < numLvl; ++lvl )
{
auto getSize = [this,lvl] ( const shared_ptr< StructuredBlockStorage > & sbs, IBlock * const b ) {
return VCycles<Stencil_T>::getSizeForLevel(lvl, sbs, b);
};
auto getSize = std::bind(VCycles<Stencil_T>::getSizeForLevel, lvl, std::placeholders::_1, std::placeholders::_2);
uId_.push_back( field::addToStorage< PdeField_T >( blocks, "u_"+boost::lexical_cast<std::string>(lvl), getSize, real_t(0), field::zyxf, uint_t(1) ) );
fId_.push_back( field::addToStorage< PdeField_T >( blocks, "f_"+boost::lexical_cast<std::string>(lvl), getSize, real_t(0), field::zyxf, uint_t(1) ) );
rId_.push_back( field::addToStorage< PdeField_T >( blocks, "r_"+boost::lexical_cast<std::string>(lvl), getSize, real_t(0), field::zyxf, uint_t(1) ) );
......@@ -100,9 +100,7 @@ VCycles< Stencil_T >::VCycles( shared_ptr< StructuredBlockForest > blocks, const
}
// Set up fields for CG on coarsest level
auto getFineSize = [this,numLvl] ( const shared_ptr< StructuredBlockStorage > & sbs, IBlock * const b ) {
return VCycles<Stencil_T>::getSizeForLevel(numLvl-1, sbs, b);
};
auto getFineSize = std::bind(VCycles<Stencil_T>::getSizeForLevel, numLvl-1, std::placeholders::_1, std::placeholders::_2);
dId_ = field::addToStorage< PdeField_T >( blocks, "d", getFineSize, real_t(0), field::zyxf, uint_t(1) );
zId_ = field::addToStorage< PdeField_T >( blocks, "z", getFineSize, real_t(0), field::zyxf, uint_t(1) );
......@@ -194,9 +192,7 @@ VCycles< Stencil_T >::VCycles( shared_ptr< StructuredBlockForest > blocks, const
// Set up fields for coarser levels
for ( uint_t lvl = 1; lvl < numLvl; ++lvl )
{
auto getSize = [this,lvl] ( const shared_ptr< StructuredBlockStorage > & sbs, IBlock * const b ) {
return VCycles<Stencil_T>::getSizeForLevel(lvl, sbs, b);
};
auto getSize = std::bind(VCycles<Stencil_T>::getSizeForLevel, lvl, std::placeholders::_1, std::placeholders::_2);
uId_.push_back( field::addToStorage< PdeField_T >( blocks, "u_"+boost::lexical_cast<std::string>(lvl), getSize, real_t(0), field::zyxf, uint_t(1) ) );
fId_.push_back( field::addToStorage< PdeField_T >( blocks, "f_"+boost::lexical_cast<std::string>(lvl), getSize, real_t(0), field::zyxf, uint_t(1) ) );
rId_.push_back( field::addToStorage< PdeField_T >( blocks, "r_"+boost::lexical_cast<std::string>(lvl), getSize, real_t(0), field::zyxf, uint_t(1) ) );
......@@ -206,9 +202,7 @@ VCycles< Stencil_T >::VCycles( shared_ptr< StructuredBlockForest > blocks, const
coarsenStencilFields(); // scaling by ( 1/h^2 )^lvl
// Set up fields for CG on coarsest level
auto getFineSize = [this,numLvl] ( const shared_ptr< StructuredBlockStorage > & sbs, IBlock * const b ) {
return VCycles<Stencil_T>::getSizeForLevel(numLvl-1, sbs, b);
};
auto getFineSize = std::bind(VCycles<Stencil_T>::getSizeForLevel, numLvl-1, std::placeholders::_1, std::placeholders::_2);
dId_ = field::addToStorage< PdeField_T >( blocks, "d", getFineSize, real_t(0), field::zyxf, uint_t(1) );
zId_ = field::addToStorage< PdeField_T >( blocks, "z", getFineSize, real_t(0), field::zyxf, uint_t(1) );
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment