Abstract interface for representing a response function. More...
#include <Albany_AbstractResponseFunction.hpp>
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. | |
AbstractResponseFunction & | operator= (const AbstractResponseFunction &) |
Private to prohibit copying. |
Abstract interface for representing a response function.
Definition at line 31 of file Albany_AbstractResponseFunction.hpp.
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.
virtual void Albany::AbstractResponseFunction::setup | ( | ) | [pure virtual] |
Setup response function.
Implemented in Albany::AggregateScalarResponseFunction, Albany::KLResponseFunction, Albany::ScalarResponseFunction, Albany::SolutionResponseFunction, and Albany::SolutionValuesResponseFunction.
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] |
Evaluate responses.
Implemented in QCAD::SaddleValueResponseFunction, Albany::AggregateScalarResponseFunction, Albany::FieldManagerScalarResponseFunction, Albany::KLResponseFunction, Albany::SolutionAverageResponseFunction, Albany::SolutionFileResponseFunction< VectorNorm >, Albany::SolutionMaxValueResponseFunction, Albany::SolutionResponseFunction, Albany::SolutionTwoNormResponseFunction, and Albany::SolutionValuesResponseFunction.
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] |
Evaluate tangent = dg/dx*dx/dp + dg/dxdot*dxdot/dp + dg/dp.
Implemented in QCAD::SaddleValueResponseFunction, Albany::AggregateScalarResponseFunction, Albany::FieldManagerScalarResponseFunction, Albany::KLResponseFunction, Albany::SolutionAverageResponseFunction, Albany::SolutionFileResponseFunction< VectorNorm >, Albany::SolutionMaxValueResponseFunction, Albany::SolutionResponseFunction, Albany::SolutionTwoNormResponseFunction, and Albany::SolutionValuesResponseFunction.
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.