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

Interpolates basis DOF using reference coordinates defined by a field. More...

#include <Panzer_DOF_PointField_decl.hpp>

Inheritance diagram for panzer::DOF_PointField< EvalT, TRAITST >:
Inheritance graph
[legend]

Public Member Functions

 DOF_PointField (const std::string &postfixFieldName, const std::string &fieldName, const PureBasis &fieldBasis, const std::string &coordinateName, const Teuchos::RCP< PHX::DataLayout > &coordLayout, const Teuchos::RCP< PHX::DataLayout > &quadLayout)
 
 DOF_PointField (const std::string &fieldName, const PureBasis &fieldBasis, const std::string &coordinateName, const Teuchos::RCP< PHX::DataLayout > &coordLayout, const Teuchos::RCP< PHX::DataLayout > &quadLayout, bool useCoordPostfix)
 
void evaluateFields (typename TRAITST::EvalData workset)
 
- Public Member Functions inherited from panzer::EvaluatorWithBaseImpl< TRAITST >
void setDetailsIndex (const int di)
 An evaluator builder sets the details index. More...
 
- 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

typedef EvalT::ScalarT ScalarT
 

Private Member Functions

void initialize (const std::string &fieldName, const PureBasis &fieldBasis, const std::string &coordinateName, const Teuchos::RCP< PHX::DataLayout > &coordLayout, const Teuchos::RCP< PHX::DataLayout > &quadLayout, const std::string &postfixFieldName)
 Convenience initialization routine, see constructor above. More...
 

Private Attributes

PHX::MDField< const ScalarT,
Point, Dim > 
coordinates
 
PHX::MDField< const ScalarTdof_coeff
 
PHX::MDField< ScalarTdof_field
 
Teuchos::RCP< Intrepid2::Basis
< PHX::exec_space, double,
double > > 
intrepidBasis
 
Kokkos::DynRankView< double,
PHX::Device > 
intrpCoords
 
Kokkos::DynRankView< double,
PHX::Device > 
basisRef
 
Kokkos::DynRankView< double,
PHX::Device > 
basis
 

Additional Inherited Members

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

Detailed Description

template<typename EvalT, typename TRAITST>
class panzer::DOF_PointField< EvalT, TRAITST >

Interpolates basis DOF using reference coordinates defined by a field.

Definition at line 60 of file Panzer_DOF_PointField_decl.hpp.

Member Typedef Documentation

template<typename EvalT , typename TRAITST >
typedef EvalT::ScalarT panzer::DOF_PointField< EvalT, TRAITST >::ScalarT
private

Definition at line 115 of file Panzer_DOF_PointField_decl.hpp.

Constructor & Destructor Documentation

template<typename EvalT , typename TRAITST >
panzer::DOF_PointField< EvalT, TRAITST >::DOF_PointField ( const std::string &  postfixFieldName,
const std::string &  fieldName,
const PureBasis fieldBasis,
const std::string &  coordinateName,
const Teuchos::RCP< PHX::DataLayout > &  coordLayout,
const Teuchos::RCP< PHX::DataLayout > &  quadLayout 
)
inline

Constructor that allows user to specify a postfix for the field.

This constructor builds an evaluator from coordinates defined on the reference element. The name of the evaluated field is flexible, the name being fieldName+postfixFieldName.

Parameters
[in]postfixFieldNamePostfix string to modify field name
[in]fieldNameName of DOF field (dimensioned number cells by number of basis functions)
[in]fieldBasisDatalayout describing DOF field
[in]coordinateNameName of reference coordinates (sized number of points by dimension)
[in]coordLayoutLayout for coordinates

Definition at line 80 of file Panzer_DOF_PointField_decl.hpp.

template<typename EvalT , typename TRAITST >
panzer::DOF_PointField< EvalT, TRAITST >::DOF_PointField ( const std::string &  fieldName,
const PureBasis fieldBasis,
const std::string &  coordinateName,
const Teuchos::RCP< PHX::DataLayout > &  coordLayout,
const Teuchos::RCP< PHX::DataLayout > &  quadLayout,
bool  useCoordPostfix 
)
inline

Constructor that appends (or not) the coordinate name to the field.

This constructor builds an evaluator from coordinates defined on the reference element. The name of the evaluated field is either fieldName+coordinateName or simply fieldName.

Parameters
[in]fieldNameName of DOF field (dimensioned number cells by number of basis functions)
[in]fieldBasisDatalayout describing DOF field
[in]coordinateNameName of reference coordinates (sized number of points by dimension)
[in]coordLayoutLayout for coordinates
[in]useCoordPostfixPostfix field name with coordinate name.

Definition at line 103 of file Panzer_DOF_PointField_decl.hpp.

Member Function Documentation

template<typename EvalT , typename TRAITST >
void panzer::DOF_PointField< EvalT, TRAITST >::evaluateFields ( typename TRAITST::EvalData  workset)

Definition at line 92 of file Panzer_DOF_PointField_impl.hpp.

template<typename EvalT , typename TRAITST >
void panzer::DOF_PointField< EvalT, TRAITST >::initialize ( const std::string &  fieldName,
const PureBasis fieldBasis,
const std::string &  coordinateName,
const Teuchos::RCP< PHX::DataLayout > &  coordLayout,
const Teuchos::RCP< PHX::DataLayout > &  quadLayout,
const std::string &  postfixFieldName 
)
private

Convenience initialization routine, see constructor above.

Definition at line 57 of file Panzer_DOF_PointField_impl.hpp.

Member Data Documentation

template<typename EvalT , typename TRAITST >
PHX::MDField<const ScalarT,Point,Dim> panzer::DOF_PointField< EvalT, TRAITST >::coordinates
private

Definition at line 125 of file Panzer_DOF_PointField_decl.hpp.

template<typename EvalT , typename TRAITST >
PHX::MDField<const ScalarT> panzer::DOF_PointField< EvalT, TRAITST >::dof_coeff
private

Definition at line 126 of file Panzer_DOF_PointField_decl.hpp.

template<typename EvalT , typename TRAITST >
PHX::MDField<ScalarT> panzer::DOF_PointField< EvalT, TRAITST >::dof_field
private

Definition at line 127 of file Panzer_DOF_PointField_decl.hpp.

template<typename EvalT , typename TRAITST >
Teuchos::RCP<Intrepid2::Basis<PHX::exec_space,double,double> > panzer::DOF_PointField< EvalT, TRAITST >::intrepidBasis
private

Definition at line 129 of file Panzer_DOF_PointField_decl.hpp.

template<typename EvalT , typename TRAITST >
Kokkos::DynRankView<double,PHX::Device> panzer::DOF_PointField< EvalT, TRAITST >::intrpCoords
private

Definition at line 130 of file Panzer_DOF_PointField_decl.hpp.

template<typename EvalT , typename TRAITST >
Kokkos::DynRankView<double,PHX::Device> panzer::DOF_PointField< EvalT, TRAITST >::basisRef
private

Definition at line 130 of file Panzer_DOF_PointField_decl.hpp.

template<typename EvalT , typename TRAITST >
Kokkos::DynRankView<double,PHX::Device> panzer::DOF_PointField< EvalT, TRAITST >::basis
private

Definition at line 130 of file Panzer_DOF_PointField_decl.hpp.


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