#include <ProjIm.h>
Inheritance diagram for ProjIm::

Public Methods | |
| ProjIm (const char *description_="Projecton operator") | |
| ProjIm (const Proj_prm &prm, const char *description_="Projection operator") | |
| virtual | ~ProjIm () |
| virtual bool | rebindDOF (DegFreeFE &coarse, DegFreeFE &fine) |
| virtual bool | ok () const |
| virtual void | apply (const LinEqVector &c, LinEqVector &d, TransposeMode tpmode, bool add_to_d=false) |
| virtual LinEqMatrix& | A () |
| virtual String | description () const |
| virtual void | scale (real s) |
| virtual void | scale (const LinEqVector &s, TransposeMode t) |
| int | getWork () const |
| real | getStorage () const |
Protected Attributes | |
| Handle(DegFreeFE) | coarseDeg |
| Handle(DegFreeFE) | fineDeg |
NAME: ProjIm - projection operators between grids
DESCRIPTION:
This projection operator interpolates a field using the input vectors in "apply" as field values. The class needs access to the "DegFreeFE" objects for the two involved grids.
|
|
See class "Proj". Notice that two "DegFreeFE" objects must be supplied by use of "rebindDOF". |
|
|
See documentation of one of the overloaded constructor. |
|
|
|
|
|
returns access to the matrix representation of the projection operator. Reimplemented from Proj. |
|
|
applies the projection operator to the vector "c", producting the vector "d". Depending on the "tpmode" argument, either operator or its transposed is used. If the flag "add_to_d" is true, the computed results is added to "d", otherwise it overwrites any prior contents in "d". Reimplemented from Proj. |
|
|
returns the "String" description of the projection operator. Reimplemented from Proj. |
|
|
Reimplemented from Proj. |
|
|
Reimplemented from Proj. |
|
|
returns true if the projection operator is in a consistent state. Reimplemented from Proj. |
|
|
connects the projection operator to two "DegFreeFE" objects, one for the coarse and one for the fine grid. Reimplemented from Proj. |
|
|
scales the projection operator according to input values. If the a scalar constant "s" is applied, all entries in the operator is scaled by the constant value, "P(i,j)=s*P(i,j)". If the input sepcifies a "LinEqVector", the operator is scaled row- or columnwise. That is, for "tpmode=TRANSPOSED" the rows are scaled, "P(i,j) = s(i)*P(i,j)". Similarly, for "tpmode=NOT_TRANSPOSED" the wolumns are scaled as "P(i,j)=s(j)*P(i,j)". Reimplemented from Proj. |
|
|
See documentation of one of the overloaded functions. Reimplemented from Proj. |
|
|
|
|
|
|