Panzer Version of the Day
Loading...
Searching...
No Matches
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 >:

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)
 Looks up the cell orientations needed by evaluateFields(). Called once before the first evaluation.
void evaluateFields (typename Traits::EvalData d)
 Computes the projected field for this workset per the class description.
Public Member Functions inherited from panzer::EvaluatorWithBaseImpl< Traits >
void setDetailsIndex (const int di)
 An evaluator builder sets the details index.
Public Member Functions inherited from panzer::DomainEvaluator
 DomainEvaluator (DomainType domain=ALL)
 Constructor.
virtual ~DomainEvaluator ()=default
 Default destructor.
void setDomain (const DomainType domain)
 Set the domain for the evaluator.
DomainType getDomain ()
 Get the domain for the evaluator.
virtual int cellStartIndex (const panzer::Workset &workset) const
 Returns the starting cell for the specified domain for a given workset.
virtual int cellEndIndex (const panzer::Workset &workset) const
 Returns the non-inclusive end cell for the specified domain for a given workset.

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

◆ ScalarT

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

Definition at line 59 of file Panzer_STK_ProjectField_decl.hpp.

Constructor & Destructor Documentation

◆ ProjectField()

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

Member Function Documentation

◆ postRegistrationSetup()

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

Looks up the cell orientations needed by evaluateFields(). Called once before the first evaluation.

Definition at line 61 of file Panzer_STK_ProjectField_impl.hpp.

◆ evaluateFields()

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

Computes the projected field for this workset per the class description.

Definition at line 71 of file Panzer_STK_ProjectField_impl.hpp.

Member Data Documentation

◆ field_name_

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

Definition at line 61 of file Panzer_STK_ProjectField_decl.hpp.

◆ srcBasis_

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

Definition at line 62 of file Panzer_STK_ProjectField_decl.hpp.

◆ dstBasis_

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

Definition at line 63 of file Panzer_STK_ProjectField_decl.hpp.

◆ orientations_

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

Definition at line 64 of file Panzer_STK_ProjectField_decl.hpp.

◆ result_

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

Definition at line 66 of file Panzer_STK_ProjectField_decl.hpp.

◆ source_

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

Definition at line 67 of file Panzer_STK_ProjectField_decl.hpp.

◆ local_orts_

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

Definition at line 69 of file Panzer_STK_ProjectField_decl.hpp.


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