MaMiCo
1.2
Toggle main menu visibility
Loading...
Searching...
No Matches
coupling
configurations
ParallelTopologyConfiguration.h
1
// Copyright (C) 2015 Technische Universitaet Muenchen
2
// This file is part of the Mamico project. For conditions of distribution
3
// and use, please see the copyright notice in Mamico's main folder, or at
4
// www5.in.tum.de/mamico
5
#ifndef _MOLECULARDYNAMICS_COUPLING_CONFIGURATIONS_PARALLELTOPOLOGYCONFIGURATION_H_
6
#define _MOLECULARDYNAMICS_COUPLING_CONFIGURATIONS_PARALLELTOPOLOGYCONFIGURATION_H_
7
8
#include "coupling/paralleltopology/ParallelTopologyFactory.h"
9
#include "tarch/configuration/Configuration.h"
10
#include "tarch/configuration/ParseConfiguration.h"
11
#include "tarch/la/Vector.h"
12
#include <iostream>
13
14
namespace
coupling
{
15
namespace
configurations {
16
class
ParallelTopologyConfiguration
;
17
}
18
}
// namespace coupling
19
25
class
coupling::configurations::ParallelTopologyConfiguration
:
public
tarch::configuration::Configuration
{
26
public
:
28
ParallelTopologyConfiguration
() : _type(
coupling
::
paralleltopology
::UNDEFINED), _isValid(true) {}
29
31
virtual
~ParallelTopologyConfiguration
() {}
32
33
void
parseSubtag
(
tinyxml2::XMLElement
* node) {
34
std::string value;
35
tarch::configuration::ParseConfiguration::readStringMandatory
(value, node,
"type"
);
36
if
(value ==
"xyz"
) {
37
_type =
coupling::paralleltopology::XYZ
;
38
}
else
if
(value ==
"zyx"
) {
39
_type =
coupling::paralleltopology::ZYX
;
40
}
else
{
41
std::cout <<
"ERROR coupling::ParallelTopologyConfiguration: Wrong type!"
<< std::endl;
42
_isValid =
false
;
43
exit(EXIT_FAILURE);
44
}
45
}
46
50
std::string
getTag
()
const
{
return
"parallel-topology"
; }
51
59
bool
isValid
()
const
{
return
_isValid; }
60
64
coupling::paralleltopology::ParallelTopologyType
getParallelTopologyType
()
const
{
return
_type; }
65
66
protected
:
67
ParallelTopologyConfiguration
(
coupling::paralleltopology::ParallelTopologyType
type) : _type(type), _isValid(true) {}
68
69
private
:
70
coupling::paralleltopology::ParallelTopologyType
_type;
71
72
bool
_isValid;
73
};
74
75
#endif
// _MOLECULARDYNAMICS_COUPLING_CONFIGURATIONS_PARALLELTOPOLOGYCONFIGURATION_H_
coupling::configurations::ParallelTopologyConfiguration
reads parallel topology configuration. XYZ and ZYX are supported.
Definition
ParallelTopologyConfiguration.h:25
coupling::configurations::ParallelTopologyConfiguration::ParallelTopologyConfiguration
ParallelTopologyConfiguration()
Definition
ParallelTopologyConfiguration.h:28
coupling::configurations::ParallelTopologyConfiguration::getTag
std::string getTag() const
Definition
ParallelTopologyConfiguration.h:50
coupling::configurations::ParallelTopologyConfiguration::isValid
bool isValid() const
Definition
ParallelTopologyConfiguration.h:59
coupling::configurations::ParallelTopologyConfiguration::~ParallelTopologyConfiguration
virtual ~ParallelTopologyConfiguration()
Definition
ParallelTopologyConfiguration.h:31
coupling::configurations::ParallelTopologyConfiguration::parseSubtag
void parseSubtag(tinyxml2::XMLElement *node)
Definition
ParallelTopologyConfiguration.h:33
coupling::configurations::ParallelTopologyConfiguration::getParallelTopologyType
coupling::paralleltopology::ParallelTopologyType getParallelTopologyType() const
Definition
ParallelTopologyConfiguration.h:64
tarch::configuration::Configuration
Definition
Configuration.h:22
tarch::configuration::ParseConfiguration::readStringMandatory
static void readStringMandatory(std::string &storage, tinyxml2::XMLElement *node, std::string tag)
Definition
ParseConfiguration.h:201
tinyxml2::XMLElement
Definition
tinyxml2.h:1124
coupling::paralleltopology
Definition
ParallelTopology.h:12
coupling::paralleltopology::ParallelTopologyType
ParallelTopologyType
Definition
ParallelTopologyFactory.h:24
coupling::paralleltopology::XYZ
@ XYZ
Definition
ParallelTopologyFactory.h:27
coupling::paralleltopology::ZYX
@ ZYX
Definition
ParallelTopologyFactory.h:31
coupling
everything necessary for coupling operations, is defined in here
Definition
AdditiveMomentumInsertion.h:15
Generated by
1.17.0