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::Normals< EvalT, Traits > Class Template Reference

#include <Panzer_Normals_decl.hpp>

Inheritance diagram for panzer::Normals< EvalT, Traits >:
Inheritance graph
[legend]

Public Member Functions

 Normals (const Teuchos::ParameterList &p)
 
void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
 
void evaluateFields (typename Traits::EvalData d)
 
const PHX::FieldTaggetFieldTag () const
 
- 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::EvaluatorWithBaseImpl< Traits >
virtual void evaluateFields (typename Traits::EvalData d) override=0
 
- Public Member Functions inherited from PHX::Evaluator< Traits >
 Evaluator ()
 
virtual ~Evaluator ()
 
virtual void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)=0
 
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

int side_id
 
int quad_order
 
int quad_index
 
std::size_t num_qp
 
std::size_t num_dim
 
PHX::MDField< ScalarT, Cell,
Point, Dim
normals
 
PHX::View< ScalarT * > scratch
 
bool normalize
 

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::Normals< EvalT, Traits >

Compute normals on a particular side of an element. By default the normals are normalized. A second option would be for the normals to be unormalized values.

<ParameterList name="Name" type="string" value="<Name to give to the normals field>"> <ParameterList name="Side Id" type="int" value="<side id to use for computing normals>"> <ParameterList name="IR" type="RCP<IntegrationRule>" value="<user specified IntegrationRule>"> <ParameterList name="Normalize" type="bool" value="true">

The Name used to define the normals field is specified by "Name" and the data layout is defined by the dl_vector field in the IntegrationRule. The side ID must be legitimate for this topology and will be used to construct an outward facing normal. The normals will be normalized by default. However, if Normalize=false then the resulting normals will have the determinant of the side jacobian built in thus they correspond to a differential on the side.

Definition at line 39 of file Panzer_Normals_decl.hpp.

Member Typedef Documentation

template<typename EvalT , typename Traits >
using panzer::Normals< EvalT, Traits >::ScalarT = typename EvalT::ScalarT
private

Definition at line 60 of file Panzer_Normals_decl.hpp.

Constructor & Destructor Documentation

template<typename EvalT , typename Traits >
panzer::Normals< EvalT, Traits >::Normals ( const Teuchos::ParameterList p)

Definition at line 26 of file Panzer_Normals_impl.hpp.

Member Function Documentation

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

Definition at line 54 of file Panzer_Normals_impl.hpp.

template<typename EvalT , typename Traits >
void panzer::Normals< EvalT, Traits >::evaluateFields ( typename Traits::EvalData  d)

Definition at line 68 of file Panzer_Normals_impl.hpp.

template<typename EvalT , typename Traits >
const PHX::FieldTag& panzer::Normals< EvalT, Traits >::getFieldTag ( ) const
inline

Definition at line 73 of file Panzer_Normals_decl.hpp.

Member Data Documentation

template<typename EvalT , typename Traits >
int panzer::Normals< EvalT, Traits >::side_id
private

Definition at line 62 of file Panzer_Normals_decl.hpp.

template<typename EvalT , typename Traits >
int panzer::Normals< EvalT, Traits >::quad_order
private

Definition at line 63 of file Panzer_Normals_decl.hpp.

template<typename EvalT , typename Traits >
int panzer::Normals< EvalT, Traits >::quad_index
private

Definition at line 63 of file Panzer_Normals_decl.hpp.

template<typename EvalT , typename Traits >
std::size_t panzer::Normals< EvalT, Traits >::num_qp
private

Definition at line 65 of file Panzer_Normals_decl.hpp.

template<typename EvalT , typename Traits >
std::size_t panzer::Normals< EvalT, Traits >::num_dim
private

Definition at line 65 of file Panzer_Normals_decl.hpp.

template<typename EvalT , typename Traits >
PHX::MDField<ScalarT,Cell,Point,Dim> panzer::Normals< EvalT, Traits >::normals
private

Definition at line 67 of file Panzer_Normals_decl.hpp.

template<typename EvalT , typename Traits >
PHX::View<ScalarT*> panzer::Normals< EvalT, Traits >::scratch
private

Definition at line 68 of file Panzer_Normals_decl.hpp.

template<typename EvalT , typename Traits >
bool panzer::Normals< EvalT, Traits >::normalize
private

Definition at line 69 of file Panzer_Normals_decl.hpp.


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