![]() |
SG++-Doxygen-Documentation
|
Standard free refinement class for sparse grids with boundaries. More...
#include <HashRefinementBoundaries.hpp>
Public Member Functions | |
| void | free_refine (GridStorage &storage, RefinementFunctor &functor, std::vector< size_t > *addedPoints=0) override |
| Performs the refinement on grid. More... | |
| size_t | getNumberOfRefinablePoints (GridStorage &storage) override |
| Calculates the number of points, which can be refined. More... | |
| void | refineGridpoint1D (GridStorage &storage, GridPoint &point, size_t d) override |
| Refine one grid point along a single direction. More... | |
Public Member Functions inherited from sgpp::base::AbstractRefinement | |
| virtual size_t | getIndexOfMin (RefinementFunctor::value_type *array, size_t length) |
| Returns the index of the first occurrence of minimal element in array. More... | |
| bool | isRefinable (GridStorage &storage, GridPoint &point) |
| Check if the grid point is refinable. More... | |
| virtual void | refineGridpoint1D (GridStorage &storage, size_t seq, size_t d) |
| Refine one grid point along a single direction. More... | |
| virtual | ~AbstractRefinement () |
| Destructor. More... | |
Protected Member Functions | |
| virtual void | addElementToCollection (const GridStorage::grid_map_iterator &iter, AbstractRefinement::refinement_list_type current_value_list, size_t refinements_num, AbstractRefinement::refinement_container_type &collection) |
| Adds elements to the collection. More... | |
| void | collectRefinablePoints (GridStorage &storage, RefinementFunctor &functor, AbstractRefinement::refinement_container_type &collection) override |
| Examines the grid points and stores the indices those that can be refined and have maximal indicator values. More... | |
| void | createGridpoint (GridStorage &storage, GridPoint &point) override |
| Wrapper for the two functions create_gridpoint_general and create_gridpoint_levelZeroConsistency which have both to be executed if a gridpoint is refined. More... | |
| void | createGridpoint1D (GridPoint &point, size_t d, GridStorage &storage, index_t &source_index, level_t &source_level) override |
| Creates children grid points along single direction. More... | |
| void | createGridpointGeneral (GridStorage &storage, GridPoint &point) |
| This method creates a new point on the grid. More... | |
| void | createGridpointLevelZeroConsistency (GridStorage &storage, GridPoint &point) |
| Assures that we have always a consistent grid with both functions 0,0 and 0,1 on level zero. More... | |
| AbstractRefinement::refinement_list_type | getIndicator (GridStorage &storage, const GridStorage::grid_map_iterator &iter, const RefinementFunctor &functor) const override |
| Generates a list with indicator elements. More... | |
| void | refineGridpoint (GridStorage &storage, size_t refine_index) override |
| This method refines a grid point be generating the children in every dimension of the grid. More... | |
| void | refineGridpointsCollection (GridStorage &storage, RefinementFunctor &functor, AbstractRefinement::refinement_container_type &collection) override |
| Extends the grid adding elements defined in collection. More... | |
Protected Member Functions inherited from sgpp::base::AbstractRefinement | |
| virtual void | createGridpointSubroutine (GridStorage &storage, GridPoint &point) |
| Subroutine for grid point creation. More... | |
Additional Inherited Members | |
Public Types inherited from sgpp::base::AbstractRefinement | |
| typedef std::vector< refinement_pair_type > | refinement_container_type |
| Container for the collection of the refinement atoms and the corresponding value. More... | |
| typedef AbstractRefinement_refinement_key | refinement_key_type |
| Type of the identifier of the refinement atom (e.g. More... | |
| typedef std::forward_list< AbstractRefinement::refinement_pair_type > | refinement_list_type |
| typedef std::pair< std::shared_ptr< refinement_key_type >, refinement_value_type > | refinement_pair_type |
| Pair for the refinement key and value. More... | |
| typedef double | refinement_value_type |
| Type of functor value assigned to each refinement atom. More... | |
Static Public Member Functions inherited from sgpp::base::AbstractRefinement | |
| static bool | compare_pairs (const refinement_pair_type &lhs, const refinement_pair_type &rhs) |
| Comparison of the refinement_pair_type. More... | |
Standard free refinement class for sparse grids with boundaries.
|
protectedvirtual |
Adds elements to the collection.
This method is responsible for selection the elements with most important indicators and to limit the size of collection to refinements_num elements.
| iter | storage iterator |
| current_value_list | list with elements that contain keys and values that specify refinement |
| refinements_num | number of elements to refine |
| collection | container where element pairs for refinement need to be stored |
References sgpp::base::AbstractRefinement::compare_pairs().
Referenced by collectRefinablePoints().
|
overrideprotectedvirtual |
Examines the grid points and stores the indices those that can be refined and have maximal indicator values.
| storage | hashmap that stores the grid points |
| functor | a PredictiveRefinementIndicator specifying the refinement criteria |
| collection | container that contains elements to refine (empty initially) |
Implements sgpp::base::AbstractRefinement.
References addElementToCollection(), sgpp::base::HashGridStorage::begin(), sgpp::base::HashGridStorage::end(), sgpp::base::HashGridStorage::find(), sgpp::base::HashGridPoint::get(), sgpp::base::HashGridStorage::getDimension(), getIndicator(), sgpp::base::RefinementFunctor::getRefinementsNum(), chess::point, and sgpp::base::HashGridPoint::set().
Referenced by free_refine().
|
overrideprotectedvirtual |
Wrapper for the two functions create_gridpoint_general and create_gridpoint_levelZeroConsistency which have both to be executed if a gridpoint is refined.
| storage | hashmap that stores the gridpoinrs |
| point | the point that should be inserted |
Implements sgpp::base::AbstractRefinement.
References createGridpointGeneral(), and createGridpointLevelZeroConsistency().
Referenced by createGridpointLevelZeroConsistency(), refineGridpoint1D(), and sgpp::base::HashRefinementBoundariesMaxLevel::refineGridpoint1D().
|
overrideprotectedvirtual |
Creates children grid points along single direction.
| point | The point that should be refined |
| d | direction |
| storage | hashmap that stores the gridpoints |
| source_index | index value in the dimension d |
| source_level | level value in the dimension d |
Reimplemented from sgpp::base::AbstractRefinement.
References sgpp::base::AbstractRefinement::createGridpoint1D(), sgpp::base::AbstractRefinement::createGridpointSubroutine(), sgpp::base::HashGridPoint::get(), sgpp::base::HashGridStorage::getDimension(), and sgpp::base::HashGridPoint::set().
Referenced by createGridpointGeneral().
|
protected |
This method creates a new point on the grid.
It checks if some parents or children are needed in other dimensions.
| storage | hashmap that stores the gridpoinrs |
| point | the point that should be inserted |
References createGridpoint1D(), sgpp::base::HashGridStorage::getDimension(), and sgpp::base::HashGridStorage::insert().
Referenced by createGridpoint().
|
protected |
Assures that we have always a consistent grid with both functions 0,0 and 0,1 on level zero.
| storage | hashmap that stores the gridpoinrs |
| point | the point that should be inserted |
References createGridpoint(), sgpp::base::HashGridStorage::find(), sgpp::base::HashGridPoint::get(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridStorage::getPoint(), sgpp::base::HashGridStorage::isContaining(), sgpp::base::HashGridPoint::isLeaf(), sgpp::base::HashGridPoint::set(), and sgpp::base::HashGridPoint::setLeaf().
Referenced by createGridpoint().
|
overridevirtual |
Performs the refinement on grid.
| storage | hashmap that stores the grid points |
| functor | a function used to determine if refinement is needed |
| addedPoints | pointer to vector to append newly created grid points to |
Assumption: during the refinement process the only change made to the storage is the following: New (if any) gridpoints are appended (to the end) of the storage
Implements sgpp::base::AbstractRefinement.
References collectRefinablePoints(), sgpp::base::HashGridStorage::getSize(), python.statsfileInfo::i, and refineGridpointsCollection().
Referenced by sgpp::base::StretchedBoundaryGridGenerator::refine(), sgpp::base::L0BoundaryGridGenerator::refine(), and sgpp::base::BoundaryGridGenerator::refine().
|
overrideprotectedvirtual |
Generates a list with indicator elements.
| storage | grid storage |
| iter | iterator |
| functor | refinement functor |
Implements sgpp::base::AbstractRefinement.
Referenced by collectRefinablePoints().
|
overridevirtual |
Calculates the number of points, which can be refined.
| storage | hashmap that stores the grid points |
Implements sgpp::base::AbstractRefinement.
References sgpp::base::HashGridStorage::begin(), analyse_erg::counter, sgpp::base::HashGridStorage::end(), sgpp::base::HashGridStorage::find(), sgpp::base::HashGridPoint::get(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridStorage::getSize(), chess::point, and sgpp::base::HashGridPoint::set().
Referenced by sgpp::base::StretchedBoundaryGridGenerator::getNumberOfRefinablePoints(), sgpp::base::L0BoundaryGridGenerator::getNumberOfRefinablePoints(), and sgpp::base::BoundaryGridGenerator::getNumberOfRefinablePoints().
|
overrideprotectedvirtual |
This method refines a grid point be generating the children in every dimension of the grid.
| storage | hashmap that stores the gridpoints |
| refine_index | the index in the hashmap of the point that should be refined |
Implements sgpp::base::AbstractRefinement.
References sgpp::base::HashGridStorage::getDimension(), chess::point, and refineGridpoint1D().
Referenced by refineGridpointsCollection().
|
overridevirtual |
Refine one grid point along a single direction.
| storage | hashmap that stores the grid points |
| point | point to refine |
| d | direction |
Implements sgpp::base::AbstractRefinement.
References createGridpoint(), sgpp::base::HashGridPoint::get(), sgpp::base::HashGridStorage::isContaining(), sgpp::base::HashGridPoint::set(), and sgpp::base::HashGridPoint::setLeaf().
Referenced by refineGridpoint().
|
overrideprotectedvirtual |
Extends the grid adding elements defined in collection.
| storage | hashmap that stores the grid points |
| functor | a PredictiveRefinementIndicator specifying the refinement criteria |
| collection | container that contains elements to refine (empty initially) |
Implements sgpp::base::AbstractRefinement.
References sgpp::base::RefinementFunctor::getRefinementThreshold(), and refineGridpoint().
Referenced by free_refine().