Go to the documentation of this file.
6 #ifndef aglowav2Space_hh
7 #define aglowav2Space_hh
28 template<
class F = concepts::Real>
41 template<
class F = concepts::Real>
47 virtual void skip(uint lvl) = 0;
55 template<
class F = concepts::Real>
62 virtual uint
nlvl()
const = 0;
77 template<
class F = concepts::Real>
97 inline bool eos()
const {
return sptr_[0] ? 0 : 1;}
114 template<
class F = concepts::Real>
152 template<
class F = concepts::Real>
172 inline uint
d()
const {
return d_;}
191 std::ostream&
info(std::ostream& os)
const;
289 os <<
"aglowav2::" <<
concepts::typeOf(*
this)<<
"(dim=" << dim_ <<
", maxLocDim=" << maxLocDim_;
290 os <<
", nlvl=" << nlvl_ <<
", nelm=" << nelm_ <<
", d=" << d_ <<
')';
296 #endif // aglowav2Space_hh
Haar3d0DFSScan(Haar3d000< F > *elm, uint ht)
Constructor.
Haar3d0BFSScan(Haar3d000< F > *elm, uint ht)
Constructor.
void skip(uint lvl)
Skips the levels of the subtree.
bool eos() const
End of scan.
static const uint MAXLOCDIM_
Maximal dimension of local transformation matrix.
Haar3d0DFSScan(const Haar3d0DFSScan< F > &sc)
Copy constructor.
uint maxLocDim() const
Maximal local dimension.
Haar3d0BFSScan< F > * bfsscan() const
Scanner ("breadth" first search (1. parent, 2. children))
virtual ~Haar3d0()
Destructor.
Scanner of the Haar3d space ("breadth" first search (bfs)) (1.
Haar3d0BFSScan< F > * clone() const
New scanner.
uint nlvl_
Maximal number of levels.
uint sLocDim_
Sum of the local dimensions.
bool eos() const
End of scan.
uint dim_
Space dimension.
std::ostream & info(std::ostream &os) const
Information about the space.
~Haar3d0DFSScan()
Destructor.
Abstract class for a space.
uint nelm_
Number of space elements.
uint * j_
Auxiliary vectors for the keys of the elements and the DoF's.
virtual Haar3dXXX< F > & operator++(int)=0
Next element.
virtual Haar3dXXX< F > & operator++(int)=0
Next element.
Scanner of the Haar3d space (depth first search (dfs)) (1.
Agglomerated wavelet space.
~Haar3d0BFSScan()
Destructor.
concepts::Real sz_
Smallest size of a cell.
Scanner of the Haar3d0 space (depth first search (dfs)) (1.
uint ht_
Height of the stack.
Haar3d0DFSScan< F > * dfsscan() const
Scanner (depth first search (1. children, 2. parent))
const concepts::Space< F > & spc_
One scale space.
Abstract space element for the agglomerated wavelets.
Scanner of the Haar3d0 space ("breadth" first search (bfs)) (1.
Haar3d000< F > * elm_
Root of the wavelet tree.
uint d() const
Order of vanishing moments.
Used for the aglowav2 classes for the boundary element method.
Scanner of the Haar3d space (depth first search (dfs)) (1.
static const concepts::Real EPS_
Threshold for singular values.
virtual ~Haar3d()
Destructor.
void moments_(const bem::Constant3d002< F > &elm, concepts::Real *mnts)
Computes the moments up to order d (normed basis functions are assumed)
Scanner of the Haar3d space ("breadth" first search (bfs)) (1.
Haar3d0(cluster::Tree< cluster::Cluster< F > > &tree, uint d=0)
Constructor.
const concepts::Space< F > & space() const
One scale space.
Haar3d000< F > ** sptr_
Stack pointer.
concepts::Real size() const
Smallest size of a cell.
void constructor_(const cluster::Cluster< F > *clst, uint lvl, Haar3d000< F > **Chld, Haar3d000< F > **Curchld, uint *nChld, const bem::Constant3d002< F > **Elm, uint *nElm, concepts::Real *At, uint *nAt)
Constructor for recursive calls.
Space element for the agglomerated wavelets.
void keyset_(Haar3d000< F > *elm, uint lvl, uint gamma)
Sets the key and gamma of each element correctly.
Haar3d000< F > ** sptr_
Stack pointer.
Haar3d000< F > & operator++(int)
Next element.
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
uint nlvl() const
Maximal number of levels.
Haar3d0BFSScan< F > * scan() const
Scanner (same as bfsscan())
Abstract class for a cluster tree.
uint maxLocDim_
Maximal local dimension.
concepts::Real * v0x_
Auxiliary vectors for the computation of the moments (used only in the constructor.
Haar3d0DFSScan< F > * clone() const
New scanner.
virtual uint nlvl() const =0
Maximal number of levels.
Haar3d0BFSScan(const Haar3d0BFSScan< F > &sc)
Copy constructor.
uint ht_
Height of the stack.
uint dim() const
Dimension of the space.
Constant triangular element with normed basis function.
virtual Haar3dDFSScan< F > * dfsscan() const =0
Scanner (depth first search (1. children, 2. parent))
Haar3d000< F > & operator++(int)
Next element.
uint sumLocDim() const
Sum of the local dimensions.
const bem::Constant3d002< F > ** locelm_
Auxiliary vectors for local elements (used only in the constructor)
Haar3d000< F > ** stk_
Begin of the stack.
virtual Haar3dBFSScan< F > * bfsscan() const =0
Scanner ("breadth" first search (1. parent, 2. children))
uint * bc_
Binomial coefficients (used only in the constructor)
std::string typeOf(const T &t)
Return the typeid name of a class object.
void destructor_(Haar3d000< F > *elm)
Destructor for recursive calls.
concepts::Real * S_
Auxiliary vectors for the SVD (used only in the constructor) s_ Singular values ut_ Local transformat...
double Real
Type normally used for a floating point number.
virtual uint maxLocDim() const =0
Maximal number of children of an element.
uint d_
Order of vanishing moments.
Haar3d000< F > ** stk_
Begin of the stack.
virtual void skip(uint lvl)=0
Skips the levels of the subtree.
uint nelm() const
Number of elements.