preCICE
Loading...
Searching...
No Matches
BarycentricBaseMapping.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4#include "logging/Logger.hpp"
5#include "mapping/Mapping.hpp"
7
8namespace precice::mapping {
9
15
21public:
22 BarycentricBaseMapping(Constraint constraint, int dimensions);
23
25 void clear() final override;
26
27 void tagMeshFirstRound() final override;
28 void tagMeshSecondRound() final override;
29
30private:
31 logging::Logger _log{"mapping::BarycentricBaseMapping"};
32
33protected:
35 void mapConservative(const time::Sample &inData, Eigen::VectorXd &outData) override;
36
38 void mapConsistent(const time::Sample &inData, Eigen::VectorXd &outData) override;
39
41 void addPolation(VertexID out, const Polation &p);
42
45
46 std::vector<Operation> _operations;
47};
48
49} // namespace precice::mapping
This class provides a lightweight logger.
Definition Logger.hpp:17
void tagMeshFirstRound() final override
Method used by partition. Tags vertices that could be owned by this rank.
void postProcessOperations()
Post processed operations after the mapping has been computed.
void clear() final override
Removes a computed mapping.
void mapConsistent(const time::Sample &inData, Eigen::VectorXd &outData) override
Maps data using a consistent constraint.
void tagMeshSecondRound() final override
Method used by partition. Tags vertices that can be filtered out.
BarycentricBaseMapping(Constraint constraint, int dimensions)
void mapConservative(const time::Sample &inData, Eigen::VectorXd &outData) override
Maps data using a conservative constraint.
void addPolation(VertexID out, const Polation &p)
Takes a polation and registers each weighed input as one Operation.
Constraint
Specifies additional constraints for a mapping.
Definition Mapping.hpp:30
Mapping(Constraint constraint, int dimensions, bool requiresGradientData, InitialGuessRequirement initialGuessRequirement)
Constructor, takes mapping constraint.
Definition Mapping.cpp:12
Calculates the barycentric coordinates of a coordinate on the given vertex/edge/triangle and stores t...
Definition Polation.hpp:23
contains data mapping from points to meshes.
int VertexID
Definition Types.hpp:13