Basic class for elementary elliptic operators. More...
#include <ope_elementary.h>
Public Member Functions | |
virtual | ~Ope_elementary () |
Destructor. | |
double | val_sh_one_minus () const |
Returns the value of the first homogeneous solution at the inner boundary. | |
double | val_sh_one_plus () const |
Returns the value of the first homogeneous solution at the outer boundary. | |
double | der_sh_one_minus () const |
Returns the value of the derivative of the first homogeneous solution at the inner boundary. | |
double | der_sh_one_plus () const |
Returns the value of the derivative of the first homogeneous solution at the outer boundary. | |
double | val_sh_two_minus () const |
Returns the value of the second homogeneous solution at the inner boundary. | |
double | val_sh_two_plus () const |
Returns the value of the second homogeneous solution at the outer boundary. | |
double | der_sh_two_minus () const |
Returns the value of the derivative of the second homogeneous solution at the inner boundary. | |
double | der_sh_two_plus () const |
Returns the value of the derivative of the second homogeneous solution at the outer boundary. | |
double | val_sp_minus () const |
Returns the value of the particular solution at the inner boundary. | |
double | val_sp_plus () const |
Returns the value of the particular solution at the outer boundary. | |
double | der_sp_minus () const |
Returns the value of the derivative particular solution at the inner boundary. | |
double | der_sp_plus () const |
Returns the value of the derivative particular solution at the outer boundary. | |
double | get_alpha () const |
Returns alpha . | |
double | get_beta () const |
Returns beta} . | |
int | get_base_r () const |
Returns base_r} . | |
Matrice | get_ope_mat () |
Returns the matrix representation. | |
Matrice | get_ope_cl () |
Returns the banded matrix representation. | |
Matrice | get_non_dege () |
Returns the non degenerate matrix representation. | |
virtual Tbl | get_solp (const Tbl &so) const =0 |
Computes the particular solution, given the source so . | |
virtual Tbl | get_solh () const =0 |
Computes the homogeneous solutions(s). | |
virtual void | inc_l_quant ()=0 |
Increases the quatum number l by one unit. | |
Protected Member Functions | |
Ope_elementary (int nbr, int baser, double alf, double eta) | |
Standard constructor, protected because the class is an abstract one. | |
Ope_elementary (const Ope_elementary &) | |
Constructor by copy. | |
Protected Attributes | |
int | nr |
Number of radial points. | |
int | base_r |
Radial basis of decomposition. | |
double | alpha |
Parameter ![]() | |
double | beta |
Parameter ![]() | |
Matrice * | ope_mat |
Pointer on the matrix representation of the operator. | |
Matrice * | ope_cl |
Pointer on the banded-matrix of the operator. | |
Matrice * | non_dege |
Pointer on the non-degenerated matrix of the operator. | |
double | s_one_plus |
Value of the first homogeneous solution at the outer boundary. | |
double | s_one_minus |
Value of the first homogeneous solution at the inner boundary. | |
double | ds_one_plus |
Value of the derivative of the first homogeneous solution at the outer boundary. | |
double | ds_one_minus |
Value of the derivative of the first homogeneous solution at the inner boundary. | |
double | s_two_plus |
Value of the second homogeneous solution at the outer boundary. | |
double | s_two_minus |
Value of the second homogeneous solution at the inner boundary. | |
double | ds_two_plus |
Value of the derivative of the second homogeneous solution at the outer boundary. | |
double | ds_two_minus |
Value of the derivative of the second homogeneous solution at the inner boundary. | |
double | sp_minus |
Value of the particular solution at the inner boundary. | |
double | sp_plus |
Value of the particular solution at the outer boundary. | |
double | dsp_minus |
Value of the derivative of the particular solution at the inner boundary. | |
double | dsp_plus |
Value of the derivative of the particular solution at the outer boundary. | |
Private Member Functions | |
virtual void | do_ope_mat () const =0 |
Computes the matrix of the operator. | |
virtual void | do_ope_cl () const =0 |
Computes the banded-matrix of the operator. | |
virtual void | do_non_dege () const =0 |
Computes the non-degenerated matrix of the operator. |
Basic class for elementary elliptic operators.
Such objects describe a type of elliptic operator, in a given domain and for a given spherical harmonics. They are called by the general elliptic solver. Ope_elementary
objects know how to compute the approriate particular solution for a given source and the associated homogeneous ones.
The class Ope_elementary
is an abstract one: it cannot be instanciated. Specific implementation of coordinate mappings will be performed by derived classes of Ope_elementary
. ()
Definition at line 98 of file ope_elementary.h.
Ope_elementary::Ope_elementary | ( | int | nbr, | |
int | baser, | |||
double | alf, | |||
double | eta | |||
) | [explicit, protected] |
Standard constructor, protected because the class is an abstract one.
nbr | [input] number of radial points. | |
baser | [input] radial basis of decomposition. | |
alf | [input] parameter ![]() | |
bet | [input] parameter ![]() |
Definition at line 38 of file ope_elementary.C.
Ope_elementary::Ope_elementary | ( | const Ope_elementary & | so | ) | [protected] |
Constructor by copy.
Definition at line 43 of file ope_elementary.C.
Ope_elementary::~Ope_elementary | ( | ) | [virtual] |
Destructor.
Definition at line 58 of file ope_elementary.C.
double Ope_elementary::der_sh_one_minus | ( | ) | const [inline] |
Returns the value of the derivative of the first homogeneous solution at the inner boundary.
Definition at line 207 of file ope_elementary.h.
References ds_one_minus.
double Ope_elementary::der_sh_one_plus | ( | ) | const [inline] |
Returns the value of the derivative of the first homogeneous solution at the outer boundary.
Definition at line 213 of file ope_elementary.h.
References ds_one_plus.
double Ope_elementary::der_sh_two_minus | ( | ) | const [inline] |
Returns the value of the derivative of the second homogeneous solution at the inner boundary.
Definition at line 230 of file ope_elementary.h.
References ds_two_minus.
double Ope_elementary::der_sh_two_plus | ( | ) | const [inline] |
Returns the value of the derivative of the second homogeneous solution at the outer boundary.
Definition at line 236 of file ope_elementary.h.
References ds_two_plus.
double Ope_elementary::der_sp_minus | ( | ) | const [inline] |
Returns the value of the derivative particular solution at the inner boundary.
Definition at line 250 of file ope_elementary.h.
References dsp_minus.
double Ope_elementary::der_sp_plus | ( | ) | const [inline] |
Returns the value of the derivative particular solution at the outer boundary.
Definition at line 255 of file ope_elementary.h.
References dsp_plus.
virtual void Ope_elementary::do_non_dege | ( | ) | const [private, pure virtual] |
Computes the non-degenerated matrix of the operator.
Implemented in Ope_poisson, Ope_helmholtz_minus, Ope_helmholtz_plus, Ope_sec_order_r2, Ope_sec_order, Ope_pois_vect_r, Ope_pois_tens_rr, Ope_poisson_2d, Ope_helmholtz_minus_2d, Ope_poisson_pseudo_1d, Ope_helmholtz_minus_pseudo_1d, and Ope_vorton.
virtual void Ope_elementary::do_ope_cl | ( | ) | const [private, pure virtual] |
Computes the banded-matrix of the operator.
Implemented in Ope_poisson, Ope_helmholtz_minus, Ope_helmholtz_plus, Ope_sec_order_r2, Ope_sec_order, Ope_pois_vect_r, Ope_pois_tens_rr, Ope_poisson_2d, Ope_helmholtz_minus_2d, Ope_poisson_pseudo_1d, Ope_helmholtz_minus_pseudo_1d, and Ope_vorton.
virtual void Ope_elementary::do_ope_mat | ( | ) | const [private, pure virtual] |
Computes the matrix of the operator.
Implemented in Ope_poisson, Ope_helmholtz_minus, Ope_helmholtz_plus, Ope_sec_order_r2, Ope_sec_order, Ope_pois_vect_r, Ope_pois_tens_rr, Ope_poisson_2d, Ope_helmholtz_minus_2d, Ope_poisson_pseudo_1d, Ope_helmholtz_minus_pseudo_1d, and Ope_vorton.
double Ope_elementary::get_alpha | ( | ) | const [inline] |
int Ope_elementary::get_base_r | ( | ) | const [inline] |
double Ope_elementary::get_beta | ( | ) | const [inline] |
Matrice Ope_elementary::get_non_dege | ( | ) | [inline] |
Returns the non degenerate matrix representation.
Definition at line 281 of file ope_elementary.h.
References do_non_dege(), and non_dege.
Matrice Ope_elementary::get_ope_cl | ( | ) | [inline] |
Returns the banded matrix representation.
Definition at line 274 of file ope_elementary.h.
References do_ope_cl(), and ope_cl.
Matrice Ope_elementary::get_ope_mat | ( | ) | [inline] |
Returns the matrix representation.
Definition at line 267 of file ope_elementary.h.
References do_ope_mat(), and ope_mat.
virtual Tbl Ope_elementary::get_solh | ( | ) | const [pure virtual] |
Computes the homogeneous solutions(s).
Implemented in Ope_poisson, Ope_helmholtz_minus, Ope_helmholtz_plus, Ope_sec_order_r2, Ope_sec_order, Ope_pois_vect_r, Ope_pois_tens_rr, Ope_poisson_2d, Ope_helmholtz_minus_2d, Ope_poisson_pseudo_1d, Ope_helmholtz_minus_pseudo_1d, and Ope_vorton.
Computes the particular solution, given the source so
.
Implemented in Ope_poisson, Ope_helmholtz_minus, Ope_helmholtz_plus, Ope_sec_order_r2, Ope_sec_order, Ope_poisson_2d, Ope_helmholtz_minus_2d, Ope_poisson_pseudo_1d, Ope_helmholtz_minus_pseudo_1d, and Ope_vorton.
virtual void Ope_elementary::inc_l_quant | ( | ) | [pure virtual] |
Increases the quatum number l by one unit.
Implemented in Ope_poisson, Ope_helmholtz_minus, Ope_helmholtz_plus, Ope_sec_order_r2, Ope_sec_order, Ope_poisson_2d, Ope_helmholtz_minus_2d, Ope_poisson_pseudo_1d, Ope_helmholtz_minus_pseudo_1d, and Ope_vorton.
double Ope_elementary::val_sh_one_minus | ( | ) | const [inline] |
Returns the value of the first homogeneous solution at the inner boundary.
Definition at line 196 of file ope_elementary.h.
References s_one_minus.
double Ope_elementary::val_sh_one_plus | ( | ) | const [inline] |
Returns the value of the first homogeneous solution at the outer boundary.
Definition at line 201 of file ope_elementary.h.
References s_one_plus.
double Ope_elementary::val_sh_two_minus | ( | ) | const [inline] |
Returns the value of the second homogeneous solution at the inner boundary.
Definition at line 219 of file ope_elementary.h.
References s_two_minus.
double Ope_elementary::val_sh_two_plus | ( | ) | const [inline] |
Returns the value of the second homogeneous solution at the outer boundary.
Definition at line 224 of file ope_elementary.h.
References s_two_plus.
double Ope_elementary::val_sp_minus | ( | ) | const [inline] |
Returns the value of the particular solution at the inner boundary.
Definition at line 241 of file ope_elementary.h.
References sp_minus.
double Ope_elementary::val_sp_plus | ( | ) | const [inline] |
Returns the value of the particular solution at the outer boundary.
Definition at line 245 of file ope_elementary.h.
References sp_plus.
double Ope_elementary::alpha [protected] |
Parameter of the associated mapping.
Definition at line 104 of file ope_elementary.h.
int Ope_elementary::base_r [protected] |
Radial basis of decomposition.
Definition at line 103 of file ope_elementary.h.
double Ope_elementary::beta [protected] |
Parameter of the associated mapping.
Definition at line 105 of file ope_elementary.h.
double Ope_elementary::ds_one_minus [mutable, protected] |
Value of the derivative of the first homogeneous solution at the inner boundary.
Definition at line 137 of file ope_elementary.h.
double Ope_elementary::ds_one_plus [mutable, protected] |
Value of the derivative of the first homogeneous solution at the outer boundary.
Definition at line 132 of file ope_elementary.h.
double Ope_elementary::ds_two_minus [mutable, protected] |
Value of the derivative of the second homogeneous solution at the inner boundary.
Definition at line 156 of file ope_elementary.h.
double Ope_elementary::ds_two_plus [mutable, protected] |
Value of the derivative of the second homogeneous solution at the outer boundary.
Definition at line 151 of file ope_elementary.h.
double Ope_elementary::dsp_minus [mutable, protected] |
Value of the derivative of the particular solution at the inner boundary.
Definition at line 169 of file ope_elementary.h.
double Ope_elementary::dsp_plus [mutable, protected] |
Value of the derivative of the particular solution at the outer boundary.
Definition at line 173 of file ope_elementary.h.
Matrice* Ope_elementary::non_dege [mutable, protected] |
Pointer on the non-degenerated matrix of the operator.
Definition at line 118 of file ope_elementary.h.
int Ope_elementary::nr [protected] |
Number of radial points.
Definition at line 102 of file ope_elementary.h.
Matrice* Ope_elementary::ope_cl [mutable, protected] |
Pointer on the banded-matrix of the operator.
Definition at line 114 of file ope_elementary.h.
Matrice* Ope_elementary::ope_mat [mutable, protected] |
Pointer on the matrix representation of the operator.
Definition at line 110 of file ope_elementary.h.
double Ope_elementary::s_one_minus [mutable, protected] |
Value of the first homogeneous solution at the inner boundary.
Definition at line 127 of file ope_elementary.h.
double Ope_elementary::s_one_plus [mutable, protected] |
Value of the first homogeneous solution at the outer boundary.
Definition at line 123 of file ope_elementary.h.
double Ope_elementary::s_two_minus [mutable, protected] |
Value of the second homogeneous solution at the inner boundary.
Definition at line 146 of file ope_elementary.h.
double Ope_elementary::s_two_plus [mutable, protected] |
Value of the second homogeneous solution at the outer boundary.
Definition at line 142 of file ope_elementary.h.
double Ope_elementary::sp_minus [mutable, protected] |
Value of the particular solution at the inner boundary.
Definition at line 161 of file ope_elementary.h.
double Ope_elementary::sp_plus [mutable, protected] |
Value of the particular solution at the outer boundary.
Definition at line 165 of file ope_elementary.h.