PartOrderTwoTest Class Reference

Fixture class for second-order remap tests. More...

Inheritance diagram for PartOrderTwoTest:
PartBaseTest

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< PartPairparts
 
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()

PartOrderTwoTest::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: