preCICE v3.1.1
Loading...
Searching...
No Matches
ScaleByAreaAction.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include "Action.hpp"
5#include "logging/Logger.hpp"
7
8namespace precice::action {
9
10class ScaleByAreaAction : public Action {
11public:
18
26 Timing timing,
27 int targetDataID,
28 const mesh::PtrMesh &mesh,
29 Scaling scaling);
30
34 void performAction() final override;
35
36private:
37 logging::Logger _log{"action::ScaleByAreaAction"};
38
40
42};
43
44} // namespace precice::action
Abstract base class for configurable actions on data and/or meshes.
Definition Action.hpp:14
Timing
Defines the time and place of application of the action.
Definition Action.hpp:17
@ SCALING_MULTIPLY_BY_AREA
Multiplies the data by the area of neighboring edges/triangles.
@ SCALING_DIVIDE_BY_AREA
Divides the data by the area of neighboring edges/triangles.
ScaleByAreaAction(Timing timing, int targetDataID, const mesh::PtrMesh &mesh, Scaling scaling)
Constructor.
void performAction() final override
Scales data on mesh nodes according to selected scaling type.
contains actions to modify exchanged data.
Definition Action.hpp:6