Galeri Development
Loading...
Searching...
No Matches
Galeri::FiniteElements::LinearProblem Class Reference

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

#include <Galeri_LinearProblem.h>

Inheritance diagram for Galeri::FiniteElements::LinearProblem:
Collaboration diagram for Galeri::FiniteElements::LinearProblem:

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.
Public Member Functions inherited from Galeri::FiniteElements::AbstractProblem
virtual ~AbstractProblem ()
 Destructor.

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

◆ LinearProblem()

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.

References A(), Grid(), LHS(), RHS(), and Variational().

Member Function Documentation

◆ A()

virtual Epetra_RowMatrix & Galeri::FiniteElements::LinearProblem::A ( )
inlinevirtual

Returns a reference to the linear system matrix.

Implements Galeri::FiniteElements::AbstractProblem.

Referenced by LinearProblem().

◆ Compute()

◆ ComputeNorms()

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

◆ Grid()

virtual const AbstractGrid & Galeri::FiniteElements::LinearProblem::Grid ( ) const
inlinevirtual

Returns a reference to the grid object.

Implements Galeri::FiniteElements::AbstractProblem.

Referenced by Compute(), ComputeNorms(), and LinearProblem().

◆ LHS()

virtual Epetra_MultiVector & Galeri::FiniteElements::LinearProblem::LHS ( )
inlinevirtual

Returns a reference to the multi-vector of starting solution.

Implements Galeri::FiniteElements::AbstractProblem.

Referenced by Compute(), and LinearProblem().

◆ RHS()

virtual Epetra_MultiVector & Galeri::FiniteElements::LinearProblem::RHS ( )
inlinevirtual

Returns a reference to the multi-vector of right-hand side.

Implements Galeri::FiniteElements::AbstractProblem.

Referenced by Compute(), and LinearProblem().

◆ Variational()

virtual const AbstractVariational & Galeri::FiniteElements::LinearProblem::Variational ( ) const
inlinevirtual

Returns a reference to the variational object.

Implements Galeri::FiniteElements::AbstractProblem.

Referenced by Compute(), ComputeNorms(), and LinearProblem().


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