Panzer Version of the Day
Loading...
Searching...
No Matches
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::FieldTag & getFieldTag () const
 
- 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

int side_id
 
int quad_order
 
int quad_index
 
std::size_t num_qp
 
std::size_t num_dim
 
PHX::MDField< ScalarT, Cell, Point, Dimnormals
 
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 71 of file Panzer_Normals_decl.hpp.

Member Typedef Documentation

◆ ScalarT

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

Definition at line 92 of file Panzer_Normals_decl.hpp.

Constructor & Destructor Documentation

◆ Normals()

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

Definition at line 57 of file Panzer_Normals_impl.hpp.

Member Function Documentation

◆ postRegistrationSetup()

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

Definition at line 85 of file Panzer_Normals_impl.hpp.

◆ evaluateFields()

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

Definition at line 99 of file Panzer_Normals_impl.hpp.

◆ getFieldTag()

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

Definition at line 105 of file Panzer_Normals_decl.hpp.

Member Data Documentation

◆ side_id

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

Definition at line 94 of file Panzer_Normals_decl.hpp.

◆ quad_order

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

Definition at line 95 of file Panzer_Normals_decl.hpp.

◆ quad_index

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

Definition at line 95 of file Panzer_Normals_decl.hpp.

◆ num_qp

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

Definition at line 97 of file Panzer_Normals_decl.hpp.

◆ num_dim

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

Definition at line 97 of file Panzer_Normals_decl.hpp.

◆ normals

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

Definition at line 99 of file Panzer_Normals_decl.hpp.

◆ scratch

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

Definition at line 100 of file Panzer_Normals_decl.hpp.

◆ normalize

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

Definition at line 101 of file Panzer_Normals_decl.hpp.


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