EpetraExt Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
GLpApp::GLpYUEpetraDataPool Class Reference

#include <GLpApp_GLpYUEpetraDataPool.hpp>

Inheritance diagram for GLpApp::GLpYUEpetraDataPool:
Inheritance graph
[legend]

Public Member Functions

 GLpYUEpetraDataPool (Teuchos::RCP< const Epetra_Comm > const &commptr, const double beta, const double len_x, const double len_y, const int local_nx, const int local_ny, const char myfile[], const bool trace)
 
void computeAll (const GenSQP::Vector &x)
 Calls functions to compute nonlinear quantities and the augmented system matrix. More...
 
int solveAugsys (const Teuchos::RCP< const Epetra_MultiVector > &rhsy, const Teuchos::RCP< const Epetra_MultiVector > &rhsu, const Teuchos::RCP< const Epetra_MultiVector > &rhsp, const Teuchos::RCP< Epetra_MultiVector > &y, const Teuchos::RCP< Epetra_MultiVector > &u, const Teuchos::RCP< Epetra_MultiVector > &p, double tol)
 Solves augmented system. More...
 
Teuchos::RCP< const Epetra_CommgetCommPtr ()
 
Teuchos::RCP< Epetra_FECrsMatrixgetA ()
 
Teuchos::RCP< Epetra_FECrsMatrixgetB ()
 
Teuchos::RCP< Epetra_FECrsMatrixgetH ()
 
Teuchos::RCP< Epetra_FECrsMatrixgetR ()
 
Teuchos::RCP< Epetra_CrsMatrixgetAugmat ()
 
Teuchos::RCP< Epetra_FECrsMatrixgetNpy ()
 
Teuchos::RCP< Epetra_FEVectorgetb ()
 
Teuchos::RCP< Epetra_FEVectorgetq ()
 
Teuchos::RCP< Epetra_FEVectorgetNy ()
 
void computeNy (const Teuchos::RCP< const Epetra_MultiVector > &y)
 Calls the function that computes the nonlinear term. More...
 
void computeNpy (const Teuchos::RCP< const Epetra_MultiVector > &y)
 Calls the function that computes the Jacobian of the nonlinear term. More...
 
void computeAugmat ()
 Assembles the augmented system (KKT-type) matrix. More...
 
Teuchos::RCP< const
Epetra_SerialDenseMatrix
getipcoords ()
 
Teuchos::RCP< const
Epetra_IntSerialDenseVector
getipindx ()
 
Teuchos::RCP< const
Epetra_SerialDenseMatrix
getpcoords ()
 
Teuchos::RCP< const
Epetra_IntSerialDenseVector
getpindx ()
 
Teuchos::RCP< const
Epetra_IntSerialDenseMatrix
gett ()
 
Teuchos::RCP< const
Epetra_IntSerialDenseMatrix
gete ()
 
double getbeta ()
 
void PrintVec (const Teuchos::RCP< const Epetra_Vector > &x)
 Outputs the solution vector to files. More...
 
- Public Member Functions inherited from GenSQP::DataPool
virtual ~DataPool ()
 

Private Attributes

Teuchos::RCP< const Epetra_Commcommptr_
 
Teuchos::RCP
< Epetra_SerialDenseMatrix
ipcoords_
 Coordinates of nodes that are unique to this subdomain. More...
 
Teuchos::RCP
< Epetra_IntSerialDenseVector
ipindx_
 Global nodes (interior, nonoverlapping) in this subdomain. More...
 
Teuchos::RCP
< Epetra_SerialDenseMatrix
pcoords_
 Coordinates of all nodes in this subdomain. More...
 
Teuchos::RCP
< Epetra_IntSerialDenseVector
pindx_
 Global nodes (interior + shared, overlapping) in this subdomain. More...
 
Teuchos::RCP
< Epetra_IntSerialDenseMatrix
t_
 Elements (this includes all overlapping nodes). More...
 
Teuchos::RCP
< Epetra_IntSerialDenseMatrix
e_
 Edges. More...
 
Teuchos::RCP< Epetra_FECrsMatrixA_
 Volume stiffness matrix. More...
 
Teuchos::RCP< Epetra_FECrsMatrixB_
 Control/state mass matrix. More...
 
Teuchos::RCP< Epetra_FECrsMatrixH_
 Volume mass matrix. More...
 
Teuchos::RCP< Epetra_FECrsMatrixR_
 Edge mass matrix. More...
 
Teuchos::RCP< Epetra_MultiVectorB_bar_
 Basis matrix for p_bar=B*p. More...
 
Teuchos::RCP< Epetra_CrsMatrixAugmat_
 Augmented system matrix: [ I Jac* ] [Jac 0 ]. More...
 
Teuchos::RCP< Epetra_FECrsMatrixNpy_
 Jacobian of the nonlinear term. More...
 
Teuchos::RCP< Epetra_FEVectorb_
 Right-hand side of the PDE. More...
 
Teuchos::RCP< Epetra_FEVectorq_
 The desired state. More...
 
Teuchos::RCP< Epetra_FEVectorNy_
 
double beta_
 Regularization parameter. More...
 

Detailed Description

Definition at line 77 of file GLpApp_GLpYUEpetraDataPool.hpp.

Constructor & Destructor Documentation

GLpApp::GLpYUEpetraDataPool::GLpYUEpetraDataPool ( Teuchos::RCP< const Epetra_Comm > const &  commptr,
const double  beta,
const double  len_x,
const double  len_y,
const int  local_nx,
const int  local_ny,
const char  myfile[],
const bool  trace 
)

Definition at line 225 of file GLpApp_GLpYUEpetraDataPool.cpp.

Member Function Documentation

void GLpApp::GLpYUEpetraDataPool::computeAll ( const GenSQP::Vector x)
virtual

Calls functions to compute nonlinear quantities and the augmented system matrix.

These computations are performed after every update of the SQP iterate.

Implements GenSQP::DataPool.

Definition at line 277 of file GLpApp_GLpYUEpetraDataPool.cpp.

int GLpApp::GLpYUEpetraDataPool::solveAugsys ( const Teuchos::RCP< const Epetra_MultiVector > &  rhsy,
const Teuchos::RCP< const Epetra_MultiVector > &  rhsu,
const Teuchos::RCP< const Epetra_MultiVector > &  rhsp,
const Teuchos::RCP< Epetra_MultiVector > &  y,
const Teuchos::RCP< Epetra_MultiVector > &  u,
const Teuchos::RCP< Epetra_MultiVector > &  p,
double  tol 
)

Solves augmented system.

Definition at line 292 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< const Epetra_Comm > GLpApp::GLpYUEpetraDataPool::getCommPtr ( )

Definition at line 495 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FECrsMatrix > GLpApp::GLpYUEpetraDataPool::getA ( )

Definition at line 497 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FECrsMatrix > GLpApp::GLpYUEpetraDataPool::getB ( )

Definition at line 499 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FECrsMatrix > GLpApp::GLpYUEpetraDataPool::getH ( )

Definition at line 501 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FECrsMatrix > GLpApp::GLpYUEpetraDataPool::getR ( )

Definition at line 503 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_CrsMatrix > GLpApp::GLpYUEpetraDataPool::getAugmat ( )

Definition at line 505 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FECrsMatrix > GLpApp::GLpYUEpetraDataPool::getNpy ( )

Definition at line 507 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FEVector > GLpApp::GLpYUEpetraDataPool::getb ( )

Definition at line 509 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FEVector > GLpApp::GLpYUEpetraDataPool::getq ( )

Definition at line 511 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< Epetra_FEVector > GLpApp::GLpYUEpetraDataPool::getNy ( )

Definition at line 513 of file GLpApp_GLpYUEpetraDataPool.cpp.

void GLpApp::GLpYUEpetraDataPool::computeNy ( const Teuchos::RCP< const Epetra_MultiVector > &  y)

Calls the function that computes the nonlinear term.

Definition at line 530 of file GLpApp_GLpYUEpetraDataPool.cpp.

void GLpApp::GLpYUEpetraDataPool::computeNpy ( const Teuchos::RCP< const Epetra_MultiVector > &  y)

Calls the function that computes the Jacobian of the nonlinear term.

Definition at line 541 of file GLpApp_GLpYUEpetraDataPool.cpp.

void GLpApp::GLpYUEpetraDataPool::computeAugmat ( )

Assembles the augmented system (KKT-type) matrix.

Definition at line 552 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< const Epetra_SerialDenseMatrix > GLpApp::GLpYUEpetraDataPool::getipcoords ( )

Definition at line 517 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< const Epetra_IntSerialDenseVector > GLpApp::GLpYUEpetraDataPool::getipindx ( )

Definition at line 519 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< const Epetra_SerialDenseMatrix > GLpApp::GLpYUEpetraDataPool::getpcoords ( )

Definition at line 521 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< const Epetra_IntSerialDenseVector > GLpApp::GLpYUEpetraDataPool::getpindx ( )

Definition at line 523 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< const Epetra_IntSerialDenseMatrix > GLpApp::GLpYUEpetraDataPool::gett ( )

Definition at line 525 of file GLpApp_GLpYUEpetraDataPool.cpp.

Teuchos::RCP< const Epetra_IntSerialDenseMatrix > GLpApp::GLpYUEpetraDataPool::gete ( )

Definition at line 527 of file GLpApp_GLpYUEpetraDataPool.cpp.

double GLpApp::GLpYUEpetraDataPool::getbeta ( )

Definition at line 515 of file GLpApp_GLpYUEpetraDataPool.cpp.

void GLpApp::GLpYUEpetraDataPool::PrintVec ( const Teuchos::RCP< const Epetra_Vector > &  x)

Outputs the solution vector to files.

Definition at line 682 of file GLpApp_GLpYUEpetraDataPool.cpp.

Member Data Documentation

Teuchos::RCP<const Epetra_Comm> GLpApp::GLpYUEpetraDataPool::commptr_
private

Definition at line 142 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_SerialDenseMatrix> GLpApp::GLpYUEpetraDataPool::ipcoords_
private

Coordinates of nodes that are unique to this subdomain.

Definition at line 145 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_IntSerialDenseVector> GLpApp::GLpYUEpetraDataPool::ipindx_
private

Global nodes (interior, nonoverlapping) in this subdomain.

Definition at line 147 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_SerialDenseMatrix> GLpApp::GLpYUEpetraDataPool::pcoords_
private

Coordinates of all nodes in this subdomain.

Definition at line 149 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_IntSerialDenseVector> GLpApp::GLpYUEpetraDataPool::pindx_
private

Global nodes (interior + shared, overlapping) in this subdomain.

Definition at line 151 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_IntSerialDenseMatrix> GLpApp::GLpYUEpetraDataPool::t_
private

Elements (this includes all overlapping nodes).

Definition at line 153 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_IntSerialDenseMatrix> GLpApp::GLpYUEpetraDataPool::e_
private

Edges.

Definition at line 155 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FECrsMatrix> GLpApp::GLpYUEpetraDataPool::A_
private

Volume stiffness matrix.

Definition at line 158 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FECrsMatrix> GLpApp::GLpYUEpetraDataPool::B_
private

Control/state mass matrix.

Definition at line 160 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FECrsMatrix> GLpApp::GLpYUEpetraDataPool::H_
private

Volume mass matrix.

Definition at line 162 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FECrsMatrix> GLpApp::GLpYUEpetraDataPool::R_
private

Edge mass matrix.

Definition at line 164 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_MultiVector> GLpApp::GLpYUEpetraDataPool::B_bar_
private

Basis matrix for p_bar=B*p.

Definition at line 167 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_CrsMatrix> GLpApp::GLpYUEpetraDataPool::Augmat_
private

Augmented system matrix: [ I Jac* ] [Jac 0 ].

Definition at line 173 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FECrsMatrix> GLpApp::GLpYUEpetraDataPool::Npy_
private

Jacobian of the nonlinear term.

Definition at line 176 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FEVector> GLpApp::GLpYUEpetraDataPool::b_
private

Right-hand side of the PDE.

Definition at line 179 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FEVector> GLpApp::GLpYUEpetraDataPool::q_
private

The desired state.

Definition at line 181 of file GLpApp_GLpYUEpetraDataPool.hpp.

Teuchos::RCP<Epetra_FEVector> GLpApp::GLpYUEpetraDataPool::Ny_
private

Definition at line 183 of file GLpApp_GLpYUEpetraDataPool.hpp.

double GLpApp::GLpYUEpetraDataPool::beta_
private

Regularization parameter.

Definition at line 186 of file GLpApp_GLpYUEpetraDataPool.hpp.


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