#include <simple_biharmonic_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 | |
SimpleBiharmonicEquation (const Functional< IBASIS, DIM > *rhs, const AggregatedFrame< IBASIS, DIM > *frame, const int jmax) | |
const AggregatedFrame< IBASIS, DIM > & | frame () const |
const Functional< IBASIS, DIM > & | get_rhs () const |
const AggregatedFrame< IBASIS, DIM > & | basis () const |
double | D (const typename AggregatedFrame< IBASIS, DIM >::Index &lambda) const |
double | a (const typename AggregatedFrame< IBASIS, DIM >::Index &lambda, const typename AggregatedFrame< IBASIS, DIM >::Index &nu) const |
double | norm_A () 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 |
void | RHS (const double eta, const int p, InfiniteVector< double, typename AggregatedFrame< IBASIS, DIM >::Index > &coeffs) const |
double | F_norm () const |
Static Public Member Functions | |
static bool | local_operator () |
static double | operator_order () |
Static Public Attributes | |
static const int | space_dimension = DIM |
Protected Types | |
typedef std::map< Index1D < IBASIS >, double > | Column1D |
typedef std::map< Index1D < IBASIS >, Column1D > | One_D_IntegralCache |
Protected Attributes | |
const Functional< IBASIS, DIM > * | rhs_ |
Corresponding righthand side. | |
const AggregatedFrame< IBASIS, DIM > * | frame_ |
Corresponding frame. | |
const int | jmax_ |
Maximal level to be used. | |
One_D_IntegralCache | one_d_integrals |
when reformulating the fourth-order biharmonic elliptic boundary value problem over some domain in
with boundary
, with homogeneous Dirichlet boundary conditions:
in
on
.
The corresponding bilinear form in
is
,
and the right-hand side is a functional
.
The evaluation of a(.,.) and f is possible for arguments which stem from an aggregated wavelet frame
of the corresponding function space over
.
WE ASSUME THAT THE COEFFICIENTS OF THE ELLIPTIC PDE ARE SEPERABLE AND SMOOTH AND THAT THE PATCHES OF THE UNDERLYING DOMAIN DECOMPOSITION ARE RECATANGULAR AND ALIGNED WITH THE CARTESIAN COORDINATES. FOR THIS SPECIAL CASE, a(.,.) CAN BE EXACTLY COMPUTED AT UNIT COST AND TENSOR PRODUCT STRUCTURE CAN BE EXPLOITED.
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::SimpleBiharmonicEquation< IBASIS, DIM >::Frame |
The frame type.
typedef Frame::Index FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::Index |
The index type.
typedef AggregatedFrame<IBASIS,DIM> FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::WaveletBasis |
Dummy typedef to be compatible with WaveletTL routines.
FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::SimpleBiharmonicEquation | ( | const Functional< IBASIS, DIM > * | rhs, | |
const AggregatedFrame< IBASIS, DIM > * | frame, | |||
const int | jmax | |||
) | [inline] |
Constructor. The coefficients of the right-hand side are precomputed between minimal and maximal level.
rhs | The right-hand side functional. | |
frame | Pointer to the aggragated frame that is used for discretization. | |
jmax | The maximal level of resolution that is considered. |
double FrameTL::SimpleBiharmonicEquation< 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.
double FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::alphak | ( | const unsigned int | k | ) | const [inline] |
Estimate the compression constants alpha_k in
const AggregatedFrame<IBASIS,DIM>& FrameTL::SimpleBiharmonicEquation< 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::SimpleBiharmonicEquation< IBASIS, DIM >::D | ( | const typename AggregatedFrame< IBASIS, DIM >::Index & | lambda | ) | const [inline] |
Evaluate the diagonal preconditioner D.
double FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::f | ( | const typename AggregatedFrame< IBASIS, DIM >::Index & | lambda | ) | const [inline] |
Evaluate the (unpreconditioned) right-hand side f.
double FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::F_norm | ( | ) | const [inline] |
Compute (or estimate) the norm of the right-hand side.
const AggregatedFrame<IBASIS,DIM>& FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::frame | ( | ) | const [inline] |
Read access to the frame.
const Functional<IBASIS,DIM>& FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::get_rhs | ( | ) | const [inline] |
Read access to the right-hand side.
static bool FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::local_operator | ( | ) | [inline, static] |
Differential operators are local.
double FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::norm_A | ( | ) | const [inline] |
Estimate the spectral norm .
static double FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::operator_order | ( | ) | [inline, static] |
Order of the operator.
void FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::RHS | ( | const double | eta, | |
const int | p, | |||
InfiniteVector< double, typename AggregatedFrame< IBASIS, DIM >::Index > & | coeffs | |||
) | const [inline] |
Approximate the wavelet coefficient set of the preconditioned right-hand side restricted to patch p within a prescribed error tolerance.
void FrameTL::SimpleBiharmonicEquation< 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::SimpleBiharmonicEquation< IBASIS, DIM >::s_star | ( | ) | const [inline] |
Estimate compressibility exponent .
void FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::set_Ainv | ( | const double | nAinv | ) | [inline] |
Returns spectral norm . An estimate for
has to be externally computed and to be set during initialization of the program.
void FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::set_norm_A | ( | const double | _normA | ) | [inline] |
Sets estimate for .
const int FrameTL::SimpleBiharmonicEquation< IBASIS, DIM >::space_dimension = DIM [static] |
Space dimension of the problem.