Public Member Functions | Private Member Functions

Albany::AbstractResponseFunction Class Reference

Abstract interface for representing a response function. More...

#include <Albany_AbstractResponseFunction.hpp>

Inheritance diagram for Albany::AbstractResponseFunction:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 AbstractResponseFunction ()
 Default constructor.
virtual ~AbstractResponseFunction ()
 Destructor.
virtual void setup ()=0
 Setup response function.
virtual Teuchos::RCP< const
Epetra_Map > 
responseMap () const =0
 Get the map associate with this response.
virtual bool isScalarResponse () const =0
 Is this response function "scalar" valued, i.e., has a replicated local response map.
virtual Teuchos::RCP
< Epetra_Operator > 
createGradientOp () const =0
 Create operator for gradient (e.g., dg/dx).
Deterministic evaluation functions

virtual void evaluateResponse (const double current_time, const Epetra_Vector *xdot, const Epetra_Vector *xdotdot, const Epetra_Vector &x, const Teuchos::Array< ParamVec > &p, Epetra_Vector &g)=0
 Evaluate responses.
virtual void evaluateTangent (const double alpha, const double beta, const double omega, const double current_time, bool sum_derivs, const Epetra_Vector *xdot, const Epetra_Vector *xdotdot, const Epetra_Vector &x, const Teuchos::Array< ParamVec > &p, ParamVec *deriv_p, const Epetra_MultiVector *Vxdot, const Epetra_MultiVector *Vxdotdot, const Epetra_MultiVector *Vx, const Epetra_MultiVector *Vp, Epetra_Vector *g, Epetra_MultiVector *gx, Epetra_MultiVector *gp)=0
 Evaluate tangent = dg/dx*dx/dp + dg/dxdot*dxdot/dp + dg/dp.
virtual void evaluateDerivative (const double current_time, const Epetra_Vector *xdot, const Epetra_Vector *xdotdot, const Epetra_Vector &x, const Teuchos::Array< ParamVec > &p, ParamVec *deriv_p, Epetra_Vector *g, const EpetraExt::ModelEvaluator::Derivative &dg_dx, const EpetraExt::ModelEvaluator::Derivative &dg_dxdot, const EpetraExt::ModelEvaluator::Derivative &dg_dxdotdot, const EpetraExt::ModelEvaluator::Derivative &dg_dp)=0
 Evaluate derivative dg/dx, dg/dxdot, dg/dp.

Private Member Functions

 AbstractResponseFunction (const AbstractResponseFunction &)
 Private to prohibit copying.
AbstractResponseFunctionoperator= (const AbstractResponseFunction &)
 Private to prohibit copying.

Detailed Description

Abstract interface for representing a response function.

Definition at line 31 of file Albany_AbstractResponseFunction.hpp.


Constructor & Destructor Documentation

Albany::AbstractResponseFunction::AbstractResponseFunction (  )  [inline]

Default constructor.

Definition at line 35 of file Albany_AbstractResponseFunction.hpp.

virtual Albany::AbstractResponseFunction::~AbstractResponseFunction (  )  [inline, virtual]

Destructor.

Definition at line 38 of file Albany_AbstractResponseFunction.hpp.

Albany::AbstractResponseFunction::AbstractResponseFunction ( const AbstractResponseFunction  )  [private]

Private to prohibit copying.


Member Function Documentation

virtual void Albany::AbstractResponseFunction::setup (  )  [pure virtual]
virtual Teuchos::RCP<const Epetra_Map> Albany::AbstractResponseFunction::responseMap (  )  const [pure virtual]

Get the map associate with this response.

Implemented in Albany::KLResponseFunction, Albany::ScalarResponseFunction, and Albany::SolutionResponseFunction.

virtual bool Albany::AbstractResponseFunction::isScalarResponse (  )  const [pure virtual]

Is this response function "scalar" valued, i.e., has a replicated local response map.

Implemented in Albany::DistributedResponseFunction, Albany::KLResponseFunction, and Albany::ScalarResponseFunction.

virtual Teuchos::RCP<Epetra_Operator> Albany::AbstractResponseFunction::createGradientOp (  )  const [pure virtual]

Create operator for gradient (e.g., dg/dx).

Implemented in Albany::KLResponseFunction, Albany::ScalarResponseFunction, and Albany::SolutionResponseFunction.

virtual void Albany::AbstractResponseFunction::evaluateResponse ( const double  current_time,
const Epetra_Vector *  xdot,
const Epetra_Vector *  xdotdot,
const Epetra_Vector &  x,
const Teuchos::Array< ParamVec > &  p,
Epetra_Vector &  g 
) [pure virtual]
virtual void Albany::AbstractResponseFunction::evaluateTangent ( const double  alpha,
const double  beta,
const double  omega,
const double  current_time,
bool  sum_derivs,
const Epetra_Vector *  xdot,
const Epetra_Vector *  xdotdot,
const Epetra_Vector &  x,
const Teuchos::Array< ParamVec > &  p,
ParamVec deriv_p,
const Epetra_MultiVector *  Vxdot,
const Epetra_MultiVector *  Vxdotdot,
const Epetra_MultiVector *  Vx,
const Epetra_MultiVector *  Vp,
Epetra_Vector *  g,
Epetra_MultiVector *  gx,
Epetra_MultiVector *  gp 
) [pure virtual]
virtual void Albany::AbstractResponseFunction::evaluateDerivative ( const double  current_time,
const Epetra_Vector *  xdot,
const Epetra_Vector *  xdotdot,
const Epetra_Vector &  x,
const Teuchos::Array< ParamVec > &  p,
ParamVec deriv_p,
Epetra_Vector *  g,
const EpetraExt::ModelEvaluator::Derivative &  dg_dx,
const EpetraExt::ModelEvaluator::Derivative &  dg_dxdot,
const EpetraExt::ModelEvaluator::Derivative &  dg_dxdotdot,
const EpetraExt::ModelEvaluator::Derivative &  dg_dp 
) [pure virtual]

Evaluate derivative dg/dx, dg/dxdot, dg/dp.

Implemented in Albany::DistributedResponseFunction, Albany::KLResponseFunction, and Albany::ScalarResponseFunction.

AbstractResponseFunction& Albany::AbstractResponseFunction::operator= ( const AbstractResponseFunction  )  [private]

Private to prohibit copying.


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