Portage::Limited_Gradient< D, on_what, Mesh, State, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys > Class Template Reference

Compute limited gradient of a field or components of a field. More...

#include <gradient.h>

Public Member Functions

 Limited_Gradient (Mesh const &mesh, State const &state, std::string const var_name, Limiter_type limiter_type, Boundary_Limiter_type boundary_limiter_type, const Part< Mesh, State > *part=nullptr)
 Constructor. More...
 
Limited_Gradientoperator= (const Limited_Gradient &)=delete
 
 ~Limited_Gradient ()=default
 
Vector< D > operator() (int entity_id)
 

Detailed Description

template<int D, Entity_kind on_what, typename Mesh, typename State, template< class, int, class, class > class InterfaceReconstructorType = DummyInterfaceReconstructor, class Matpoly_Splitter = void, class Matpoly_Clipper = void, class CoordSys = Wonton::DefaultCoordSys>
class Portage::Limited_Gradient< D, on_what, Mesh, State, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys >

Compute limited gradient of a field or components of a field.

Template Parameters
MeshA mesh class that one can query for mesh info
StateA state manager class that one can query for field info
on_whatAn enum type which indicates different entity types

Constructor & Destructor Documentation

◆ Limited_Gradient()

template<int D, Entity_kind on_what, typename Mesh , typename State , template< class, int, class, class > class InterfaceReconstructorType = DummyInterfaceReconstructor, class Matpoly_Splitter = void, class Matpoly_Clipper = void, class CoordSys = Wonton::DefaultCoordSys>
Portage::Limited_Gradient< D, on_what, Mesh, State, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys >::Limited_Gradient ( Mesh const &  mesh,
State const &  state,
std::string const  var_name,
Limiter_type  limiter_type,
Boundary_Limiter_type  boundary_limiter_type,
const Part< Mesh, State > *  part = nullptr 
)
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]on_whatAn enum that indicates what type of entity the field is on
[in]var_nameName of field for which the gradient 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_Gradient()

template<int D, Entity_kind on_what, typename Mesh , typename State , template< class, int, class, class > class InterfaceReconstructorType = DummyInterfaceReconstructor, class Matpoly_Splitter = void, class Matpoly_Clipper = void, class CoordSys = Wonton::DefaultCoordSys>
Portage::Limited_Gradient< D, on_what, Mesh, State, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys >::~Limited_Gradient ( )
default

Member Function Documentation

◆ operator()()

template<int D, Entity_kind on_what, typename Mesh , typename State , template< class, int, class, class > class InterfaceReconstructorType = DummyInterfaceReconstructor, class Matpoly_Splitter = void, class Matpoly_Clipper = void, class CoordSys = Wonton::DefaultCoordSys>
Vector<D> Portage::Limited_Gradient< D, on_what, Mesh, State, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys >::operator() ( int  entity_id)
inline

◆ operator=()

template<int D, Entity_kind on_what, typename Mesh , typename State , template< class, int, class, class > class InterfaceReconstructorType = DummyInterfaceReconstructor, class Matpoly_Splitter = void, class Matpoly_Clipper = void, class CoordSys = Wonton::DefaultCoordSys>
Limited_Gradient& Portage::Limited_Gradient< D, on_what, Mesh, State, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys >::operator= ( const Limited_Gradient< D, on_what, Mesh, State, InterfaceReconstructorType, Matpoly_Splitter, Matpoly_Clipper, CoordSys > &  )
delete

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