ABLATE Source Documentation  0.12.36
twoPointClusteringMapper.hpp
1 #ifndef ABLATELIBRARY_TWOPOINTCLUSTERINGMAPPER_HPP
2 #define ABLATELIBRARY_TWOPOINTCLUSTERINGMAPPER_HPP
3 
4 #include "meshMapper.hpp"
5 #include "modifier.hpp"
6 namespace ablate::domain::modifiers {
7 
13  private:
15  const int direction;
17  const double start;
19  const double size;
21  const double beta;
23  const double location;
25  const double offset;
26 
27  public:
38  explicit TwoPointClusteringMapper(int direction, double start, double end, double beta, double location, double offset, std::shared_ptr<ablate::domain::Region> mappingRegion = {});
39 
44  [[nodiscard]] std::string ToString() const override;
45 
46  private:
47  static PetscErrorCode MappingFunction(PetscInt dim, PetscReal time, const PetscReal x[], PetscInt Nf, PetscScalar* u, void* ctx);
48 };
49 } // namespace ablate::domain::modifiers
50 #endif // ABLATELIBRARY_ONEPOINTCLUSTERINGMAPPER_HPP
Definition: meshMapper.hpp:12
Definition: twoPointClusteringMapper.hpp:12
std::string ToString() const override
Definition: twoPointClusteringMapper.cpp:21
TwoPointClusteringMapper(int direction, double start, double end, double beta, double location, double offset, std::shared_ptr< ablate::domain::Region > mappingRegion={})
Definition: twoPointClusteringMapper.cpp:7