Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • Nodal_diffusion
  • develop
  • feature/Navier-Stokes
  • feature/Nodal_diffusion
  • feature/composite-scheme
  • feature/composite-scheme-other-fluxes
  • feature/composite-scheme-sources
  • feature/coupling_module
  • feature/discontinuous-galerkin
  • feature/escobar-smoother
  • feature/explicit-gp-cfl
  • feature/gks
  • feature/gmsh-reader
  • feature/hypoelasticity
  • feature/hypoelasticity-clean
  • feature/implicit-solver
  • feature/implicit-solver-o2
  • feature/kinetic-schemes
  • feature/local-dt-fsi
  • feature/merge-local-dt-fsi
  • feature/polynomials
  • feature/reconstruction
  • feature/serraille
  • feature/variational-hydro
  • hyperplastic
  • master
  • navier-stokes
  • origin/stage/bouguettaia
  • save_clemence
  • test/voronoi1d
  • Kidder
  • v0
  • v0.0.1
  • v0.0.2
  • v0.0.3
  • v0.0.4
  • v0.1.0
  • v0.2.0
  • v0.3.0
  • v0.4.0
  • v0.4.1
  • v0.5.0
42 results

Target

Select target project
  • code/pugs
1 result
Select Git revision
  • Nodal_diffusion
  • develop
  • feature/Navier-Stokes
  • feature/Nodal_diffusion
  • feature/composite-scheme
  • feature/composite-scheme-other-fluxes
  • feature/composite-scheme-sources
  • feature/coupling_module
  • feature/discontinuous-galerkin
  • feature/escobar-smoother
  • feature/explicit-gp-cfl
  • feature/gks
  • feature/gmsh-reader
  • feature/hypoelasticity
  • feature/hypoelasticity-clean
  • feature/implicit-solver
  • feature/implicit-solver-o2
  • feature/kinetic-schemes
  • feature/local-dt-fsi
  • feature/merge-local-dt-fsi
  • feature/polynomials
  • feature/reconstruction
  • feature/serraille
  • feature/variational-hydro
  • hyperplastic
  • master
  • navier-stokes
  • origin/stage/bouguettaia
  • save_clemence
  • test/voronoi1d
  • Kidder
  • v0
  • v0.0.1
  • v0.0.2
  • v0.0.3
  • v0.0.4
  • v0.1.0
  • v0.2.0
  • v0.3.0
  • v0.4.0
  • v0.4.1
  • v0.5.0
42 results
Show changes
......@@ -6,7 +6,7 @@
#include <Array.hpp>
#include <RefNodeList.hpp>
#include <RefItemList.hpp>
#include <MeshNodeBoundary.hpp>
class BoundaryCondition
......
......@@ -26,7 +26,8 @@ void Messenger::destroy()
}
Messenger::
Messenger(int& argc, char* argv[])
Messenger([[maybe_unused]] int& argc,
[[maybe_unused]] char* argv[])
{
#ifdef PASTIS_HAS_MPI
MPI_Init(&argc, &argv);
......
......@@ -37,7 +37,7 @@ class Messenger
} else {
static_assert(std::is_arithmetic_v<DataType>,
"Unexpected arithmetic type! Should not occur!");
static_assert(not std::is_arithmetic_v<DataType>,
static_assert(is_false_v<DataType>,
"MPI_Datatype are only defined for arithmetic types!");
return MPI_Datatype();
}
......@@ -138,7 +138,8 @@ class Messenger
}
template <typename DataType>
void _broadcast_value(DataType& data, const size_t& root_rank) const
void _broadcast_value([[maybe_unused]] DataType& data,
[[maybe_unused]] const size_t& root_rank) const
{
static_assert(not std::is_const_v<DataType>);
static_assert(std::is_arithmetic_v<DataType>);
......@@ -152,7 +153,8 @@ class Messenger
}
template <typename ArrayType>
void _broadcast_array(ArrayType& array, const size_t& root_rank) const
void _broadcast_array([[maybe_unused]] ArrayType& array,
[[maybe_unused]] const size_t& root_rank) const
{
using DataType = typename ArrayType::data_type;
static_assert(not std::is_const_v<DataType>);
......@@ -231,6 +233,7 @@ class Messenger
}
}
if (request_list.size()>0) {
std::vector<MPI_Status> status_list(request_list.size());
if (MPI_SUCCESS != MPI_Waitall(request_list.size(), &(request_list[0]), &(status_list[0]))) {
// LCOV_EXCL_START
......@@ -238,6 +241,7 @@ class Messenger
std::exit(1);
// LCOV_EXCL_STOP
}
}
#else // PASTIS_HAS_MPI
Assert(sent_array_list.size() == 1);
......@@ -377,7 +381,7 @@ class Messenger
_allGather(cast_value_array, cast_gather_array);
} else {
static_assert(is_trivially_castable<DataType>, "unexpected type of data");
static_assert(is_false_v<DataType>, "unexpected type of data");
}
return gather_array;
}
......@@ -401,7 +405,7 @@ class Messenger
_allGather(cast_array, cast_gather_array);
} else {
static_assert(is_trivially_castable<DataType>, "unexpected type of data");
static_assert(is_false_v<DataType>, "unexpected type of data");
}
return gather_array;
}
......@@ -430,7 +434,7 @@ class Messenger
auto recv_cast_array = cast_array_to<CastType>::from(recv_array);
_allToAll(send_cast_array, recv_cast_array);
} else {
static_assert(is_trivially_castable<DataType>, "unexpected type of data");
static_assert(is_false_v<DataType>, "unexpected type of data");
}
return recv_array;
}
......@@ -453,8 +457,7 @@ class Messenger
_broadcast_array(cast_array, root_rank);
}
} else {
static_assert(is_trivially_castable<DataType>,
"unexpected non trivial type of data");
static_assert(is_false_v<DataType>, "unexpected type of data");
}
}
......@@ -483,8 +486,7 @@ class Messenger
auto cast_array = cast_array_to<CastType>::from(array);
_broadcast_array(cast_array, root_rank);
} else{
static_assert(is_trivially_castable<DataType>,
"unexpected non trivial type of data");
static_assert(is_false_v<DataType>, "unexpected type of data");
}
}
......@@ -521,8 +523,7 @@ class Messenger
using CastType = helper::split_cast_t<DataType>;
_exchange_through_cast<SendDataType, CastType>(send_array_list, recv_array_list);
} else {
static_assert(is_trivially_castable<RecvDataType>,
"unexpected non trivial type of data");
static_assert(is_false_v<RecvDataType>, "unexpected type of data");
}
}
......
......@@ -60,8 +60,6 @@ Array<int> Partitioner::partition(const CSRGraph& graph)
part = Array<int>(local_number_of_nodes);
std::vector<int> vtxdist{0,local_number_of_nodes};
static_assert(std::is_same<int, int>());
const Array<int>& entries = graph.entries();
const Array<int>& neighbors = graph.neighbors();
......@@ -85,7 +83,7 @@ Array<int> Partitioner::partition(const CSRGraph& graph)
#else // PASTIS_HAS_MPI
Array<int> Partitioner::partition(const CSRGraph& graph)
Array<int> Partitioner::partition(const CSRGraph&)
{
return Array<int>(0);
}
......
......@@ -19,4 +19,7 @@ inline constexpr bool is_trivially_castable<TinyMatrix<N,T>> = is_trivially_cast
template <size_t N, typename T>
inline constexpr bool is_trivially_castable<const TinyMatrix<N,T>> = is_trivially_castable<T>;
template <typename T>
inline constexpr bool is_false_v = false;
#endif // PASTIS_TRAITS_HPP
......@@ -36,9 +36,7 @@ std::string SignalManager::signalName(const int& signal)
void SignalManager::pauseForDebug(const int& signal)
{
if (std::string(PASTIS_BUILD_TYPE) != "Release") {
#warning should try to detect if outputs to a terminal (buggy with mpi)
if (// (ConsoleManager::isTerminal(pout()) and (s_pause_on_error == "auto")) or
(s_pause_on_error == "yes")) {
if (s_pause_on_error == "yes") {
std::cerr << "\n======================================\n"
<< rang::style::reset
<< rang::fg::reset
......