Compadre
1.5.9
|
All vairables and functionality related to the layout and storage of GMLS solutions (alpha values) More...
All vairables and functionality related to the layout and storage of GMLS solutions (alpha values)
Definition at line 21 of file Compadre_SolutionSet.hpp.
#include <Compadre_SolutionSet.hpp>
Public Member Functions | |
Constructors | |
SolutionSet (SamplingFunctional data_sampling_functional, int dimensions, int local_dimensions, const ProblemType problem_type) | |
Constructor for SolutionSet. More... | |
SolutionSet () | |
template<typename other_memory_space > | |
SolutionSet (const SolutionSet< other_memory_space > &other) | |
Copy constructor (can be used to move data from device to host or vice-versa) More... | |
Public Accessors | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION int | getTargetOffsetIndex (const int lro_num, const int input_component, const int output_component, const int evaluation_site_local_index=0) const |
Handles offset from operation input/output + extra evaluation sites. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha0TensorTo0Tensor (TargetOperation lro, const int target_index, const int neighbor_index, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for scalar reconstruction from scalar data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha0TensorTo1Tensor (TargetOperation lro, const int target_index, const int output_component, const int neighbor_index, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for vector reconstruction from scalar data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha0TensorTo2Tensor (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for matrix reconstruction from scalar data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha1TensorTo0Tensor (TargetOperation lro, const int target_index, const int neighbor_index, const int input_component, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for scalar reconstruction from vector data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha1TensorTo1Tensor (TargetOperation lro, const int target_index, const int output_component, const int neighbor_index, const int input_component, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for vector reconstruction from vector data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha1TensorTo2Tensor (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int input_component, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for matrix reconstruction from vector data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha2TensorTo0Tensor (TargetOperation lro, const int target_index, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for scalar reconstruction from matrix data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha2TensorTo1Tensor (TargetOperation lro, const int target_index, const int output_component, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for vector reconstruction from matrix data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha2TensorTo2Tensor (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for matrix reconstruction from matrix data. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION global_index_type | getAlphaIndex (const int target_index, const int alpha_column_offset) const |
Gives index into alphas given two axes, which when incremented by the neighbor number transforms access into alphas from a rank 1 view into a rank 3 view. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION int | getAlphaColumnOffset (TargetOperation lro, const int output_component_axis_1, const int output_component_axis_2, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Retrieves the offset for an operator based on input and output component, generic to row (but still multiplied by the number of neighbors for each row and then needs a neighbor number added to this returned value to be meaningful) More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION double | getAlpha (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Underlying function all interface helper functions call to retrieve alpha values. More... | |
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0> | |
KOKKOS_INLINE_FUNCTION int | getTargetOperationLocalIndex (TargetOperation lro) const |
Get the local index (internal) to GMLS for a particular TargetOperation Every TargetOperation has a global index which can be readily found in Compadre::TargetOperation but this function returns the index used inside of the GMLS class. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
int | getTargetOffsetIndex (const int lro_num, const int input_component, const int output_component, const int evaluation_site_local_index=0) const |
Handles offset from operation input/output + extra evaluation sites. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha0TensorTo0Tensor (TargetOperation lro, const int target_index, const int neighbor_index, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for scalar reconstruction from scalar data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha0TensorTo1Tensor (TargetOperation lro, const int target_index, const int output_component, const int neighbor_index, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for vector reconstruction from scalar data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha0TensorTo2Tensor (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for matrix reconstruction from scalar data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha1TensorTo0Tensor (TargetOperation lro, const int target_index, const int neighbor_index, const int input_component, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for scalar reconstruction from vector data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha1TensorTo1Tensor (TargetOperation lro, const int target_index, const int output_component, const int neighbor_index, const int input_component, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for vector reconstruction from vector data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha1TensorTo2Tensor (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int input_component, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for matrix reconstruction from vector data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha2TensorTo0Tensor (TargetOperation lro, const int target_index, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for scalar reconstruction from matrix data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha2TensorTo1Tensor (TargetOperation lro, const int target_index, const int output_component, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for vector reconstruction from matrix data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha2TensorTo2Tensor (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Helper function for getting alphas for matrix reconstruction from matrix data. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
global_index_type | getAlphaIndex (const int target_index, const int alpha_column_offset) const |
Gives index into alphas given two axes, which when incremented by the neighbor number transforms access into alphas from a rank 1 view into a rank 3 view. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
int | getAlphaColumnOffset (TargetOperation lro, const int output_component_axis_1, const int output_component_axis_2, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Retrieves the offset for an operator based on input and output component, generic to row (but still multiplied by the number of neighbors for each row and then needs a neighbor number added to this returned value to be meaningful) More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
double | getAlpha (TargetOperation lro, const int target_index, const int output_component_axis_1, const int output_component_axis_2, const int neighbor_index, const int input_component_axis_1, const int input_component_axis_2, const int evaluation_site_local_index=0) const |
Underlying function all interface helper functions call to retrieve alpha values. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
int | getTargetOperationLocalIndex (TargetOperation lro) const |
Get the local index (internal) to GMLS for a particular TargetOperation Every TargetOperation has a global index which can be readily found in Compadre::TargetOperation but this function returns the index used inside of the GMLS class. More... | |
Public Modifiers (can only call from host) | |
template<typename other_memory_space > | |
void | copyAlphas (SolutionSet< other_memory_space > &other) |
Copies alphas between two instances of SolutionSet Copying of alphas is intentionally omitted in copy constructor. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
void | clearTargets () |
Empties the vector of target functionals to apply to the reconstruction. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
void | addTargets (TargetOperation lro) |
Adds a target to the vector of target functional to be applied to the reconstruction. More... | |
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0> | |
void | addTargets (std::vector< TargetOperation > lro) |
Adds a vector of target functionals to the vector of target functionals already to be applied to the reconstruction. More... | |
decltype(_alphas) | getAlphas () const |
Get a view (device) of all alphas. More... | |
Public Attributes | |
Kokkos::View< TargetOperation *, memory_space > | _lro |
vector of user requested target operations More... | |
Kokkos::View< int *, memory_space > | _lro_lookup |
vector containing a mapping from a target functionals enum value to the its place in the list of target functionals to be applied More... | |
Kokkos::View< int *, memory_space > | _lro_total_offsets |
index for where this operation begins the for _alpha coefficients More... | |
Kokkos::View< int *, memory_space > | _lro_output_tile_size |
dimensions ^ rank of tensor of output for each target functional More... | |
Kokkos::View< int *, memory_space > | _lro_input_tile_size |
dimensions ^ rank of tensor of output for each sampling functional More... | |
Kokkos::View< int *, memory_space > | _lro_output_tensor_rank |
tensor rank of target functional (device) More... | |
Kokkos::View< int *, memory_space > | _lro_input_tensor_rank |
tensor rank of sampling functional (device) More... | |
Kokkos::View< double *, layout_right, memory_space > | _alphas |
generated alpha coefficients (device) More... | |
int | _added_alpha_size |
additional alpha coefficients due to constraints More... | |
int | _max_evaluation_sites_per_target |
maximum number of evaluation sites for each target (includes target site) More... | |
int | _total_alpha_values |
used for sizing P_target_row and the _alphas view More... | |
bool | _contains_valid_alphas |
whether internal alpha values are valid (set externally on a solve) More... | |
NeighborLists< Kokkos::View < int * > > | _neighbor_lists |
Accessor to get neighbor list data, offset data, and number of neighbors per target. More... | |
SamplingFunctional | _data_sampling_functional |
generally the same as _polynomial_sampling_functional, but can differ if specified at GMLS class instantiation More... | |
int | _dimensions |
dimension of the problem, set at class instantiation only More... | |
int | _local_dimensions |
dimension of the problem, set at class instantiation only. For manifolds, generally _global_dimensions-1 More... | |
ProblemType | _problem_type |
problem type for GMLS problem, can also be set to STANDARD for normal or MANIFOLD for manifold problems More... | |
|
inline |
Constructor for SolutionSet.
Definition at line 85 of file Compadre_SolutionSet.hpp.
|
inline |
Definition at line 98 of file Compadre_SolutionSet.hpp.
|
inline |
Copy constructor (can be used to move data from device to host or vice-versa)
Definition at line 102 of file Compadre_SolutionSet.hpp.
|
inline |
Adds a target to the vector of target functional to be applied to the reconstruction.
Definition at line 494 of file Compadre_SolutionSet.hpp.
|
inline |
Adds a vector of target functionals to the vector of target functionals already to be applied to the reconstruction.
Definition at line 501 of file Compadre_SolutionSet.hpp.
|
inline |
Empties the vector of target functionals to apply to the reconstruction.
Definition at line 485 of file Compadre_SolutionSet.hpp.
|
inline |
Copies alphas between two instances of SolutionSet Copying of alphas is intentionally omitted in copy constructor.
Definition at line 472 of file Compadre_SolutionSet.hpp.
|
inline |
Underlying function all interface helper functions call to retrieve alpha values.
Definition at line 276 of file Compadre_SolutionSet.hpp.
|
inline |
Underlying function all interface helper functions call to retrieve alpha values.
Definition at line 423 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for scalar reconstruction from scalar data.
Definition at line 169 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for scalar reconstruction from scalar data.
Definition at line 327 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for vector reconstruction from scalar data.
Definition at line 177 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for vector reconstruction from scalar data.
Definition at line 334 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for matrix reconstruction from scalar data.
Definition at line 185 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for matrix reconstruction from scalar data.
Definition at line 341 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for scalar reconstruction from vector data.
Definition at line 192 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for scalar reconstruction from vector data.
Definition at line 347 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for vector reconstruction from vector data.
Definition at line 200 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for vector reconstruction from vector data.
Definition at line 354 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for matrix reconstruction from vector data.
Definition at line 208 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for matrix reconstruction from vector data.
Definition at line 361 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for scalar reconstruction from matrix data.
Definition at line 216 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for scalar reconstruction from matrix data.
Definition at line 368 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for vector reconstruction from matrix data.
Definition at line 223 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for vector reconstruction from matrix data.
Definition at line 374 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for matrix reconstruction from matrix data.
Definition at line 230 of file Compadre_SolutionSet.hpp.
|
inline |
Helper function for getting alphas for matrix reconstruction from matrix data.
Definition at line 380 of file Compadre_SolutionSet.hpp.
|
inline |
Retrieves the offset for an operator based on input and output component, generic to row (but still multiplied by the number of neighbors for each row and then needs a neighbor number added to this returned value to be meaningful)
Definition at line 256 of file Compadre_SolutionSet.hpp.
|
inline |
Retrieves the offset for an operator based on input and output component, generic to row (but still multiplied by the number of neighbors for each row and then needs a neighbor number added to this returned value to be meaningful)
Definition at line 404 of file Compadre_SolutionSet.hpp.
|
inline |
Gives index into alphas given two axes, which when incremented by the neighbor number transforms access into alphas from a rank 1 view into a rank 3 view.
Definition at line 238 of file Compadre_SolutionSet.hpp.
|
inline |
Gives index into alphas given two axes, which when incremented by the neighbor number transforms access into alphas from a rank 1 view into a rank 3 view.
Definition at line 387 of file Compadre_SolutionSet.hpp.
|
inline |
Get a view (device) of all alphas.
Definition at line 602 of file Compadre_SolutionSet.hpp.
|
inline |
Handles offset from operation input/output + extra evaluation sites.
Definition at line 159 of file Compadre_SolutionSet.hpp.
|
inline |
Handles offset from operation input/output + extra evaluation sites.
Definition at line 318 of file Compadre_SolutionSet.hpp.
|
inline |
Get the local index (internal) to GMLS for a particular TargetOperation Every TargetOperation has a global index which can be readily found in Compadre::TargetOperation but this function returns the index used inside of the GMLS class.
Definition at line 312 of file Compadre_SolutionSet.hpp.
|
inline |
Get the local index (internal) to GMLS for a particular TargetOperation Every TargetOperation has a global index which can be readily found in Compadre::TargetOperation but this function returns the index used inside of the GMLS class.
Definition at line 458 of file Compadre_SolutionSet.hpp.
int Compadre::SolutionSet< memory_space >::_added_alpha_size |
additional alpha coefficients due to constraints
Definition at line 49 of file Compadre_SolutionSet.hpp.
Kokkos::View<double*, layout_right, memory_space> Compadre::SolutionSet< memory_space >::_alphas |
generated alpha coefficients (device)
Definition at line 46 of file Compadre_SolutionSet.hpp.
bool Compadre::SolutionSet< memory_space >::_contains_valid_alphas |
whether internal alpha values are valid (set externally on a solve)
Definition at line 58 of file Compadre_SolutionSet.hpp.
SamplingFunctional Compadre::SolutionSet< memory_space >::_data_sampling_functional |
generally the same as _polynomial_sampling_functional, but can differ if specified at GMLS class instantiation
Definition at line 69 of file Compadre_SolutionSet.hpp.
int Compadre::SolutionSet< memory_space >::_dimensions |
dimension of the problem, set at class instantiation only
Definition at line 72 of file Compadre_SolutionSet.hpp.
int Compadre::SolutionSet< memory_space >::_local_dimensions |
dimension of the problem, set at class instantiation only. For manifolds, generally _global_dimensions-1
Definition at line 75 of file Compadre_SolutionSet.hpp.
Kokkos::View<TargetOperation*, memory_space> Compadre::SolutionSet< memory_space >::_lro |
vector of user requested target operations
Definition at line 24 of file Compadre_SolutionSet.hpp.
Kokkos::View<int*, memory_space> Compadre::SolutionSet< memory_space >::_lro_input_tensor_rank |
tensor rank of sampling functional (device)
Definition at line 43 of file Compadre_SolutionSet.hpp.
Kokkos::View<int*, memory_space> Compadre::SolutionSet< memory_space >::_lro_input_tile_size |
dimensions ^ rank of tensor of output for each sampling functional
Definition at line 37 of file Compadre_SolutionSet.hpp.
Kokkos::View<int*, memory_space> Compadre::SolutionSet< memory_space >::_lro_lookup |
vector containing a mapping from a target functionals enum value to the its place in the list of target functionals to be applied
Definition at line 28 of file Compadre_SolutionSet.hpp.
Kokkos::View<int*, memory_space> Compadre::SolutionSet< memory_space >::_lro_output_tensor_rank |
tensor rank of target functional (device)
Definition at line 40 of file Compadre_SolutionSet.hpp.
Kokkos::View<int*, memory_space> Compadre::SolutionSet< memory_space >::_lro_output_tile_size |
dimensions ^ rank of tensor of output for each target functional
Definition at line 34 of file Compadre_SolutionSet.hpp.
Kokkos::View<int*, memory_space> Compadre::SolutionSet< memory_space >::_lro_total_offsets |
index for where this operation begins the for _alpha coefficients
Definition at line 31 of file Compadre_SolutionSet.hpp.
int Compadre::SolutionSet< memory_space >::_max_evaluation_sites_per_target |
maximum number of evaluation sites for each target (includes target site)
Definition at line 52 of file Compadre_SolutionSet.hpp.
NeighborLists<Kokkos::View<int*> > Compadre::SolutionSet< memory_space >::_neighbor_lists |
Accessor to get neighbor list data, offset data, and number of neighbors per target.
Definition at line 65 of file Compadre_SolutionSet.hpp.
ProblemType Compadre::SolutionSet< memory_space >::_problem_type |
problem type for GMLS problem, can also be set to STANDARD for normal or MANIFOLD for manifold problems
Definition at line 78 of file Compadre_SolutionSet.hpp.
int Compadre::SolutionSet< memory_space >::_total_alpha_values |
used for sizing P_target_row and the _alphas view
Definition at line 55 of file Compadre_SolutionSet.hpp.