A response function that aggregates together multiple response functions into one. More...
#include <Albany_AggregateScalarResponseFunction.hpp>
Public Member Functions | |
AggregateScalarResponseFunction (const Teuchos::RCP< const Epetra_Comm > &comm, const Teuchos::Array< Teuchos::RCP< ScalarResponseFunction > > &responses) | |
Default constructor. | |
virtual void | setup () |
Setup response function. | |
virtual | ~AggregateScalarResponseFunction () |
Destructor. | |
virtual unsigned int | numResponses () const |
Get the number of responses. | |
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) |
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) |
Evaluate tangent = dg/dx*dx/dp + dg/dxdot*dxdot/dp + dg/dp. | |
virtual void | evaluateGradient (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, Epetra_MultiVector *dg_dx, Epetra_MultiVector *dg_dxdot, Epetra_MultiVector *dg_dxdotdot, Epetra_MultiVector *dg_dp) |
Evaluate gradient = dg/dx, dg/dxdot, dg/dp. | |
Protected Attributes | |
Teuchos::Array< Teuchos::RCP < ScalarResponseFunction > > | responses |
Response functions to aggregate. | |
Private Member Functions | |
AggregateScalarResponseFunction (const AggregateScalarResponseFunction &) | |
Private to prohibit copying. | |
AggregateScalarResponseFunction & | operator= (const AggregateScalarResponseFunction &) |
Private to prohibit copying. |
A response function that aggregates together multiple response functions into one.
Definition at line 19 of file Albany_AggregateScalarResponseFunction.hpp.
Albany::AggregateScalarResponseFunction::AggregateScalarResponseFunction | ( | const Teuchos::RCP< const Epetra_Comm > & | comm, | |
const Teuchos::Array< Teuchos::RCP< ScalarResponseFunction > > & | responses | |||
) |
Default constructor.
Definition at line 14 of file Albany_AggregateScalarResponseFunction.cpp.
Albany::AggregateScalarResponseFunction::~AggregateScalarResponseFunction | ( | ) | [virtual] |
Destructor.
Definition at line 33 of file Albany_AggregateScalarResponseFunction.cpp.
Albany::AggregateScalarResponseFunction::AggregateScalarResponseFunction | ( | const AggregateScalarResponseFunction & | ) | [private] |
Private to prohibit copying.
void Albany::AggregateScalarResponseFunction::setup | ( | ) | [virtual] |
Setup response function.
Reimplemented from Albany::ScalarResponseFunction.
Definition at line 24 of file Albany_AggregateScalarResponseFunction.cpp.
unsigned int Albany::AggregateScalarResponseFunction::numResponses | ( | ) | const [virtual] |
Get the number of responses.
Implements Albany::ScalarResponseFunction.
Definition at line 39 of file Albany_AggregateScalarResponseFunction.cpp.
void Albany::AggregateScalarResponseFunction::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 | |||
) | [virtual] |
Evaluate responses.
Implements Albany::AbstractResponseFunction.
Definition at line 49 of file Albany_AggregateScalarResponseFunction.cpp.
void Albany::AggregateScalarResponseFunction::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 | |||
) | [virtual] |
Evaluate tangent = dg/dx*dx/dp + dg/dxdot*dxdot/dp + dg/dp.
Implements Albany::AbstractResponseFunction.
Definition at line 81 of file Albany_AggregateScalarResponseFunction.cpp.
void Albany::AggregateScalarResponseFunction::evaluateGradient | ( | 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, | |||
Epetra_MultiVector * | dg_dx, | |||
Epetra_MultiVector * | dg_dxdot, | |||
Epetra_MultiVector * | dg_dxdotdot, | |||
Epetra_MultiVector * | dg_dp | |||
) | [virtual] |
Evaluate gradient = dg/dx, dg/dxdot, dg/dp.
Implements Albany::ScalarResponseFunction.
Definition at line 144 of file Albany_AggregateScalarResponseFunction.cpp.
AggregateScalarResponseFunction& Albany::AggregateScalarResponseFunction::operator= | ( | const AggregateScalarResponseFunction & | ) | [private] |
Private to prohibit copying.
Teuchos::Array< Teuchos::RCP<ScalarResponseFunction> > Albany::AggregateScalarResponseFunction::responses [protected] |
Response functions to aggregate.
Definition at line 91 of file Albany_AggregateScalarResponseFunction.hpp.