Skip to content

Commit 40eca9d

Browse files
authored
Add a warning for Aitken relaxation and parallel coupling schemes (#1042)
Co-authored-by: David Schneider <[email protected]>
1 parent 6018e7c commit 40eca9d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/cplscheme/config/CouplingSchemeConfiguration.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <utility>
88
#include <vector>
99
#include "acceleration/Acceleration.hpp"
10+
#include "acceleration/AitkenAcceleration.hpp"
1011
#include "acceleration/config/AccelerationConfiguration.hpp"
1112
#include "cplscheme/BaseCouplingScheme.hpp"
1213
#include "cplscheme/BiCouplingScheme.hpp"
@@ -1110,6 +1111,13 @@ void CouplingSchemeConfiguration::setParallelAcceleration(
11101111
checkIfDataIsExchanged(dataID);
11111112
}
11121113
scheme->setAcceleration(_accelerationConfig->getAcceleration());
1114+
1115+
if (dynamic_cast<acceleration::AitkenAcceleration *>(_accelerationConfig->getAcceleration().get()) != nullptr)
1116+
PRECICE_WARN("You configured participant \"{}\" in a parallel-implicit coupling scheme with \"Aitken\" "
1117+
"acceleration, which is known to perform bad in parallel coupling schemes. "
1118+
"See https://precice.org/configuration-acceleration.html#dynamic-aitken-under-relaxation for details."
1119+
"Consider switching to a serial-implicit coupling scheme or changing the acceleration method.",
1120+
participant);
11131121
}
11141122
}
11151123

0 commit comments

Comments
 (0)