#include <elliptic_equation.h>
Inherits WaveletTL::FullyDiagonalEnergyNormPreconditioner<AggregatedFrame<IBASIS,DIM>::Index>.
Public Types | |
typedef AggregatedFrame < IBASIS, DIM > | Frame |
typedef AggregatedFrame < IBASIS, DIM > | WaveletBasis |
typedef Frame::Index | Index |
Public Member Functions | |
EllipticEquation (const EllipticBVP< DIM > *ell_bvp, const AggregatedFrame< IBASIS, DIM > *frame, const int jmax) | |
const AggregatedFrame< IBASIS, DIM > & | frame () const |
const EllipticBVP< DIM > & | get_bvp () const |
const AggregatedFrame< IBASIS, DIM > & | basis () const |
double | operator_order () const |
double | D (const typename AggregatedFrame< IBASIS, DIM >::Index &lambda) const |
void | rescale (InfiniteVector< double, typename AggregatedFrame< IBASIS, DIM >::Index > &coeffs, const int n) const |
double | a (const typename AggregatedFrame< IBASIS, DIM >::Index &lambda, const typename AggregatedFrame< IBASIS, DIM >::Index &nu) const |
double | norm_A () const |
double | norm_Ainv () const |
void | set_norm_A (const double _normA) |
void | set_Ainv (const double nAinv) |
double | s_star () const |
double | alphak (const unsigned int k) const |
double | f (const typename AggregatedFrame< IBASIS, DIM >::Index &lambda) const |
void | RHS (const double eta, InfiniteVector< double, typename AggregatedFrame< IBASIS, DIM >::Index > &coeffs) const |
double | F_norm () const |
void | set_bvp (const EllipticBVP< DIM > *) |
void | add_level (const Index &lambda, InfiniteVector< double, Index > &w, const int j, const double factor, const int J, const CompressionStrategy strategy) const |
Static Public Member Functions | |
static bool | local_operator () |
Static Public Attributes | |
static const int | space_dimension = DIM |
Protected Attributes | |
const EllipticBVP< DIM > * | ell_bvp_ |
const AggregatedFrame< IBASIS, DIM > * | frame_ |
when reformulating a symmetric, second-order elliptic boundary value problem in divergence form over some domain Omega in with boundary
, with homogeneous Dirichlet boundary conditions
in
on
The corresponding bilinear form in
is
and the right-hand side is
.
The evaluation of and
is possible for arguments
which stem from an aggregated wavelet frame
of the corresponding function space over
.
IBASIS | The type of interval basis underlying the construction of the aggregated frame. | |
DIM | The dimension of the underlying domain. |
typedef AggregatedFrame<IBASIS,DIM> FrameTL::EllipticEquation< IBASIS, DIM >::Frame |
The frame type.
typedef Frame::Index FrameTL::EllipticEquation< IBASIS, DIM >::Index |
The index type.
typedef AggregatedFrame<IBASIS,DIM> FrameTL::EllipticEquation< IBASIS, DIM >::WaveletBasis |
Dummy typedef to be compatible with WaveletTL routines.
FrameTL::EllipticEquation< IBASIS, DIM >::EllipticEquation | ( | const EllipticBVP< DIM > * | ell_bvp, | |
const AggregatedFrame< IBASIS, DIM > * | frame, | |||
const int | jmax | |||
) | [inline] |
Constructor. The diagonal of the stiffness matrix and the coefficients of the right-hand side are precomputed between minimal and maximal level.
ell_bvp | The elliptic boundary value problem that is modeled. | |
frame | Pointer to the aggragated frame that is used for discretization. | |
jmax | The maximal level of resolution that is considered. |
double FrameTL::EllipticEquation< IBASIS, DIM >::a | ( | const typename AggregatedFrame< IBASIS, DIM >::Index & | lambda, | |
const typename AggregatedFrame< IBASIS, DIM >::Index & | nu | |||
) | const [inline] |
Evaluate the (unpreconditioned) bilinear form a.
void FrameTL::EllipticEquation< IBASIS, DIM >::add_level | ( | const Index & | lambda, | |
InfiniteVector< double, Index > & | w, | |||
const int | j, | |||
const double | factor, | |||
const int | J, | |||
const CompressionStrategy | strategy | |||
) | const [inline] |
Multiplies the stiffness matrix entries of column lambda on level j of the compressed martrix A_J by factor and adds the result to w.
double FrameTL::EllipticEquation< IBASIS, DIM >::alphak | ( | const unsigned int | k | ) | const [inline] |
Estimate the compression constants alpha_k in
const AggregatedFrame<IBASIS,DIM>& FrameTL::EllipticEquation< IBASIS, DIM >::basis | ( | ) | const [inline] |
Read access to the frame. The routine is called basis() to be compatible with the routines in WaveletTL's compression.h.
double FrameTL::EllipticEquation< IBASIS, DIM >::D | ( | const typename AggregatedFrame< IBASIS, DIM >::Index & | lambda | ) | const [inline] |
Evaluate the diagonal preconditioner D.
double FrameTL::EllipticEquation< IBASIS, DIM >::f | ( | const typename AggregatedFrame< IBASIS, DIM >::Index & | lambda | ) | const [inline] |
Evaluate the (unpreconditioned) right-hand side f.
double FrameTL::EllipticEquation< IBASIS, DIM >::F_norm | ( | ) | const [inline] |
Compute (or estimate) the norm of the right-hand side.
const AggregatedFrame<IBASIS,DIM>& FrameTL::EllipticEquation< IBASIS, DIM >::frame | ( | ) | const [inline] |
Read access to the frame.
const EllipticBVP<DIM>& FrameTL::EllipticEquation< IBASIS, DIM >::get_bvp | ( | ) | const [inline] |
Read access to the boundary value problem.
static bool FrameTL::EllipticEquation< IBASIS, DIM >::local_operator | ( | ) | [inline, static] |
Differential operators are local.
double FrameTL::EllipticEquation< IBASIS, DIM >::norm_A | ( | ) | const [inline] |
Estimate the spectral norm .
double FrameTL::EllipticEquation< IBASIS, DIM >::norm_Ainv | ( | ) | const [inline] |
Returns spectral norm . An estimate for
has to be externally computed and to be set during initialization of the program.
double FrameTL::EllipticEquation< IBASIS, DIM >::operator_order | ( | ) | const [inline] |
Order of the operator.
void FrameTL::EllipticEquation< IBASIS, DIM >::rescale | ( | InfiniteVector< double, typename AggregatedFrame< IBASIS, DIM >::Index > & | coeffs, | |
const int | n | |||
) | const [inline] |
Rescale a coefficient vector by an integer power of D, .
void FrameTL::EllipticEquation< IBASIS, DIM >::RHS | ( | const double | eta, | |
InfiniteVector< double, typename AggregatedFrame< IBASIS, DIM >::Index > & | coeffs | |||
) | const [inline] |
Approximate the wavelet coefficient set of the preconditioned right-hand side within a prescribed error tolerance.
double FrameTL::EllipticEquation< IBASIS, DIM >::s_star | ( | ) | const [inline] |
Estimate compressibility exponent .
void FrameTL::EllipticEquation< IBASIS, DIM >::set_Ainv | ( | const double | nAinv | ) | [inline] |
Sets estimate for .
void FrameTL::EllipticEquation< IBASIS, DIM >::set_bvp | ( | const EllipticBVP< DIM > * | bvp | ) | [inline] |
Set the boundary value problem.
void FrameTL::EllipticEquation< IBASIS, DIM >::set_norm_A | ( | const double | _normA | ) | [inline] |
Sets estimate for .
const EllipticBVP<DIM>* FrameTL::EllipticEquation< IBASIS, DIM >::ell_bvp_ [protected] |
The elliptic boundary value problem.
const AggregatedFrame<IBASIS,DIM>* FrameTL::EllipticEquation< IBASIS, DIM >::frame_ [protected] |
The underlying aggregated frame.
const int FrameTL::EllipticEquation< IBASIS, DIM >::space_dimension = DIM [static] |
Space dimension of the problem.