NonlinearSource< EvalT, Traits > Class Template Reference

#include <Evaluator_NonlinearSource.hpp>

Inheritance diagram for NonlinearSource< EvalT, Traits >:

Inheritance graph
[legend]
Collaboration diagram for NonlinearSource< EvalT, Traits >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 NonlinearSource (const Teuchos::ParameterList &p)
void postRegistrationSetup (PHX::FieldManager< Traits > &vm)
 Allows providers to grab pointers to data arrays.
void evaluateFields (typename Traits::EvalData d)
 Evaluate all fields that the provider supplies.
void preEvaluate (typename Traits::PreEvalData d)
 This routine is called before each residual/Jacobian fill.
void postEvaluate (typename Traits::PostEvalData d)
 This routine is called after each residual/Jacobian fill.
 NonlinearSource (const Teuchos::ParameterList &p)
void postRegistrationSetup (PHX::FieldManager< Traits > &vm)
 Allows providers to grab pointers to data arrays.
void evaluateFields (typename Traits::EvalData d)
 Evaluate all fields that the provider supplies.
void preEvaluate (typename Traits::PreEvalData d)
 This routine is called before each residual/Jacobian fill.
void postEvaluate (typename Traits::PostEvalData d)
 This routine is called after each residual/Jacobian fill.

Private Types

typedef EvalT::ScalarT ScalarT
typedef EvalT::ScalarT ScalarT

Private Attributes

PHX::Field< ScalarTsource
PHX::Field< ScalarTdensity
PHX::Field< ScalarTtemp
std::size_t data_layout_size
PHX::MDField< ScalarT,
PHX::NaturalOrder, Cell, Point
source
PHX::MDField< ScalarT,
PHX::NaturalOrder, Cell, Point
density
PHX::MDField< ScalarT,
PHX::NaturalOrder, Cell, Point
temp

template<typename EvalT, typename Traits>
class NonlinearSource< EvalT, Traits >


Member Typedef Documentation

template<typename EvalT , typename Traits >
typedef EvalT::ScalarT NonlinearSource< EvalT, Traits >::ScalarT [private]

template<typename EvalT , typename Traits >
typedef EvalT::ScalarT NonlinearSource< EvalT, Traits >::ScalarT [private]


Constructor & Destructor Documentation

template<typename EvalT , typename Traits >
NonlinearSource< EvalT, Traits >::NonlinearSource ( const Teuchos::ParameterList &  p  )  [inline]

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


Member Function Documentation

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::evaluateFields ( typename Traits::EvalData  d  )  [virtual]

Evaluate all fields that the provider supplies.

Input:

Parameters:
d - user defined data object defined by the EvalData typedef in the traits class.

Implements PHX::EvaluatorWithBaseImpl< Traits >.

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::evaluateFields ( typename Traits::EvalData  d  )  [inline, virtual]

Evaluate all fields that the provider supplies.

Input:

Parameters:
d - user defined data object defined by the EvalData typedef in the traits class.

Implements PHX::EvaluatorWithBaseImpl< Traits >.

References NonlinearSource< EvalT, Traits >::data_layout_size, NonlinearSource< EvalT, Traits >::density, NonlinearSource< EvalT, Traits >::source, and NonlinearSource< EvalT, Traits >::temp.

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::postEvaluate ( typename Traits::PostEvalData  d  )  [virtual]

This routine is called after each residual/Jacobian fill.

This routine is called ONCE on the provider after the fill loop over cells is completed. This allows us to evaluate any post fill data. An example is to print out some statistics such as the maximum grid peclet number in a cell.

Reimplemented from PHX::EvaluatorWithBaseImpl< Traits >.

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::postEvaluate ( typename Traits::PostEvalData  d  )  [inline, virtual]

This routine is called after each residual/Jacobian fill.

This routine is called ONCE on the provider after the fill loop over cells is completed. This allows us to evaluate any post fill data. An example is to print out some statistics such as the maximum grid peclet number in a cell.

Reimplemented from PHX::EvaluatorWithBaseImpl< Traits >.

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::postRegistrationSetup ( PHX::FieldManager< Traits > &  vm  )  [virtual]

Allows providers to grab pointers to data arrays.

Called once all providers are registered with the manager.

Once the field manager has allocated all data arrays, this method passes the field manager to the providers to allow each provider to grab and store pointers to the field data arrays. Grabbing the data arrays from the varible manager during an actual call to evaluateFields call is too slow due to the map lookup and FieldTag comparison (which uses a string compare). So lookups on field data are only allowed during this setup phase.

Implements PHX::EvaluatorWithBaseImpl< Traits >.

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::postRegistrationSetup ( PHX::FieldManager< Traits > &  vm  )  [inline, virtual]

Allows providers to grab pointers to data arrays.

Called once all providers are registered with the manager.

Once the field manager has allocated all data arrays, this method passes the field manager to the providers to allow each provider to grab and store pointers to the field data arrays. Grabbing the data arrays from the varible manager during an actual call to evaluateFields call is too slow due to the map lookup and FieldTag comparison (which uses a string compare). So lookups on field data are only allowed during this setup phase.

Implements PHX::EvaluatorWithBaseImpl< Traits >.

References NonlinearSource< EvalT, Traits >::data_layout_size, PHX::FieldTag::dataLayout(), NonlinearSource< EvalT, Traits >::density, PHX::Field< DataT >::fieldTag(), PHX::DataLayout::size(), NonlinearSource< EvalT, Traits >::source, and NonlinearSource< EvalT, Traits >::temp.

Here is the call graph for this function:

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::preEvaluate ( typename Traits::PreEvalData  d  )  [virtual]

This routine is called before each residual/Jacobian fill.

This routine is called ONCE on the provider before the fill loop over cells is started. This allows us to reset global objects between each fill. An example is to reset a provider that monitors the maximum grid peclet number in a cell. This call would zero out the maximum for a new fill.

Reimplemented from PHX::EvaluatorWithBaseImpl< Traits >.

template<typename EvalT , typename Traits >
void NonlinearSource< EvalT, Traits >::preEvaluate ( typename Traits::PreEvalData  d  )  [inline, virtual]

This routine is called before each residual/Jacobian fill.

This routine is called ONCE on the provider before the fill loop over cells is started. This allows us to reset global objects between each fill. An example is to reset a provider that monitors the maximum grid peclet number in a cell. This call would zero out the maximum for a new fill.

Reimplemented from PHX::EvaluatorWithBaseImpl< Traits >.


Member Data Documentation

template<typename EvalT , typename Traits >
std::size_t NonlinearSource< EvalT, Traits >::data_layout_size [private]

template<typename EvalT , typename Traits >
PHX::MDField<ScalarT,PHX::NaturalOrder,Cell,Point> NonlinearSource< EvalT, Traits >::density [private]

template<typename EvalT , typename Traits >
PHX::Field<ScalarT> NonlinearSource< EvalT, Traits >::density [private]

template<typename EvalT , typename Traits >
PHX::MDField<ScalarT,PHX::NaturalOrder,Cell,Point> NonlinearSource< EvalT, Traits >::source [private]

template<typename EvalT , typename Traits >
PHX::Field<ScalarT> NonlinearSource< EvalT, Traits >::source [private]

template<typename EvalT , typename Traits >
PHX::MDField<ScalarT,PHX::NaturalOrder,Cell,Point> NonlinearSource< EvalT, Traits >::temp [private]

template<typename EvalT , typename Traits >
PHX::Field<ScalarT> NonlinearSource< EvalT, Traits >::temp [private]


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

Generated on Thu Dec 17 11:06:02 2009 for Phalanx by  doxygen 1.5.9