Portage::Limited_Quadfit< D, Entity_kind::CELL, MeshType, StateType > Class Template Reference

#include <quadfit.h>

Public Member Functions

 Limited_Quadfit (MeshType const &mesh, StateType const &state, std::string const var_name, Limiter_type limiter_type, Boundary_Limiter_type Boundary_Limiter_type)
 Constructor. More...
 
Limited_Quadfitoperator= (const Limited_Quadfit &)=delete
 Assignment operator (disabled) More...
 
 ~Limited_Quadfit ()=default
 Destructor. More...
 
Vector< D *(D+3)/2 > operator() (int cellid)
 Functor. More...
 

Constructor & Destructor Documentation

◆ Limited_Quadfit()

template<int D, typename MeshType , typename StateType >
Portage::Limited_Quadfit< D, Entity_kind::CELL, MeshType, StateType >::Limited_Quadfit ( MeshType const &  mesh,
StateType const &  state,
std::string const  var_name,
Limiter_type  limiter_type,
Boundary_Limiter_type  Boundary_Limiter_type 
)
inline

Constructor.

Parameters
[in]meshMesh class than one can query for mesh info
[in]stateA state manager class that one can query for field info
[in]var_nameName of field for which the quadfit is to be computed
[in]limiter_typeAn enum indicating if the limiter type (none, Barth-Jespersen, Superbee etc)
[in]Boundary_Limiter_typeAn enum indicating the limiter type on the boundary
Todo:
must remove assumption that field is scalar

◆ ~Limited_Quadfit()

template<int D, typename MeshType , typename StateType >
Portage::Limited_Quadfit< D, Entity_kind::CELL, MeshType, StateType >::~Limited_Quadfit ( )
default

Destructor.

Member Function Documentation

◆ operator()()

template<int D, typename MeshType , typename StateType >
Vector< D *(D+3)/2 > Portage::Limited_Quadfit< D, Entity_kind::CELL, MeshType, StateType >::operator() ( int  cellid)

Functor.

Implementation of Limited_Quadfit functor for CELLs Limited _Quadfit - Fit to a field to a quadratic multinomial using a Least-Squared fit. Returns an array of parameters. If the CELL is on a boundary the stencil is too small, so it drops to linear order. Uses an SVD decomposition for the LS regression.

Todo:
: must remove assumption the field is scalar

◆ operator=()

template<int D, typename MeshType , typename StateType >
Limited_Quadfit& Portage::Limited_Quadfit< D, Entity_kind::CELL, MeshType, StateType >::operator= ( const Limited_Quadfit< D, Entity_kind::CELL, MeshType, StateType > &  )
delete

Assignment operator (disabled)

Todo:
Seems to be needed when using this in a Thrust transform call?

The documentation for this class was generated from the following file:
  • /home/portage/portage/portage/interpolate/quadfit.h