basis.h File Reference
#include <cassert>
#include <cmath>
#include <array>
#include <vector>
#include "portage/support/portage.h"
#include "wonton/support/Point.h"

Go to the source code of this file.

Classes

class  Portage::Meshfree::basis::Traits< type, dim >
 
class  Portage::Meshfree::basis::Traits< Unitary, dim >
 
class  Portage::Meshfree::basis::Traits< Linear, dim >
 
class  Portage::Meshfree::basis::Traits< Quadratic, dim >
 

Namespaces

 Portage
 
 Portage::Meshfree
 
 Portage::Meshfree::basis
 

Enumerations

enum  Portage::Meshfree::basis::Type { Portage::Meshfree::basis::Unitary, Portage::Meshfree::basis::Linear, Portage::Meshfree::basis::Quadratic, Portage::Meshfree::basis::LastBasis }
 

Functions

template<int dim>
size_t Portage::Meshfree::basis::function_size (Type btype)
 
template<int dim>
std::array< size_t, 2 > Portage::Meshfree::basis::jet_size (Type btype)
 
template<Type type, size_t dim>
std::array< double, Traits< type, dim >::function_size > Portage::Meshfree::basis::function (Wonton::Point< dim > x)
 
template<Type type, size_t dim>
std::array< std::array< double, Traits< type, dim >::function_size >, Traits< type, dim >::function_size > Portage::Meshfree::basis::jet (Wonton::Point< dim > x)
 
template<Type type, size_t dim>
std::array< std::array< double, Traits< type, dim >::function_size >, Traits< type, dim >::function_size > Portage::Meshfree::basis::inverse_jet (Wonton::Point< dim > x)
 
template<Type type, size_t dim>
std::array< double, Traits< type, dim >::function_size > Portage::Meshfree::basis::shift (Wonton::Point< dim > x, Wonton::Point< dim > y)
 
template<Type type, size_t dim>
Traits< type, dim >::matrix_t Portage::Meshfree::basis::transfactor (const Wonton::Point< dim > &c)
 
template<size_t dim>
std::vector< double > Portage::Meshfree::basis::function (Type type, Wonton::Point< dim > x)
 
template<size_t dim>
std::vector< double > Portage::Meshfree::basis::shift (Type type, Wonton::Point< dim > x, Wonton::Point< dim > y)
 
template<size_t dim>
std::vector< std::vector< double > > Portage::Meshfree::basis::jet (Type type, Wonton::Point< dim > x)
 
template<size_t dim>
std::vector< std::vector< double > > Portage::Meshfree::basis::inverse_jet (Type type, Wonton::Point< dim > x)
 
template<size_t dim>
std::vector< std::vector< double > > Portage::Meshfree::basis::transfactor (const Type type, const Wonton::Point< dim > &c)
 
template<>
std::array< double, Traits< Unitary, 1 >::function_size > Portage::Meshfree::basis::function< Unitary, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< double, Traits< Unitary, 2 >::function_size > Portage::Meshfree::basis::function< Unitary, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< double, Traits< Unitary, 3 >::function_size > Portage::Meshfree::basis::function< Unitary, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< std::array< double, Traits< Unitary, 1 >::function_size >, Traits< Unitary, 1 >::function_size > Portage::Meshfree::basis::jet< Unitary, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< std::array< double, Traits< Unitary, 2 >::function_size >, Traits< Unitary, 2 >::function_size > Portage::Meshfree::basis::jet< Unitary, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< std::array< double, Traits< Unitary, 3 >::function_size >, Traits< Unitary, 3 >::function_size > Portage::Meshfree::basis::jet< Unitary, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< std::array< double, Traits< Unitary, 1 >::function_size >, Traits< Unitary, 1 >::function_size > Portage::Meshfree::basis::inverse_jet< Unitary, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< std::array< double, Traits< Unitary, 2 >::function_size >, Traits< Unitary, 2 >::function_size > Portage::Meshfree::basis::inverse_jet< Unitary, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< std::array< double, Traits< Unitary, 3 >::function_size >, Traits< Unitary, 3 >::function_size > Portage::Meshfree::basis::inverse_jet< Unitary, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< double, Traits< Unitary, 1 >::function_size > Portage::Meshfree::basis::shift< Unitary, 1 > (Wonton::Point< 1 > x, Wonton::Point< 1 > y)
 
template<>
std::array< double, Traits< Unitary, 2 >::function_size > Portage::Meshfree::basis::shift< Unitary, 2 > (Wonton::Point< 2 > x, Wonton::Point< 2 > y)
 
template<>
std::array< double, Traits< Unitary, 3 >::function_size > Portage::Meshfree::basis::shift< Unitary, 3 > (Wonton::Point< 3 > x, Wonton::Point< 3 > y)
 
template<>
Traits< Unitary, 1 >::matrix_t Portage::Meshfree::basis::transfactor< Unitary, 1 > (const Wonton::Point< 1 > &c)
 
template<>
Traits< Unitary, 2 >::matrix_t Portage::Meshfree::basis::transfactor< Unitary, 2 > (const Wonton::Point< 2 > &c)
 
template<>
Traits< Unitary, 3 >::matrix_t Portage::Meshfree::basis::transfactor< Unitary, 3 > (const Wonton::Point< 3 > &c)
 
template<>
std::array< double, Traits< Linear, 1 >::function_size > Portage::Meshfree::basis::function< Linear, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< double, Traits< Linear, 2 >::function_size > Portage::Meshfree::basis::function< Linear, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< double, Traits< Linear, 3 >::function_size > Portage::Meshfree::basis::function< Linear, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< std::array< double, Traits< Linear, 1 >::function_size >, Traits< Linear, 1 >::function_size > Portage::Meshfree::basis::jet< Linear, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< std::array< double, Traits< Linear, 2 >::function_size >, Traits< Linear, 2 >::function_size > Portage::Meshfree::basis::jet< Linear, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< std::array< double, Traits< Linear, 3 >::function_size >, Traits< Linear, 3 >::function_size > Portage::Meshfree::basis::jet< Linear, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< std::array< double, Traits< Linear, 1 >::function_size >, Traits< Linear, 1 >::function_size > Portage::Meshfree::basis::inverse_jet< Linear, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< std::array< double, Traits< Linear, 2 >::function_size >, Traits< Linear, 2 >::function_size > Portage::Meshfree::basis::inverse_jet< Linear, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< std::array< double, Traits< Linear, 3 >::function_size >, Traits< Linear, 3 >::function_size > Portage::Meshfree::basis::inverse_jet< Linear, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< double, Traits< Linear, 1 >::function_size > Portage::Meshfree::basis::shift< Linear, 1 > (Wonton::Point< 1 > x, Wonton::Point< 1 > y)
 
template<>
std::array< double, Traits< Linear, 2 >::function_size > Portage::Meshfree::basis::shift< Linear, 2 > (Wonton::Point< 2 > x, Wonton::Point< 2 > y)
 
template<>
std::array< double, Traits< Linear, 3 >::function_size > Portage::Meshfree::basis::shift< Linear, 3 > (Wonton::Point< 3 > x, Wonton::Point< 3 > y)
 
template<>
Traits< Linear, 1 >::matrix_t Portage::Meshfree::basis::transfactor< Linear, 1 > (const Wonton::Point< 1 > &c)
 
template<>
Traits< Linear, 2 >::matrix_t Portage::Meshfree::basis::transfactor< Linear, 2 > (const Wonton::Point< 2 > &c)
 
template<>
Traits< Linear, 3 >::matrix_t Portage::Meshfree::basis::transfactor< Linear, 3 > (const Wonton::Point< 3 > &c)
 
template<>
std::array< double, Traits< Quadratic, 1 >::function_size > Portage::Meshfree::basis::function< Quadratic, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< double, Traits< Quadratic, 2 >::function_size > Portage::Meshfree::basis::function< Quadratic, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< double, Traits< Quadratic, 3 >::function_size > Portage::Meshfree::basis::function< Quadratic, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< std::array< double, Traits< Quadratic, 1 >::function_size >, Traits< Quadratic, 1 >::function_size > Portage::Meshfree::basis::jet< Quadratic, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< std::array< double, Traits< Quadratic, 2 >::function_size >, Traits< Quadratic, 2 >::function_size > Portage::Meshfree::basis::jet< Quadratic, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< std::array< double, Traits< Quadratic, 3 >::function_size >, Traits< Quadratic, 3 >::function_size > Portage::Meshfree::basis::jet< Quadratic, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< std::array< double, Traits< Quadratic, 1 >::function_size >, Traits< Quadratic, 1 >::function_size > Portage::Meshfree::basis::inverse_jet< Quadratic, 1 > (Wonton::Point< 1 > x)
 
template<>
std::array< std::array< double, Traits< Quadratic, 2 >::function_size >, Traits< Quadratic, 2 >::function_size > Portage::Meshfree::basis::inverse_jet< Quadratic, 2 > (Wonton::Point< 2 > x)
 
template<>
std::array< std::array< double, Traits< Quadratic, 3 >::function_size >, Traits< Quadratic, 3 >::function_size > Portage::Meshfree::basis::inverse_jet< Quadratic, 3 > (Wonton::Point< 3 > x)
 
template<>
std::array< double, Traits< Quadratic, 1 >::function_size > Portage::Meshfree::basis::shift< Quadratic, 1 > (Wonton::Point< 1 > x, Wonton::Point< 1 > y)
 
template<>
std::array< double, Traits< Quadratic, 2 >::function_size > Portage::Meshfree::basis::shift< Quadratic, 2 > (Wonton::Point< 2 > x, Wonton::Point< 2 > y)
 
template<>
std::array< double, Traits< Quadratic, 3 >::function_size > Portage::Meshfree::basis::shift< Quadratic, 3 > (Wonton::Point< 3 > x, Wonton::Point< 3 > y)
 
template<>
Traits< Quadratic, 1 >::matrix_t Portage::Meshfree::basis::transfactor< Quadratic, 1 > (const Wonton::Point< 1 > &c)
 
template<>
Traits< Quadratic, 2 >::matrix_t Portage::Meshfree::basis::transfactor< Quadratic, 2 > (const Wonton::Point< 2 > &c)
 
template<>
Traits< Quadratic, 3 >::matrix_t Portage::Meshfree::basis::transfactor< Quadratic, 3 > (const Wonton::Point< 3 > &c)
 

Variables

constexpr std::array< size_t, 4 > const Portage::Meshfree::basis::quadratic_sizes = {0, 3, 6, 10}