Department of Scientific Computing   
Institute for Numerical Simulation   
University of Bonn   
Documentation
Download
Programming References
Bug Reports / Suggestions
FAQ
Authors
Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

LevelAdaptiveData Class Template Reference

Level adaptive numerical data. More...

#include <LevelAdaptive.hpp>

List of all members.

Public Methods

 LevelAdaptiveData ()
 default constructor.

 LevelAdaptiveData (LevelAdaptiveGrid< DIM > *AG)
 with attachment to a level adaptive grid and allocation of required memory.

void Init (LevelAdaptiveGrid< DIM > *AG)
 see above.

size_t Size ()
 return size of all subspaces.

void SetBoundaryConditions (int BCs[DIM][2])
 Set boundary conditions.

void SetBoundaryConditions (LevelAdaptiveData< DIM > *S)
 Copy boundary conditions.

void Blend (BlendingData< DIM > *B)
 (*this) is computed from (*B) using the blending formula, *B must be a multiscale represenation.

void PPlus (const double c0, LevelAdaptiveData< DIM > *S0)
 linear algebra (*this) += c0*S0.

void Add (const double c0, LevelAdaptiveData< DIM > *S0, const double c1, LevelAdaptiveData< DIM > *S1)
 (*this) = (*S0) + (*S1).

void Add (const double c0, LevelAdaptiveData< DIM > *S0, const double c1, LevelAdaptiveData< DIM > *S1, const double c2, LevelAdaptiveData< DIM > *S2)
 (*this) = (*S0) + (*S1) + (*S2).

void Add (const double c0, LevelAdaptiveData< DIM > *S0, const double c1, LevelAdaptiveData< DIM > *S1, const double c2, LevelAdaptiveData< DIM > *S2, const double c3, LevelAdaptiveData< DIM > *S3)
 (*this) = (*S0) + (*S1) + (*S2) + (*S3).

void Sub (LevelAdaptiveData< DIM > *S0, LevelAdaptiveData< DIM > *S1)
 (*this) = (*S0) - (*S1).

void Mul (double f)
 (*this) *= f.

double InnerProd (LevelAdaptiveData< DIM > *S)
 Return inner product of *this and *S.

double Max ()
 Return maximum value.

double Min ()
 Return minimum value.

double MaxAbs ()
 Return maximum absolute value.

void Copy (LevelAdaptiveData< DIM > *From)
 (*this):=(*From).

void ToUniform (UniformData< DIM > *M)
 Write (*this) to a uniform data structure.

void FromUniform (UniformData< DIM > *M)
 Copy data to (*this).

void Multiply (LevelAdaptiveData< 2 *DIM > *K, LevelAdaptiveData< DIM > *S)
 (*this)(x) =
Supported for orthogonal Daubechies wavelets only!


void ApplyOp (int *BCT, LevelAdaptiveData< DIM > *X, int dir, unsigned int op)
 apply operation to *X with respect to one coordinate direction
Parameters:
X   argument for the operation; may be *this
BCT   boundary conditions of test functions along the <dir>th coordinate direction and also the boundary conditions of *this after the operation w.r.t. <dir>. The resaon is that e.g. FIRTSDERIVATIVE and also finite difference operations are considered as projections of something onto a test space
dir   coordinate direction with respect to which the operation is applied
op   identifier of the univariate operation valid IDs are:
NOOPERATION do nothing
PROJECTION just projection
FIRSTDERIVATIVE compute (Petrov-)Galerkin projection of first derivative,
test functions are the dual wavelets, a finite difference approximation is used for low order Interpolets
STIFFNESS as above, but second derivative
FD12 finite fifferences 1. derivative 2. order accuracy
FD14 finite fifferences 1. derivative 4. order accuracy
FD16 finite fifferences 1. derivative 6. order accuracy
FD22 finite fifferences 2. derivative 2. order accuracy
FD24 finite fifferences 2. derivative 4. order accuracy
DIV stabilized div operator</td>
GRAD stabilized div operator</td>
.


void ApplyOp (LevelAdaptiveData< DIM > *X, int dir, unsigned int op)
 as above, but keep boundary conditions of X, i.e. short cut for ApplyOp(X->Ext.BC[dir] , X, dir , op) ;.

void WriteUDF (const char *name, UniformData< DIM > *M, LevelAdaptiveData< DIM > *Tmp=NULL, bool CastToFloat=false)
 Write a file which can be read from VTK (vtkRectilinearGridReader) or in MATLAB using ReadUDF; do help ReadUDF for more MATLAB-information
Parameters:
Tmp   if !=NULL nodal values are written: (*this) is projected to general boundary conditions first, then copied to *M and inverse transformed Tmp may be the same as this
CastToFloat   if true just write float values to save disk space.


void WriteUDF (const char *name, int *L, LevelAdaptiveData< DIM > *Tmp=NULL, bool CastToFloat=false)
 as above, but internal allocation of *M with size 1<<L[i] along each coordinate direction.

void WriteUDF (const char *name, int L, LevelAdaptiveData< DIM > *Tmp=NULL, bool CastToFloat=false)
 as above, but level L for all coordinate directions.


Public Attributes

Matrix< Matrix<double,DIM>* ,
DIM>* 
a
 numerical data.

LevelAdaptiveGrid<DIM>* G
 level adaptive grid.

Extensions<DIM> Ext
 boundary conditions and so on.

template<int DIM> class LevelAdaptiveData


The documentation for this class was generated from the following files:
Generated at Mon Aug 19 10:02:33 2002 for AWFD by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001