• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

Albany_SolutionTwoNormResponseFunction.hpp

Go to the documentation of this file.
00001 //*****************************************************************//
00002 //    Albany 2.0:  Copyright 2012 Sandia Corporation               //
00003 //    This Software is released under the BSD license detailed     //
00004 //    in the file "license.txt" in the top-level Albany directory  //
00005 //*****************************************************************//
00006 
00007 #ifndef ALBANY_SOLUTIONTWONORMRESPONSEFUNCTION_HPP
00008 #define ALBANY_SOLUTIONTWONORMRESPONSEFUNCTION_HPP
00009 
00010 #include "Albany_SamplingBasedScalarResponseFunction.hpp"
00011 
00012 namespace Albany {
00013 
00017   class SolutionTwoNormResponseFunction : 
00018     public SamplingBasedScalarResponseFunction {
00019   public:
00020   
00022     SolutionTwoNormResponseFunction(
00023       const Teuchos::RCP<const Epetra_Comm>& comm);
00024 
00026     virtual ~SolutionTwoNormResponseFunction();
00027 
00029     virtual unsigned int numResponses() const;
00030 
00032     virtual void 
00033     evaluateResponse(const double current_time,
00034          const Epetra_Vector* xdot,
00035          const Epetra_Vector* xdotdot,
00036          const Epetra_Vector& x,
00037          const Teuchos::Array<ParamVec>& p,
00038          Epetra_Vector& g);
00039 
00041     virtual void 
00042     evaluateTangent(const double alpha, 
00043         const double beta,
00044         const double omega,
00045         const double current_time,
00046         bool sum_derivs,
00047         const Epetra_Vector* xdot,
00048         const Epetra_Vector* xdotdot,
00049         const Epetra_Vector& x,
00050         const Teuchos::Array<ParamVec>& p,
00051         ParamVec* deriv_p,
00052         const Epetra_MultiVector* Vxdot,
00053         const Epetra_MultiVector* Vxdotdot,
00054         const Epetra_MultiVector* Vx,
00055         const Epetra_MultiVector* Vp,
00056         Epetra_Vector* g,
00057         Epetra_MultiVector* gx,
00058         Epetra_MultiVector* gp);
00059 
00061     virtual void 
00062     evaluateGradient(const double current_time,
00063          const Epetra_Vector* xdot,
00064          const Epetra_Vector* xdotdot,
00065          const Epetra_Vector& x,
00066          const Teuchos::Array<ParamVec>& p,
00067          ParamVec* deriv_p,
00068          Epetra_Vector* g,
00069          Epetra_MultiVector* dg_dx,
00070          Epetra_MultiVector* dg_dxdot,
00071          Epetra_MultiVector* dg_dxdotdot,
00072          Epetra_MultiVector* dg_dp);
00073 
00074   private:
00075 
00077     SolutionTwoNormResponseFunction(const SolutionTwoNormResponseFunction&);
00078     
00080     SolutionTwoNormResponseFunction& operator=(const SolutionTwoNormResponseFunction&);
00081 
00082   };
00083 
00084 }
00085 
00086 #endif // ALBANY_SOLUTIONTWONORMRESPONSEFUNCTION_HPP

Generated on Wed Mar 26 2014 18:36:36 for Albany: a Trilinos-based PDE code by  doxygen 1.7.1