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  

Extensions Struct Template Reference

This data structure stores the additional information shared by all numerical data like bounds of the computational domain [XA_0 , XE_0] x ... x [XA_. , XE_.], the wavelets, boundary conditions on all the 2*DIM faces, and whether the numerical data corresponds to a multiscale representation (with respect to Lifting Interpolets) along the DIM coordinate directions. This is used for runtime checks of operations. More...

#include <Extensions.hpp>

List of all members.

Public Methods

 Extensions ()
 default constructor.

void SetBoundaryConditions (int bc[DIM][2])
 set boundary conditions for all faces.

void SetBoundaryConditions (int dir, int *bc)
 set boundary conditions just on the faces with normal e_dir.

void SetBoundaryConditions (int dir, int bc0, int bc1)
 other interface.

bool SameBoundaryConditions (Extensions< DIM > *E)
 true of boundary conditions coincide.

bool IsSame (Extensions< DIM > *E)
 true if all attributes coincide.

void CopyFlags (Extensions< DIM > *E)
 copy just the flags, the Wavelets coefficients and so on, but no numerical data.

void CopyData (Extensions< DIM > *E)
 copy just the augmented data.

void Init (Wavelets *W, double *xa=NULL, double *xe=NULL)
 initialize
Parameters:
xa   (*this) uses the vector XA[], this allows to use a global XA for all numerical data
xe   se above if xa=xe=NULL then XA[] and XE[] are allocated using InitXAE.


void InitXAE ()
 malloc memory and init XA_i=0 , XE_i=1.0.

void Print ()
 print.

double Max ()
 Max(ext[0..dimext-1]), if (dimext==0): -HUGE_VAL.

double Min ()
 Min(ext[0..dimext-1]), if (dimext==0): +HUGE_VAL.

double MaxAbs ()
 Max(Abs(ext[0..dimext-1])), if (dimext==0): -HUGE_VAL.

double Sum ()
  ext[i].

double SumAbs ()
  |ext[i]|.

double SumSqr ()
  ext[i]*ext[i].

double InnerProd (Extensions< DIM > *X)
  ext[i]*X->ext[i].

void PPlus (const double a)
 . the following are element-by-element operations on the augmented data . *this += a.

void PPlus (Extensions< DIM > *X)
 *this += *X.

void PPlus (const double a, Extensions< DIM > *X)
 *this += a*(*X).

void Add (Extensions< DIM > *X, Extensions< DIM > *Y)
 *this := *X + *Y.

void Add (const double a, Extensions< DIM > *X, const double b, Extensions< DIM > *Y)
 *this := a * (*X) + b* (*Y).

void Add (const double a, Extensions< DIM > *X, const double b, Extensions< DIM > *Y, const double c, Extensions< DIM > *Z)
 *this := a * (*X) + b* (*Y) + c* (*Z).

void Add (const double a, Extensions< DIM > *X, const double b, Extensions< DIM > *Y, const double c, Extensions< DIM > *Z, const double d, Extensions< DIM > *Q)
 *this := a * (*X) + b* (*Y) + c* (*Z) +d* (*Q).

void Add (const double a, Extensions< DIM > *X, const double b, Extensions< DIM > *Y, const double c, Extensions< DIM > *Z, const double d, Extensions< DIM > *Q, const double f, Extensions< DIM > *R)
 *this := a * (*X) + b* (*Y) + c* (*Z) +d* (*Q) + f* (*R).

void MMinus (Extensions< DIM > *X)
 *this -= *X.

void MMinus (const double a, Extensions< DIM > *X)
 *this -= a*(*X).

void Sub (Extensions< DIM > *X, Extensions< DIM > *Y)
 *this = *X - *Y.

void Mul (Extensions< DIM > *X, Extensions< DIM > *Y)
 *this = *X * (*Y).

void Mul (Extensions< DIM > *X, Extensions< DIM > *Y, double f)
 *this = *X * (*Y) * f.

void Mul (Extensions< DIM > *X, double f)
 *this *= *X * f.

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

void XplusYmalZ (Extensions< DIM > *X, Extensions< DIM > *Y, Extensions< DIM > *Z)
 *this += (*Y) * (Z).

void XminusYmalZ (Extensions< DIM > *X, Extensions< DIM > *Y, Extensions< DIM > *Z)
 *this -= (*Y) * (Z).

void Div (Extensions< DIM > *X, Extensions< DIM > *Y)
 *this = (*Y) / (Z).

void Abs (Extensions< DIM > *X)
 *this = abs(*X).

void Sqr (Extensions< DIM > *X)
 *this=pow(*X,2) ;.

void Pow (Extensions< DIM > *X, double p)
 *this=pow(*X,p) ;.

void Set (const double a)
 *this=a.


Public Attributes

bool ismultiscale [DIM]
 whether or not multiscale basis representation in direction ..

bool islifting [DIM]
 whether or not lifting wavelet representation in direction ..

double* XA
 pointer to domain size.

double* XE
 pointer to domain size.

int BC [DIM][2]
 type of bounday conditions for all faces.

int dimext
 dimension of augmented numerical data used for semidefinite/singular linear systems which have a higher dimensional solution space
default: 0 -> dont use this augmented data.


double ext [_EXTENSIONS_MAXDIM_]
 vector for the augmented data.

template<int DIM> struct Extensions


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