Fixture class for second-order remap tests. More...
Public Member Functions | |
PartOrderTwoTest () | |
Setup each test-case. More... | |
Additional Inherited Members | |
Protected Types inherited from PartBaseTest | |
using | Remapper = Portage::CoreDriver< 2, Wonton::Entity_kind::CELL, Wonton::Jali_Mesh_Wrapper, Wonton::Jali_State_Wrapper > |
using | PartPair = Portage::PartPair< 2, Wonton::Jali_Mesh_Wrapper, Wonton::Jali_State_Wrapper > |
Protected Member Functions inherited from PartBaseTest | |
template<bool is_source> | |
void | create_partition (double x_min, double x_max, double y_min, double y_max) |
Create a partition based on a threshold value. More... | |
void | populate_parts (double x_min, double x_max, double y_min, double y_max) |
Populate the part pairs partition. More... | |
PartBaseTest () | |
Setup each test-case. More... | |
Protected Attributes inherited from PartBaseTest | |
int | nb_source_cells = 0 |
int | nb_target_cells = 0 |
std::shared_ptr< Jali::Mesh > | source_mesh |
std::shared_ptr< Jali::Mesh > | target_mesh |
std::shared_ptr< Jali::State > | source_state |
std::shared_ptr< Jali::State > | target_state |
Wonton::Jali_Mesh_Wrapper | source_mesh_wrapper |
Wonton::Jali_Mesh_Wrapper | target_mesh_wrapper |
Wonton::Jali_State_Wrapper | source_state_wrapper |
Wonton::Jali_State_Wrapper | target_state_wrapper |
std::vector< PartPair > | parts |
std::vector< int > | source_cells [nb_parts] |
std::vector< int > | target_cells [nb_parts] |
Static Protected Attributes inherited from PartBaseTest | |
static constexpr double const | upper_bound = std::numeric_limits<double>::max() |
static constexpr double const | lower_bound = std::numeric_limits<double>::min() |
static constexpr double const | epsilon = 1.E-10 |
static constexpr int const | nb_parts = 2 |
static constexpr auto const | CELL = Wonton::Entity_kind::CELL |
Detailed Description
Fixture class for second-order remap tests.
Here we consider a piecewise linear field on a 2D cartesian grid with:
f(x,y) = |c * x, if (x < r). |c * (x - r) otherwise. given c > 0 and 0 < r < 1.
f(x,y) / : / / : / / : / / [0] : / [1] / : / ---------—:---— 0 r 1 Notice that we would obtain smoothed field values near 'r' with a global remap since the field gradient would be smoothed in that region. However, we should obtain a perfect remap with a clear field discontinuity using a second-order part-by-part remap, since the computed gradient near 'r' is distinct for each part.
Constructor & Destructor Documentation
◆ PartOrderTwoTest()
|
inline |
Setup each test-case.
It creates both source and target meshes, then computes and assigns a density field on source mesh, then creates parts by picking entities within (0.0,0.0) and (0.6,1.0).
The documentation for this class was generated from the following file:
- /home/portage/portage/portage/driver/test/test_driver_part.cc