Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Types | Private Attributes | List of all members
panzer_stk::ProjectField< EvalT, Traits > Class Template Reference

Given a field, perform a local L2 projection onto the desired basis. More...

#include <Panzer_STK_ProjectField_decl.hpp>

Inheritance diagram for panzer_stk::ProjectField< EvalT, Traits >:
Inheritance graph
[legend]

Public Member Functions

 ProjectField (const std::string &inName, Teuchos::RCP< panzer::PureBasis > src, Teuchos::RCP< panzer::PureBasis > dst, std::string outname="")
 
void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
 
void evaluateFields (typename Traits::EvalData d)
 
- Public Member Functions inherited from panzer::EvaluatorWithBaseImpl< Traits >
void setDetailsIndex (const int di)
 An evaluator builder sets the details index. More...
 
- Public Member Functions inherited from PHX::Evaluator< Traits >
 Evaluator ()
 
virtual ~Evaluator ()
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
evaluatedFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
contributedFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
dependentFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
unsharedFields () const =0
 
virtual void preEvaluate (typename Traits::PreEvalData d)=0
 
virtual void postEvaluate (typename Traits::PostEvalData d)=0
 
virtual const std::string & getName () const =0
 
virtual void bindField (const PHX::FieldTag &ft, const std::any &f)=0
 
virtual PHX::DeviceEvaluator
< Traits > * 
createDeviceEvaluator () const =0
 
virtual void rebuildDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0
 
virtual void deleteDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0
 
virtual void printFieldValues (std::ostream &os) const =0
 
- Public Member Functions inherited from panzer::DomainEvaluator
 DomainEvaluator (DomainType domain=ALL)
 Constructor. More...
 
virtual ~DomainEvaluator ()=default
 Default destructor. More...
 
void setDomain (const DomainType domain)
 Set the domain for the evaluator. More...
 
DomainType getDomain ()
 Get the domain for the evaluator. More...
 
virtual int cellStartIndex (const panzer::Workset &workset) const
 Returns the starting cell for the specified domain for a given workset. More...
 
virtual int cellEndIndex (const panzer::Workset &workset) const
 Returns the non-inclusive end cell for the specified domain for a given workset. More...
 

Private Types

using ScalarT = typename EvalT::ScalarT
 

Private Attributes

const std::string field_name_
 
Teuchos::RCP< const
panzer::PureBasis
srcBasis_
 
Teuchos::RCP< const
panzer::PureBasis
dstBasis_
 
Teuchos::RCP< const
std::vector
< Intrepid2::Orientation > > 
orientations_
 
PHX::MDField< double,
panzer::Cell, panzer::BASIS
result_
 
PHX::MDField< double,
panzer::Cell, panzer::BASIS
source_
 
Kokkos::DynRankView
< Intrepid2::Orientation,
PHX::Device > 
local_orts_
 

Additional Inherited Members

- Public Types inherited from panzer::DomainEvaluator
enum  DomainType : int {
  OWNED =0, GHOST =1, REAL =2, VIRTUAL =3,
  EXTERNAL =4, ALL =5
}
 Domain types supported by worksets. More...
 
- Protected Attributes inherited from panzer::EvaluatorWithBaseImpl< Traits >
WorksetDetailsAccessor wda
 

Detailed Description

template<typename EvalT, typename Traits>
class panzer_stk::ProjectField< EvalT, Traits >

Given a field, perform a local L2 projection onto the desired basis.

Note
Requires that orientations be given in the postRegistrationSetup phase.

Definition at line 31 of file Panzer_STK_ProjectField_decl.hpp.

Member Typedef Documentation

template<typename EvalT , typename Traits >
using panzer_stk::ProjectField< EvalT, Traits >::ScalarT = typename EvalT::ScalarT
private

Definition at line 57 of file Panzer_STK_ProjectField_decl.hpp.

Constructor & Destructor Documentation

template<typename EvalT , typename Traits >
panzer_stk::ProjectField< EvalT, Traits >::ProjectField ( const std::string &  inName,
Teuchos::RCP< panzer::PureBasis src,
Teuchos::RCP< panzer::PureBasis dst,
std::string  outname = "" 
)

Constructor for the ProjectField evaluator.

Parameters
[in]inNameName of the source MDField
[in]srcBasis of the source field
[in]dstTarget basis
[in]outname(Optional) Name for the projected MDField

Definition at line 30 of file Panzer_STK_ProjectField_impl.hpp.

Member Function Documentation

template<typename EvalT , typename Traits >
void panzer_stk::ProjectField< EvalT, Traits >::postRegistrationSetup ( typename Traits::SetupData  d,
PHX::FieldManager< Traits > &  fm 
)
virtual

Implements PHX::Evaluator< Traits >.

Definition at line 62 of file Panzer_STK_ProjectField_impl.hpp.

template<typename EvalT , typename Traits >
void panzer_stk::ProjectField< EvalT, Traits >::evaluateFields ( typename Traits::EvalData  d)
virtual

Member Data Documentation

template<typename EvalT , typename Traits >
const std::string panzer_stk::ProjectField< EvalT, Traits >::field_name_
private

Definition at line 59 of file Panzer_STK_ProjectField_decl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<const panzer::PureBasis> panzer_stk::ProjectField< EvalT, Traits >::srcBasis_
private

Definition at line 60 of file Panzer_STK_ProjectField_decl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<const panzer::PureBasis> panzer_stk::ProjectField< EvalT, Traits >::dstBasis_
private

Definition at line 61 of file Panzer_STK_ProjectField_decl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<const std::vector<Intrepid2::Orientation> > panzer_stk::ProjectField< EvalT, Traits >::orientations_
private

Definition at line 62 of file Panzer_STK_ProjectField_decl.hpp.

template<typename EvalT , typename Traits >
PHX::MDField<double,panzer::Cell,panzer::BASIS> panzer_stk::ProjectField< EvalT, Traits >::result_
private

Definition at line 64 of file Panzer_STK_ProjectField_decl.hpp.

template<typename EvalT , typename Traits >
PHX::MDField<double,panzer::Cell,panzer::BASIS> panzer_stk::ProjectField< EvalT, Traits >::source_
private

Definition at line 65 of file Panzer_STK_ProjectField_decl.hpp.

template<typename EvalT , typename Traits >
Kokkos::DynRankView<Intrepid2::Orientation,PHX::Device> panzer_stk::ProjectField< EvalT, Traits >::local_orts_
private

Definition at line 67 of file Panzer_STK_ProjectField_decl.hpp.


The documentation for this class was generated from the following files: