Diffpack Documentation

(Functionality not available, requires installation of an additional Diffpack Toolbox)


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

MxProj Class Reference

sparse projection operators for mixed FEM. More...

#include <MxProj.h>

Inheritance diagram for MxProj::

ProjInterpSparse ProjMatSparse ProjMatrix Proj HandleId List of all members.

Public Methods

 MxProj (const char *description_="Projector operator for general numbering")
 MxProj (const Proj_prm &, const char *description_="Projector operator for general numbering")
virtual ~MxProj ()
virtual bool rebindDOF (DegFreeFE &coarse, DegFreeFE &fine)
virtual String description () const
virtual void print (Os os, int output=1) const

Protected Methods

bool compatible (DegFreeFE &coarse, DegFreeFE &fine)
bool element_string_check (String elm_tp)
bool precomp (DegFreeFE &coarse)
virtual void init (bool optimize)
virtual void interpolate (DegFreeFE &coarse, DegFreeFE &fine)
virtual void interpolate (GridFE &coarse, GridFE &fine)
virtual void valuePt (DegFreeFE &coarse, int &element, Ptv(real)&loc_pt, const Ptv(real) &x, int field_no)
virtual void valuePt (GridFE &coarse, int &element, Ptv(real)&loc_pt, const Ptv(real) &x)
virtual void valueElm (DegFreeFE &coarse, int elm_no, const Ptv(real) &local_pt, int field_no)
virtual void valueElm (int elm_no, const Ptv(real) &local_pt)

Protected Attributes

real eps
int ndpn
int nde
bool all_elements_equal
VecSimplest(int) add_number_of_basis
MxFiniteElement mfe

Detailed Description

sparse projection operators for mixed FEM.

NAME: MxProj - sparse projection operators for mixed FEM

DESCRIPTION:

This projection operator interpolates a field using a "MatSparse" representation. The "MatSparse" is filled automatically once given access to the "DegFreeFE" objects for the two involved grids.

In contrast to the parent class "ProjInterpSparse", this class handles the case of general numbering. The projection operator is build upon the following assumptions: (i) the fields are orthogonal, and (ii) the fields use the same geometry grid.

See ProjInterpSparse, for a more precise description of the matematical properties of the projection.


Constructor & Destructor Documentation

MxProj::MxProj ( const char * description_ = "Projector operator for general numbering" )
 

See class "Proj". Notice that two "DegFreeFE" objects must be supplied by use of "rebindDOF".

MxProj::MxProj ( const Proj_prm &,
const char * description_ = "Projector operator for general numbering" )
 

See documentation of one of the overloaded constructor.

MxProj::~MxProj ( ) [virtual]
 


Member Function Documentation

bool MxProj::compatible ( DegFreeFE & coarse,
DegFreeFE & fine ) [protected]
 

String MxProj::description ( ) const [virtual]
 

returns the "String" description of the projection operator.

Reimplemented from ProjInterpSparse.

bool MxProj::element_string_check ( String elm_tp ) [protected]
 

void MxProj::init ( bool optimize ) [protected, virtual]
 

initializes the projection operator, if possible the peformance of the operator is optimized whenever the boolean argument is true.

Reimplemented from ProjInterpSparse.

void MxProj::interpolate ( GridFE & coarse,
GridFE & fine ) [inline, protected, virtual]
 

Reimplemented from ProjInterpSparse.

void MxProj::interpolate ( DegFreeFE & coarse,
DegFreeFE & fine ) [protected, virtual]
 

bool MxProj::precomp ( DegFreeFE & coarse ) [protected]
 

void MxProj::print ( Os os,
int output = 1 ) const [virtual]
 

Reimplemented from ProjInterpSparse.

bool MxProj::rebindDOF ( DegFreeFE & coarse,
DegFreeFE & fine ) [virtual]
 

connects the projection operator to two "DegFreeFE" objects, one for the coarse and one for the fine grid.

Reimplemented from ProjInterpSparse.

void MxProj::valueElm ( int elm_no,
const Ptv(real) & local_pt ) [inline, protected, virtual]
 

Reimplemented from ProjInterpSparse.

void MxProj::valueElm ( DegFreeFE & coarse,
int elm_no,
const Ptv(real) & local_pt,
int field_no ) [protected, virtual]
 

void MxProj::valuePt ( GridFE & coarse,
int & element,
Ptv(real)& loc_pt,
const Ptv(real) & x ) [inline, protected, virtual]
 

void MxProj::valuePt ( DegFreeFE & coarse,
int & element,
Ptv(real)& loc_pt,
const Ptv(real) & x,
int field_no ) [protected, virtual]
 


Member Data Documentation

VecSimplest(int) MxProj::add_number_of_basis [protected]
 

bool MxProj::all_elements_equal [protected]
 

real MxProj::eps [protected]
 

Reimplemented from ProjInterpSparse.

MxFiniteElement MxProj::mfe [protected]
 

int MxProj::nde [protected]
 

int MxProj::ndpn [protected]
 

Reimplemented from ProjInterpSparse.


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.