Galeri Development
Public Member Functions | Public Attributes
Galeri::FiniteElements::LinearProblem Class Reference

Basic implementation of scalar finite element problem. More...

#include <Galeri_LinearProblem.h>

Inheritance diagram for Galeri::FiniteElements::LinearProblem:
Inheritance graph
[legend]
Collaboration diagram for Galeri::FiniteElements::LinearProblem:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LinearProblem (const AbstractGrid &Grid, const AbstractVariational &Variational, Epetra_CrsMatrix &A, Epetra_MultiVector &LHS, Epetra_MultiVector &RHS)
 Constructor.
virtual ~LinearProblem ()
 Destructor.
void Compute ()
 Fills the linear system matrix and the right-hand side, zeros out the solution.
void ComputeNorms (Epetra_MultiVector &RowMatrixField, int(*ExactSolution)(double, double, double, double *), const bool verbose=true, double *Solution=0, double *Exact=0, double *Diff=0)
 Computes L2, semi-H1 and H1 norms.
virtual Epetra_RowMatrix & A ()
 Returns a reference to the linear system matrix.
virtual Epetra_CrsMatrix & CrsA ()
 Returns a reference to the linear system matrix as Epetra_CrsMatrix.
virtual Epetra_MultiVector & RHS ()
 Returns a reference to the multi-vector of right-hand side.
virtual Epetra_MultiVector & LHS ()
 Returns a reference to the multi-vector of starting solution.
virtual const AbstractGridGrid () const
 Returns a reference to the grid object.
virtual const AbstractVariationalVariational () const
 Returns a reference to the variational object.
 LinearProblem (const AbstractGrid &Grid, const AbstractVariational &Variational, Epetra_CrsMatrix &A, Epetra_MultiVector &LHS, Epetra_MultiVector &RHS)
 Constructor.
virtual ~LinearProblem ()
 Destructor.
void Compute ()
 Fills the linear system matrix and the right-hand side, zeros out the solution.
void ComputeNorms (Epetra_MultiVector &RowMatrixField, int(*ExactSolution)(double, double, double, double *), const bool verbose=true, double *Solution=0, double *Exact=0, double *Diff=0)
 Computes L2, semi-H1 and H1 norms.
virtual Epetra_RowMatrix & A ()
 Returns a reference to the linear system matrix.
virtual Epetra_CrsMatrix & CrsA ()
 Returns a reference to the linear system matrix as Epetra_CrsMatrix.
virtual Epetra_MultiVector & RHS ()
 Returns a reference to the multi-vector of right-hand side.
virtual Epetra_MultiVector & LHS ()
 Returns a reference to the multi-vector of starting solution.
virtual const AbstractGridGrid () const
 Returns a reference to the grid object.
virtual const AbstractVariationalVariational () const
 Returns a reference to the variational object.

Public Attributes

const AbstractGridGrid_
const AbstractVariationalVariational_
Epetra_CrsMatrix & A_
Epetra_MultiVector & LHS_
Epetra_MultiVector & RHS_

Detailed Description

Basic implementation of scalar finite element problem.

This class fill the linea system matrix (defined as an Epetra_CrsMatrix), the right-hand side (defined as an Epetra_MultiVector) and the starting solution (defined as a zero Epetra_MultiVector). In the current implementation, only one rhs is created.

Note:
Neumann boundary conditions are still to be fixed.
Author:
Marzio Sala, SNL 9214.
Date:
Last updated on Apr-05.

Constructor & Destructor Documentation

Galeri::FiniteElements::LinearProblem::LinearProblem ( const AbstractGrid Grid,
const AbstractVariational Variational,
Epetra_CrsMatrix &  A,
Epetra_MultiVector &  LHS,
Epetra_MultiVector &  RHS 
) [inline]

Constructor.

Parameters:
Grid- (In) Reference to an AbstractGrid object
Variational- (In) Reference to an AbstractVariational object
A- (In/Out) Epetra_CrsMatrix, whose Map is Grid().RowMap(), that will contain the linear system matrix.
LHS- (In/Out) Epetra_MultiVector, whose Map is Grid().RowMap(), that will contain the starting solution (zero vector).
RHS- (In/Out) Epetra_MultiVector, whose Map is Grid().RowMap(), that will contain the right-hand side.
Galeri::FiniteElements::LinearProblem::LinearProblem ( const AbstractGrid Grid,
const AbstractVariational Variational,
Epetra_CrsMatrix &  A,
Epetra_MultiVector &  LHS,
Epetra_MultiVector &  RHS 
) [inline]

Constructor.

Parameters:
Grid- (In) Reference to an AbstractGrid object
Variational- (In) Reference to an AbstractVariational object
A- (In/Out) Epetra_CrsMatrix, whose Map is Grid().RowMap(), that will contain the linear system matrix.
LHS- (In/Out) Epetra_MultiVector, whose Map is Grid().RowMap(), that will contain the starting solution (zero vector).
RHS- (In/Out) Epetra_MultiVector, whose Map is Grid().RowMap(), that will contain the right-hand side.

Member Function Documentation

void Galeri::FiniteElements::LinearProblem::ComputeNorms ( Epetra_MultiVector &  RowMatrixField,
int(*)(double, double, double, double *)  ExactSolution,
const bool  verbose = true,
double *  Solution = 0,
double *  Exact = 0,
double *  Diff = 0 
) [inline, virtual]
void Galeri::FiniteElements::LinearProblem::ComputeNorms ( Epetra_MultiVector &  RowMatrixField,
int(*)(double, double, double, double *)  ExactSolution,
const bool  verbose = true,
double *  Solution = 0,
double *  Exact = 0,
double *  Diff = 0 
) [inline, virtual]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables