Compadre  1.5.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Attributes | List of all members
Compadre::SolutionSet< memory_space > Struct Template Reference

All vairables and functionality related to the layout and storage of GMLS solutions (alpha values) More...

Detailed Description

template<typename memory_space = device_memory_space>
struct Compadre::SolutionSet< memory_space >

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(_alphasgetAlphas () 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...
 

Constructor & Destructor Documentation

template<typename memory_space = device_memory_space>
Compadre::SolutionSet< memory_space >::SolutionSet ( SamplingFunctional  data_sampling_functional,
int  dimensions,
int  local_dimensions,
const ProblemType  problem_type 
)
inline

Constructor for SolutionSet.

Definition at line 85 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
Compadre::SolutionSet< memory_space >::SolutionSet ( )
inline

Definition at line 98 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename other_memory_space >
Compadre::SolutionSet< memory_space >::SolutionSet ( const SolutionSet< other_memory_space > &  other)
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.

Member Function Documentation

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
void Compadre::SolutionSet< memory_space >::addTargets ( TargetOperation  lro)
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.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
void Compadre::SolutionSet< memory_space >::addTargets ( std::vector< TargetOperation lro)
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.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
void Compadre::SolutionSet< memory_space >::clearTargets ( )
inline

Empties the vector of target functionals to apply to the reconstruction.

Definition at line 485 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename other_memory_space >
void Compadre::SolutionSet< memory_space >::copyAlphas ( SolutionSet< other_memory_space > &  other)
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.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::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
inline

Underlying function all interface helper functions call to retrieve alpha values.

Definition at line 276 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::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
inline

Underlying function all interface helper functions call to retrieve alpha values.

Definition at line 423 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::getAlpha0TensorTo0Tensor ( TargetOperation  lro,
const int  target_index,
const int  neighbor_index,
const int  evaluation_site_local_index = 0 
) const
inline

Helper function for getting alphas for scalar reconstruction from scalar data.

Definition at line 169 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::getAlpha0TensorTo0Tensor ( TargetOperation  lro,
const int  target_index,
const int  neighbor_index,
const int  evaluation_site_local_index = 0 
) const
inline

Helper function for getting alphas for scalar reconstruction from scalar data.

Definition at line 327 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::getAlpha0TensorTo1Tensor ( TargetOperation  lro,
const int  target_index,
const int  output_component,
const int  neighbor_index,
const int  evaluation_site_local_index = 0 
) const
inline

Helper function for getting alphas for vector reconstruction from scalar data.

Definition at line 177 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::getAlpha0TensorTo1Tensor ( TargetOperation  lro,
const int  target_index,
const int  output_component,
const int  neighbor_index,
const int  evaluation_site_local_index = 0 
) const
inline

Helper function for getting alphas for vector reconstruction from scalar data.

Definition at line 334 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for matrix reconstruction from scalar data.

Definition at line 185 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for matrix reconstruction from scalar data.

Definition at line 341 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::getAlpha1TensorTo0Tensor ( TargetOperation  lro,
const int  target_index,
const int  neighbor_index,
const int  input_component,
const int  evaluation_site_local_index = 0 
) const
inline

Helper function for getting alphas for scalar reconstruction from vector data.

Definition at line 192 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::getAlpha1TensorTo0Tensor ( TargetOperation  lro,
const int  target_index,
const int  neighbor_index,
const int  input_component,
const int  evaluation_site_local_index = 0 
) const
inline

Helper function for getting alphas for scalar reconstruction from vector data.

Definition at line 347 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for vector reconstruction from vector data.

Definition at line 200 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for vector reconstruction from vector data.

Definition at line 354 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for matrix reconstruction from vector data.

Definition at line 208 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for matrix reconstruction from vector data.

Definition at line 361 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for scalar reconstruction from matrix data.

Definition at line 216 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for scalar reconstruction from matrix data.

Definition at line 368 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for vector reconstruction from matrix data.

Definition at line 223 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for vector reconstruction from matrix data.

Definition at line 374 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for matrix reconstruction from matrix data.

Definition at line 230 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
double Compadre::SolutionSet< memory_space >::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
inline

Helper function for getting alphas for matrix reconstruction from matrix data.

Definition at line 380 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION int Compadre::SolutionSet< memory_space >::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
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.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
int Compadre::SolutionSet< memory_space >::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
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.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION global_index_type Compadre::SolutionSet< memory_space >::getAlphaIndex ( const int  target_index,
const int  alpha_column_offset 
) const
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.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
global_index_type Compadre::SolutionSet< memory_space >::getAlphaIndex ( const int  target_index,
const int  alpha_column_offset 
) const
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.

template<typename memory_space = device_memory_space>
decltype(_alphas) Compadre::SolutionSet< memory_space >::getAlphas ( ) const
inline

Get a view (device) of all alphas.

Definition at line 602 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION int Compadre::SolutionSet< memory_space >::getTargetOffsetIndex ( const int  lro_num,
const int  input_component,
const int  output_component,
const int  evaluation_site_local_index = 0 
) const
inline

Handles offset from operation input/output + extra evaluation sites.

Definition at line 159 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
int Compadre::SolutionSet< memory_space >::getTargetOffsetIndex ( const int  lro_num,
const int  input_component,
const int  output_component,
const int  evaluation_site_local_index = 0 
) const
inline

Handles offset from operation input/output + extra evaluation sites.

Definition at line 318 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t<!std::is_same< host_memory_space, ms >::value, int > = 0>
KOKKOS_INLINE_FUNCTION int Compadre::SolutionSet< memory_space >::getTargetOperationLocalIndex ( TargetOperation  lro) const
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.

template<typename memory_space = device_memory_space>
template<typename ms = memory_space, enable_if_t< std::is_same< host_memory_space, ms >::value, int > = 0>
int Compadre::SolutionSet< memory_space >::getTargetOperationLocalIndex ( TargetOperation  lro) const
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.

Member Data Documentation

template<typename memory_space = device_memory_space>
int Compadre::SolutionSet< memory_space >::_added_alpha_size

additional alpha coefficients due to constraints

Definition at line 49 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
int Compadre::SolutionSet< memory_space >::_dimensions

dimension of the problem, set at class instantiation only

Definition at line 72 of file Compadre_SolutionSet.hpp.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.

template<typename memory_space = device_memory_space>
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.


The documentation for this struct was generated from the following file: