Skip to content

Commit 9e57490

Browse files
authored
Merge pull request #1779 from vryy/compile-apple-clang
Fixes to compile and run on Darwin
2 parents 98ea7ef + 31ea9e8 commit 9e57490

16 files changed

Lines changed: 78 additions & 31 deletions

src/art_net/4C_art_net_artery_ele_calc_lin_exp.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
FOUR_C_NAMESPACE_OPEN
2828

29-
3029
/*----------------------------------------------------------------------*
3130
*----------------------------------------------------------------------*/
3231
template <Core::FE::CellType distype>

src/art_net/4C_art_net_artery_ele_calc_pres_based.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
FOUR_C_NAMESPACE_OPEN
2323

24-
2524
/*----------------------------------------------------------------------*
2625
*----------------------------------------------------------------------*/
2726
template <Core::FE::CellType distype>

src/beaminteraction/src/potential/4C_beaminteraction_potential_pair_beam_to_beam.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -235,19 +235,20 @@ void BeamInteraction::BeamToBeamPotentialPair<numnodes, numnodalvalues, T>::
235235
T norm_dist = 0.0; // = |r1-r2|
236236

237237
// evaluate charge densities from DLINE charge condition specified in input file
238-
double q1 = linechargeconds_[0]->parameters().get<double>("VAL");
239-
double q2 = linechargeconds_[1]->parameters().get<double>("VAL");
238+
double q1 = linechargeconds_[0]->parameters().template get<double>("VAL");
239+
double q2 = linechargeconds_[1]->parameters().template get<double>("VAL");
240240

241241
// evaluate function in time if specified in line charge conditions
242242
// TODO allow for functions in space, i.e. varying charge along beam centerline
243-
auto function_number = linechargeconds_[0]->parameters().get<std::optional<int>>("FUNCT");
243+
auto function_number =
244+
linechargeconds_[0]->parameters().template get<std::optional<int>>("FUNCT");
244245

245246
if (function_number.has_value() && function_number.value() > 0)
246247
q1 *= Global::Problem::instance()
247248
->function_by_id<Core::Utils::FunctionOfTime>(function_number.value())
248249
.evaluate(time_);
249250

250-
function_number = linechargeconds_[1]->parameters().get<std::optional<int>>("FUNCT");
251+
function_number = linechargeconds_[1]->parameters().template get<std::optional<int>>("FUNCT");
251252

252253
if (function_number.has_value() && function_number.value() > 0)
253254
q2 *= Global::Problem::instance()
@@ -620,19 +621,20 @@ void BeamInteraction::BeamToBeamPotentialPair<numnodes, numnodalvalues, T>::
620621
T gap_regularized = 0.0; // modified gap if a regularization of the force law is applied
621622

622623
// evaluate charge/particle densities from DLINE charge condition specified in input file
623-
double q1 = linechargeconds_[0]->parameters().get<double>("VAL");
624-
double q2 = linechargeconds_[1]->parameters().get<double>("VAL");
624+
double q1 = linechargeconds_[0]->parameters().template get<double>("VAL");
625+
double q2 = linechargeconds_[1]->parameters().template get<double>("VAL");
625626

626627
// evaluate function in time if specified in line charge conditions
627628
// TODO allow for functions in space, i.e. varying charge along beam centerline
628-
auto function_number = linechargeconds_[0]->parameters().get<std::optional<int>>("FUNCT");
629+
auto function_number =
630+
linechargeconds_[0]->parameters().template get<std::optional<int>>("FUNCT");
629631

630632
if (function_number.has_value() && function_number.value() > 0)
631633
q1 *= Global::Problem::instance()
632634
->function_by_id<Core::Utils::FunctionOfTime>(function_number.value())
633635
.evaluate(time_);
634636

635-
function_number = linechargeconds_[1]->parameters().get<std::optional<int>>("FUNCT");
637+
function_number = linechargeconds_[1]->parameters().template get<std::optional<int>>("FUNCT");
636638

637639
if (function_number.has_value() && function_number.value() > 0)
638640
q2 *= Global::Problem::instance()
@@ -1231,19 +1233,20 @@ void BeamInteraction::BeamToBeamPotentialPair<numnodes, numnodalvalues, T>::
12311233
Core::LinAlg::Initialization::zero);
12321234

12331235
// evaluate charge/particle densities from DLINE charge condition specified in input file
1234-
double rho1 = linechargeconds_[0]->parameters().get<double>("VAL");
1235-
double rho2 = linechargeconds_[1]->parameters().get<double>("VAL");
1236+
double rho1 = linechargeconds_[0]->parameters().template get<double>("VAL");
1237+
double rho2 = linechargeconds_[1]->parameters().template get<double>("VAL");
12361238

12371239
// evaluate function in time if specified in line charge conditions
12381240
// TODO allow for functions in space, i.e. varying charge along beam centerline
1239-
auto function_number = linechargeconds_[0]->parameters().get<std::optional<int>>("FUNCT");
1241+
auto function_number =
1242+
linechargeconds_[0]->parameters().template get<std::optional<int>>("FUNCT");
12401243

12411244
if (function_number.has_value() && function_number.value() > 0)
12421245
rho1 *= Global::Problem::instance()
12431246
->function_by_id<Core::Utils::FunctionOfTime>(function_number.value())
12441247
.evaluate(time_);
12451248

1246-
function_number = linechargeconds_[1]->parameters().get<std::optional<int>>("FUNCT");
1249+
function_number = linechargeconds_[1]->parameters().template get<std::optional<int>>("FUNCT");
12471250

12481251
if (function_number.has_value() && function_number.value() > 0)
12491252
rho2 *= Global::Problem::instance()

src/beaminteraction/src/potential/4C_beaminteraction_potential_pair_beam_to_sphere.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,22 +241,22 @@ void BeamInteraction::BeamToSpherePotentialPair<numnodes,
241241
get_shape_functions(N1_i, N1_i_xi, gausspoints);
242242

243243
// evaluate charge density from DLINE charge condition specified in input file
244-
double q1 = chargeconds_[0]->parameters().get<double>("VAL");
244+
double q1 = chargeconds_[0]->parameters().template get<double>("VAL");
245245

246246
// read charge of rigid sphere; note: this is NOT a charge density but the total charge of the
247247
// sphere!!!
248-
double q2 = chargeconds_[1]->parameters().get<double>("VAL");
248+
double q2 = chargeconds_[1]->parameters().template get<double>("VAL");
249249

250250
// evaluate function in time if specified in line charge conditions
251251
// TODO allow for functions in space, i.e. varying charge along beam centerline
252-
auto function_number = chargeconds_[0]->parameters().get<std::optional<int>>("FUNCT");
252+
auto function_number = chargeconds_[0]->parameters().template get<std::optional<int>>("FUNCT");
253253

254254
if (function_number.has_value() && function_number.value() > 0)
255255
q1 *= Global::Problem::instance()
256256
->function_by_id<Core::Utils::FunctionOfTime>(function_number.value())
257257
.evaluate(time_);
258258

259-
function_number = chargeconds_[1]->parameters().get<std::optional<int>>("FUNCT");
259+
function_number = chargeconds_[1]->parameters().template get<std::optional<int>>("FUNCT");
260260

261261
if (function_number.has_value() and function_number.value() > 0)
262262
q2 *= Global::Problem::instance()

src/core/comm/src/4C_comm_pack_helpers.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ namespace Core::Communication
3434
template <class T>
3535
using is_enum_class =
3636
std::integral_constant<bool, !std::is_convertible<T, int>::value && std::is_enum<T>::value>;
37-
38-
3937
}
4038

4139

@@ -117,7 +115,11 @@ namespace Core::Communication
117115
// If T is trivially copyable, we can just copy the bytes. Otherwise, recursively call the
118116
// pack function for every element. Note that vector<bool> is a special case, as it does not
119117
// provide the data() method.
120-
if constexpr (std::is_trivially_copyable_v<T> && !std::is_same_v<T, bool>)
118+
if constexpr (std::is_same_v<T, bool>)
119+
{
120+
for (bool b : stuff) add_to_pack(data, b);
121+
}
122+
else if constexpr (std::is_trivially_copyable_v<T>)
121123
{
122124
add_to_pack(data, stuff.data(), numele * sizeof(T));
123125
}

src/core/fem/src/general/utils/4C_fem_general_largerotations.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
#include "4C_linalg_fixedsizematrix.hpp"
1414
#include "4C_utils_fad.hpp"
1515

16-
FOUR_C_NAMESPACE_OPEN
16+
#include <numbers>
1717

18+
FOUR_C_NAMESPACE_OPEN
1819

1920
namespace Core::LargeRotations
2021
{

src/core/linalg/src/dense/4C_linalg_fixedsizematrix.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
#include "4C_utils_exceptions.hpp"
1414
#include "4C_utils_mathoperations.hpp"
1515

16+
#include <numbers>
1617
#include <ostream>
18+
#include <span>
1719

1820
FOUR_C_NAMESPACE_OPEN
1921

src/core/linalg/src/dense/4C_linalg_symmetric_tensor.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,7 @@ namespace Core::LinAlg
638638
case 21:
639639
return 6;
640640
default:
641-
FOUR_C_THROW("Unsupported symmetric tensor size: " + std::to_string(size));
641+
FOUR_C_THROW("Unsupported symmetric tensor size: {}", size);
642642
}
643643
}(size);
644644

src/core/linalg/src/sparse/4C_linalg_map.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include <mpi.h>
1919

2020
#include <memory>
21+
#include <span>
2122
#include <variant>
2223

2324
FOUR_C_NAMESPACE_OPEN

src/core/linalg/src/sparse/4C_linalg_vector.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
#include <Epetra_Vector.h>
2121

2222
#include <memory>
23+
#include <numbers>
24+
#include <span>
2325

2426
FOUR_C_NAMESPACE_OPEN
2527

0 commit comments

Comments
 (0)