|
preCICE
|
Performs XML configuration and holds configured mappings. More...
#include <MappingConfiguration.hpp>
Classes | |
| struct | ConfiguredMapping |
| Configuration data for one mapping. More... | |
| struct | ExecutorConfiguration |
| struct | GeoMultiscaleConfiguration |
| struct | GinkgoParameter |
| struct | RBFConfiguration |
Public Types | |
| enum | Direction { WRITE , READ } |
| Constants defining the direction of a mapping. More... | |
Public Member Functions | |
| MappingConfiguration (xml::XMLTag &parent, mesh::PtrMeshConfiguration meshConfiguration) | |
| void | setExperimental (bool experimental) |
| void | xmlTagCallback (const xml::ConfigurationContext &context, xml::XMLTag &callingTag) override |
| Callback function required for use of automatic configuration. | |
| void | xmlEndTagCallback (const xml::ConfigurationContext &context, xml::XMLTag &callingTag) override |
| Callback function required for use of automatic configuration. | |
| const std::vector< ConfiguredMapping > & | mappings () |
| Returns all configured mappings. | |
| const RBFConfiguration & | rbfConfig () const |
| void | resetMappings () |
| Public Member Functions inherited from precice::xml::XMLTag::Listener | |
| Listener & | operator= (Listener &&)=delete |
| virtual | ~Listener ()=default |
Private Member Functions | |
| ConfiguredMapping | createMapping (const std::string &direction, const std::string &type, const std::string &fromMeshName, const std::string &toMeshName, const double cgRange, const std::string &geoMultiscaleDimension, const std::string &geoMultiscaleType, const std::string &geoMultiscaleAxis, const double &multiscaleRadius, const std::string &geoMultiscaleProfile, const std::string &geoMultiscaleCrossSection) const |
| RBFConfiguration | configureRBFMapping (const std::string &type, const std::string &polynomial, bool xDead, bool yDead, bool zDead, double solverRtol, double verticesPerCluster, double relativeOverlap, bool projectToInput) const |
| void | finishRBFConfiguration () |
| void | checkDuplicates (const ConfiguredMapping &mapping) |
| Check whether a mapping to and from the same mesh already exists. | |
| bool | requiresBasisFunction (const std::string &mappingType) const |
| BasisFunction | parseBasisFunctions (const std::string &basisFctName) const |
| Given a basis function name (as a string), transforms the string into an enum of the BasisFunction. | |
Private Attributes | |
| logging::Logger | _log {"config:MappingConfiguration"} |
| bool | _experimental = false |
| const std::string | TAG = "mapping" |
| const std::string | ATTR_TYPE = "type" |
| const std::string | TYPE_NEAREST_NEIGHBOR = "nearest-neighbor" |
| const std::string | TYPE_NEAREST_NEIGHBOR_GRADIENT = "nearest-neighbor-gradient" |
| const std::string | TYPE_NEAREST_PROJECTION = "nearest-projection" |
| const std::string | TYPE_LINEAR_CELL_INTERPOLATION = "linear-cell-interpolation" |
| const std::string | TYPE_RBF_GLOBAL_DIRECT = "rbf-global-direct" |
| const std::string | TYPE_RBF_GLOBAL_ITERATIVE = "rbf-global-iterative" |
| const std::string | TYPE_RBF_PUM_DIRECT = "rbf-pum-direct" |
| const std::string | TYPE_RBF_ALIAS = "rbf" |
| const std::string | TYPE_COARSE_GRAINING = "coarse-graining" |
| const std::string | TYPE_AXIAL_GEOMETRIC_MULTISCALE = "axial-geometric-multiscale" |
| const std::string | TYPE_RADIAL_GEOMETRIC_MULTISCALE = "radial-geometric-multiscale" |
| const std::string | ATTR_DIRECTION = "direction" |
| const std::string | DIRECTION_WRITE = "write" |
| const std::string | DIRECTION_READ = "read" |
| const std::string | ATTR_FROM = "from" |
| const std::string | ATTR_TO = "to" |
| const std::string | ATTR_CONSTRAINT = "constraint" |
| const std::string | CONSTRAINT_CONSISTENT = "consistent" |
| const std::string | CONSTRAINT_CONSERVATIVE = "conservative" |
| const std::string | CONSTRAINT_SCALED_CONSISTENT_SURFACE = "scaled-consistent-surface" |
| const std::string | CONSTRAINT_SCALED_CONSISTENT_VOLUME = "scaled-consistent-volume" |
| const std::string | ATTR_X_DEAD = "x-dead" |
| const std::string | ATTR_Y_DEAD = "y-dead" |
| const std::string | ATTR_Z_DEAD = "z-dead" |
| const std::string | ATTR_POLYNOMIAL = "polynomial" |
| const std::string | POLYNOMIAL_SEPARATE = "separate" |
| const std::string | POLYNOMIAL_ON = "on" |
| const std::string | POLYNOMIAL_OFF = "off" |
| const std::string | ATTR_SOLVER_RTOL = "solver-rtol" |
| const std::string | ATTR_CG_RADIUS = "radius" |
| const std::string | ATTR_VERTICES_PER_CLUSTER = "vertices-per-cluster" |
| const std::string | ATTR_RELATIVE_OVERLAP = "relative-overlap" |
| const std::string | ATTR_PROJECT_TO_INPUT = "project-to-input" |
| const std::string | SUBTAG_BASIS_FUNCTION = "basis-function" |
| const std::string | RBF_TPS = "thin-plate-splines" |
| const std::string | RBF_MULTIQUADRICS = "multiquadrics" |
| const std::string | RBF_INV_MULTIQUADRICS = "inverse-multiquadrics" |
| const std::string | RBF_VOLUME_SPLINES = "volume-splines" |
| const std::string | RBF_GAUSSIAN = "gaussian" |
| const std::string | RBF_CTPS_C2 = "compact-tps-c2" |
| const std::string | RBF_CPOLYNOMIAL_C0 = "compact-polynomial-c0" |
| const std::string | RBF_CPOLYNOMIAL_C2 = "compact-polynomial-c2" |
| const std::string | RBF_CPOLYNOMIAL_C4 = "compact-polynomial-c4" |
| const std::string | RBF_CPOLYNOMIAL_C6 = "compact-polynomial-c6" |
| const std::string | RBF_CPOLYNOMIAL_C8 = "compact-polynomial-c8" |
| const std::string | ATTR_SHAPE_PARAM = "shape-parameter" |
| const std::string | ATTR_SUPPORT_RADIUS = "support-radius" |
| const std::string | ATTR_GEOMETRIC_MULTISCALE_DIMENSION = "multiscale-dimension" |
| const std::string | ATTR_GEOMETRIC_MULTISCALE_TYPE = "multiscale-type" |
| const std::string | ATTR_GEOMETRIC_MULTISCALE_AXIS = "multiscale-axis" |
| const std::string | ATTR_GEOMETRIC_MULTISCALE_RADIUS = "multiscale-radius" |
| const std::string | ATTR_GEOMETRIC_MULTISCALE_CROSS_SECTION_PROFILE = "multiscale-cross-section-profile" |
| const std::string | ATTR_GEOMETRIC_MULTISCALE_CROSS_SECTION = "multiscale-cross-section" |
| const std::string | GEOMETRIC_MULTISCALE_DIMENSION_1D3D = "1d-3d" |
| const std::string | GEOMETRIC_MULTISCALE_DIMENSION_1D2D = "1d-2d" |
| const std::string | GEOMETRIC_MULTISCALE_DIMENSION_2D3D = "2d-3d" |
| const std::string | GEOMETRIC_MULTISCALE_TYPE_SPREAD = "spread" |
| const std::string | GEOMETRIC_MULTISCALE_TYPE_COLLECT = "collect" |
| const std::string | GEOMETRIC_MULTISCALE_AXIS_X = "x" |
| const std::string | GEOMETRIC_MULTISCALE_AXIS_Y = "y" |
| const std::string | GEOMETRIC_MULTISCALE_AXIS_Z = "z" |
| const std::string | GEOMETRIC_MULTISCALE_CROSS_SECTION_PROFILE_PARABOLIC = "parabolic" |
| const std::string | GEOMETRIC_MULTISCALE_CROSS_SECTION_PROFILE_UNIFORM = "uniform" |
| const std::string | GEOMETRIC_MULTISCALE_CROSS_SECTION_CIRCLE = "circle" |
| const std::string | GEOMETRIC_MULTISCALE_CROSS_SECTION_SQUARE = "square" |
| const std::string | SUBTAG_EXECUTOR = "executor" |
| const std::string | EXECUTOR_CPU = "cpu" |
| const std::string | EXECUTOR_CUDA = "cuda" |
| const std::string | EXECUTOR_HIP = "hip" |
| const std::string | EXECUTOR_SYCL = "sycl" |
| const std::string | EXECUTOR_OMP = "openmp" |
| const std::string | ATTR_DEVICE_ID = "gpu-device-id" |
| const std::string | ATTR_N_THREADS = "n-threads" |
| const std::string | ATTR_EXECUTION_MODE = "execution-mode" |
| Mapping::Constraint | constraintValue {} |
| mesh::PtrMeshConfiguration | _meshConfig |
| std::vector< ConfiguredMapping > | _mappings |
| RBFConfiguration | _rbfConfig |
| std::unique_ptr< ExecutorConfiguration > | _executorConfig |
| GinkgoParameter | _ginkgoParameter |
Performs XML configuration and holds configured mappings.
Definition at line 16 of file MappingConfiguration.hpp.
Constants defining the direction of a mapping.
| Enumerator | |
|---|---|
| WRITE | |
| READ | |
Definition at line 19 of file MappingConfiguration.hpp.
| precice::mapping::MappingConfiguration::MappingConfiguration | ( | xml::XMLTag & | parent, |
| mesh::PtrMeshConfiguration | meshConfiguration ) |
|
private |
Check whether a mapping to and from the same mesh already exists.
Definition at line 797 of file MappingConfiguration.cpp.
|
private |
Stores additional information about the requested RBF mapping such as the configured polynomial and the solver type, which is not required for all the other mapping types. The information is then used later when instantiating the RBF mappings in xmlTagCallback().
Definition at line 566 of file MappingConfiguration.cpp.
|
private |
Configures and instantiates all mappings, which do not require a subtag/ a basis function. For the RBF related mappings, this class stores all relevant information, but the class is not instantiated and a nullptr is returned instead. The class instantiation for the RBF related mappings happens in xmlTagCallback() as we need to read the subtag information.
Definition at line 610 of file MappingConfiguration.cpp.
|
private |
| const std::vector< MappingConfiguration::ConfiguredMapping > & precice::mapping::MappingConfiguration::mappings | ( | ) |
Returns all configured mappings.
Definition at line 916 of file MappingConfiguration.cpp.
|
private |
Given a basis function name (as a string), transforms the string into an enum of the BasisFunction.
Definition at line 926 of file MappingConfiguration.cpp.
|
inline |
Returns the RBF configuration, which was configured at the latest. Only required for the configuration test
Definition at line 111 of file MappingConfiguration.hpp.
|
private |
Indicates whether the mapping here requires a basis function/ subtag, given the mapping type (e.g. nearest-neighbor).
Definition at line 921 of file MappingConfiguration.cpp.
|
inline |
Definition at line 116 of file MappingConfiguration.hpp.
| void precice::mapping::MappingConfiguration::setExperimental | ( | bool | experimental | ) |
Definition at line 406 of file MappingConfiguration.cpp.
|
overridevirtual |
Callback function required for use of automatic configuration.
Implements precice::xml::XMLTag::Listener.
Definition at line 819 of file MappingConfiguration.cpp.
|
overridevirtual |
Callback function required for use of automatic configuration.
Implements precice::xml::XMLTag::Listener.
Definition at line 412 of file MappingConfiguration.cpp.
|
private |
Definition at line 266 of file MappingConfiguration.hpp.
|
private |
Definition at line 124 of file MappingConfiguration.hpp.
|
private |
Definition at line 269 of file MappingConfiguration.hpp.
|
mutableprivate |
Definition at line 122 of file MappingConfiguration.hpp.
|
private |
Definition at line 244 of file MappingConfiguration.hpp.
|
private |
Definition at line 241 of file MappingConfiguration.hpp.
|
private |
Definition at line 249 of file MappingConfiguration.hpp.
|
private |
Definition at line 169 of file MappingConfiguration.hpp.
|
private |
Definition at line 149 of file MappingConfiguration.hpp.
|
private |
Definition at line 227 of file MappingConfiguration.hpp.
|
private |
Definition at line 142 of file MappingConfiguration.hpp.
|
private |
Definition at line 229 of file MappingConfiguration.hpp.
|
private |
Definition at line 146 of file MappingConfiguration.hpp.
|
private |
Definition at line 202 of file MappingConfiguration.hpp.
|
private |
Definition at line 205 of file MappingConfiguration.hpp.
|
private |
Definition at line 204 of file MappingConfiguration.hpp.
|
private |
Definition at line 200 of file MappingConfiguration.hpp.
|
private |
Definition at line 203 of file MappingConfiguration.hpp.
|
private |
Definition at line 201 of file MappingConfiguration.hpp.
|
private |
Definition at line 228 of file MappingConfiguration.hpp.
|
private |
Definition at line 160 of file MappingConfiguration.hpp.
|
private |
Definition at line 179 of file MappingConfiguration.hpp.
|
private |
Definition at line 178 of file MappingConfiguration.hpp.
|
private |
Definition at line 196 of file MappingConfiguration.hpp.
|
private |
Definition at line 166 of file MappingConfiguration.hpp.
|
private |
Definition at line 197 of file MappingConfiguration.hpp.
|
private |
Definition at line 147 of file MappingConfiguration.hpp.
|
private |
Definition at line 129 of file MappingConfiguration.hpp.
|
private |
Definition at line 177 of file MappingConfiguration.hpp.
|
private |
Definition at line 156 of file MappingConfiguration.hpp.
|
private |
Definition at line 157 of file MappingConfiguration.hpp.
|
private |
Definition at line 158 of file MappingConfiguration.hpp.
|
private |
Definition at line 151 of file MappingConfiguration.hpp.
|
private |
Definition at line 150 of file MappingConfiguration.hpp.
|
private |
Definition at line 152 of file MappingConfiguration.hpp.
|
private |
Definition at line 153 of file MappingConfiguration.hpp.
|
private |
Definition at line 239 of file MappingConfiguration.hpp.
|
private |
Definition at line 144 of file MappingConfiguration.hpp.
|
private |
Definition at line 143 of file MappingConfiguration.hpp.
|
private |
Definition at line 221 of file MappingConfiguration.hpp.
|
private |
Definition at line 222 of file MappingConfiguration.hpp.
|
private |
Definition at line 223 of file MappingConfiguration.hpp.
|
private |
Definition at line 225 of file MappingConfiguration.hpp.
|
private |
Definition at line 224 of file MappingConfiguration.hpp.
|
private |
Definition at line 211 of file MappingConfiguration.hpp.
|
private |
Definition at line 212 of file MappingConfiguration.hpp.
|
private |
Definition at line 213 of file MappingConfiguration.hpp.
|
private |
Definition at line 216 of file MappingConfiguration.hpp.
|
private |
Definition at line 214 of file MappingConfiguration.hpp.
|
private |
Definition at line 215 of file MappingConfiguration.hpp.
|
private |
Definition at line 217 of file MappingConfiguration.hpp.
|
private |
Definition at line 207 of file MappingConfiguration.hpp.
|
private |
Definition at line 206 of file MappingConfiguration.hpp.
|
private |
Definition at line 208 of file MappingConfiguration.hpp.
|
private |
Definition at line 210 of file MappingConfiguration.hpp.
|
private |
Definition at line 209 of file MappingConfiguration.hpp.
|
private |
Definition at line 163 of file MappingConfiguration.hpp.
|
private |
Definition at line 162 of file MappingConfiguration.hpp.
|
private |
Definition at line 161 of file MappingConfiguration.hpp.
|
private |
Definition at line 189 of file MappingConfiguration.hpp.
|
private |
Definition at line 190 of file MappingConfiguration.hpp.
|
private |
Definition at line 191 of file MappingConfiguration.hpp.
|
private |
Definition at line 192 of file MappingConfiguration.hpp.
|
private |
Definition at line 193 of file MappingConfiguration.hpp.
|
private |
Definition at line 188 of file MappingConfiguration.hpp.
|
private |
Definition at line 187 of file MappingConfiguration.hpp.
|
private |
Definition at line 185 of file MappingConfiguration.hpp.
|
private |
Definition at line 184 of file MappingConfiguration.hpp.
|
private |
Definition at line 183 of file MappingConfiguration.hpp.
|
private |
Definition at line 186 of file MappingConfiguration.hpp.
|
private |
Definition at line 182 of file MappingConfiguration.hpp.
|
private |
Definition at line 220 of file MappingConfiguration.hpp.
|
private |
Definition at line 126 of file MappingConfiguration.hpp.
|
private |
Definition at line 139 of file MappingConfiguration.hpp.
|
private |
Definition at line 138 of file MappingConfiguration.hpp.
|
private |
Definition at line 133 of file MappingConfiguration.hpp.
|
private |
Definition at line 130 of file MappingConfiguration.hpp.
|
private |
Definition at line 131 of file MappingConfiguration.hpp.
|
private |
Definition at line 132 of file MappingConfiguration.hpp.
|
private |
Definition at line 140 of file MappingConfiguration.hpp.
|
private |
Definition at line 137 of file MappingConfiguration.hpp.
|
private |
Definition at line 134 of file MappingConfiguration.hpp.
|
private |
Definition at line 135 of file MappingConfiguration.hpp.
|
private |
Definition at line 136 of file MappingConfiguration.hpp.