Compadre  1.5.7
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 13 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

◆ SolutionSet() [1/3]

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 77 of file Compadre_SolutionSet.hpp.

◆ SolutionSet() [2/3]

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

Definition at line 90 of file Compadre_SolutionSet.hpp.

◆ SolutionSet() [3/3]

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 94 of file Compadre_SolutionSet.hpp.

Member Function Documentation

◆ addTargets() [1/2]

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 493 of file Compadre_SolutionSet.hpp.

◆ addTargets() [2/2]

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 486 of file Compadre_SolutionSet.hpp.

◆ clearTargets()

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 477 of file Compadre_SolutionSet.hpp.

◆ copyAlphas()

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 464 of file Compadre_SolutionSet.hpp.

◆ getAlpha() [1/2]

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 268 of file Compadre_SolutionSet.hpp.

◆ getAlpha() [2/2]

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 415 of file Compadre_SolutionSet.hpp.

◆ getAlpha0TensorTo0Tensor() [1/2]

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 161 of file Compadre_SolutionSet.hpp.

◆ getAlpha0TensorTo0Tensor() [2/2]

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 319 of file Compadre_SolutionSet.hpp.

◆ getAlpha0TensorTo1Tensor() [1/2]

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 169 of file Compadre_SolutionSet.hpp.

◆ getAlpha0TensorTo1Tensor() [2/2]

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 326 of file Compadre_SolutionSet.hpp.

◆ getAlpha0TensorTo2Tensor() [1/2]

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 177 of file Compadre_SolutionSet.hpp.

◆ getAlpha0TensorTo2Tensor() [2/2]

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 333 of file Compadre_SolutionSet.hpp.

◆ getAlpha1TensorTo0Tensor() [1/2]

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 184 of file Compadre_SolutionSet.hpp.

◆ getAlpha1TensorTo0Tensor() [2/2]

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 339 of file Compadre_SolutionSet.hpp.

◆ getAlpha1TensorTo1Tensor() [1/2]

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 192 of file Compadre_SolutionSet.hpp.

◆ getAlpha1TensorTo1Tensor() [2/2]

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 346 of file Compadre_SolutionSet.hpp.

◆ getAlpha1TensorTo2Tensor() [1/2]

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 200 of file Compadre_SolutionSet.hpp.

◆ getAlpha1TensorTo2Tensor() [2/2]

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 353 of file Compadre_SolutionSet.hpp.

◆ getAlpha2TensorTo0Tensor() [1/2]

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 208 of file Compadre_SolutionSet.hpp.

◆ getAlpha2TensorTo0Tensor() [2/2]

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 360 of file Compadre_SolutionSet.hpp.

◆ getAlpha2TensorTo1Tensor() [1/2]

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 215 of file Compadre_SolutionSet.hpp.

◆ getAlpha2TensorTo1Tensor() [2/2]

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 366 of file Compadre_SolutionSet.hpp.

◆ getAlpha2TensorTo2Tensor() [1/2]

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 222 of file Compadre_SolutionSet.hpp.

◆ getAlpha2TensorTo2Tensor() [2/2]

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 372 of file Compadre_SolutionSet.hpp.

◆ getAlphaColumnOffset() [1/2]

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 248 of file Compadre_SolutionSet.hpp.

◆ getAlphaColumnOffset() [2/2]

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 396 of file Compadre_SolutionSet.hpp.

◆ getAlphaIndex() [1/2]

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 230 of file Compadre_SolutionSet.hpp.

◆ getAlphaIndex() [2/2]

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 379 of file Compadre_SolutionSet.hpp.

◆ getAlphas()

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 594 of file Compadre_SolutionSet.hpp.

◆ getTargetOffsetIndex() [1/2]

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 151 of file Compadre_SolutionSet.hpp.

◆ getTargetOffsetIndex() [2/2]

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 310 of file Compadre_SolutionSet.hpp.

◆ getTargetOperationLocalIndex() [1/2]

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 304 of file Compadre_SolutionSet.hpp.

◆ getTargetOperationLocalIndex() [2/2]

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 450 of file Compadre_SolutionSet.hpp.

Member Data Documentation

◆ _added_alpha_size

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

additional alpha coefficients due to constraints

Definition at line 41 of file Compadre_SolutionSet.hpp.

◆ _alphas

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 38 of file Compadre_SolutionSet.hpp.

◆ _contains_valid_alphas

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 50 of file Compadre_SolutionSet.hpp.

◆ _data_sampling_functional

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 61 of file Compadre_SolutionSet.hpp.

◆ _dimensions

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 64 of file Compadre_SolutionSet.hpp.

◆ _local_dimensions

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 67 of file Compadre_SolutionSet.hpp.

◆ _lro

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 16 of file Compadre_SolutionSet.hpp.

◆ _lro_input_tensor_rank

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 35 of file Compadre_SolutionSet.hpp.

◆ _lro_input_tile_size

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 29 of file Compadre_SolutionSet.hpp.

◆ _lro_lookup

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 20 of file Compadre_SolutionSet.hpp.

◆ _lro_output_tensor_rank

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 32 of file Compadre_SolutionSet.hpp.

◆ _lro_output_tile_size

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 26 of file Compadre_SolutionSet.hpp.

◆ _lro_total_offsets

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 23 of file Compadre_SolutionSet.hpp.

◆ _max_evaluation_sites_per_target

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 44 of file Compadre_SolutionSet.hpp.

◆ _neighbor_lists

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 57 of file Compadre_SolutionSet.hpp.

◆ _problem_type

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 70 of file Compadre_SolutionSet.hpp.

◆ _total_alpha_values

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 47 of file Compadre_SolutionSet.hpp.


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