7#include "tarch/configuration/Configuration.h"
8#include "tarch/configuration/ParseConfiguration.h"
12namespace configurations {
35 std::cout <<
"ERROR coupling::TimeIntegrationConfiguration: "
36 "number-subdomains = "
37 << buf <<
"!" << std::endl;
43 if (isPintEnabled()) {
44#if (COUPLING_MD_PARALLEL != COUPLING_MD_YES)
45 std::cout <<
"ERROR coupling::TimeIntegrationConfiguration: PinT is enabled but COUPLING_MD_PARALLEL disabled" << std::endl;
46 std::cout <<
"Disable PinT in XML config, or enable BUILD_WITH_MPI in cmake." << std::endl;
53 if (value ==
"auto") {
54 _auto_iteration =
true;
57 _auto_iteration =
false;
60 std::cout <<
"ERROR TimeIntegrationConfiguration::number-iterations too small!" << std::endl;
64 if (buf > _pint_domains) {
65 std::cout <<
"ERROR TimeIntegrationConfiguration::number-iterations too large!" << std::endl;
69 _pint_iterations = buf;
79 std::string
getTag()
const {
return "time-integration"; }
86 int getPintDomains()
const {
return _pint_domains; }
87 bool isPintEnabled()
const {
return _pint_domains > 1; }
88 int getPintIterations()
const {
return _pint_iterations; }
89 bool isAutoIteration()
const {
return _auto_iteration; }
90 double getViscMultiplier()
const {
return _visc_multiplier; }
96 double _visc_multiplier;
reads time integration configuration
Definition TimeIntegrationConfiguration.h:23
void parseSubtag(tinyxml2::XMLElement *node)
Definition TimeIntegrationConfiguration.h:31
virtual ~TimeIntegrationConfiguration()
Definition TimeIntegrationConfiguration.h:29
std::string getTag() const
Definition TimeIntegrationConfiguration.h:79
TimeIntegrationConfiguration()
Definition TimeIntegrationConfiguration.h:26
bool isValid() const
Definition TimeIntegrationConfiguration.h:84
Definition Configuration.h:22
static void readStringMandatory(std::string &storage, tinyxml2::XMLElement *node, std::string tag)
Definition ParseConfiguration.h:201
static void readIntMandatory(int &storage, tinyxml2::XMLElement *node, std::string tag)
Definition ParseConfiguration.h:115
static void readDoubleOptional(double &storage, tinyxml2::XMLElement *node, std::string tag)
Definition ParseConfiguration.h:96
Definition tinyxml2.h:1268
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15