Class for the operator of the Poisson equation (i.e. More...
#include <ope_elementary.h>
Public Member Functions | |
Ope_poisson (int nbr, int baser, double alf, double bet, int lq, int dz) | |
Standard constructor. | |
Ope_poisson (const Ope_poisson &) | |
Constructor by copy. | |
virtual | ~Ope_poisson () |
Destructor. | |
int | get_dzpuis () |
Returns the associated dzpuis, if in the compactified domain. | |
int | get_lquant () |
Returns the quantum number l. | |
virtual Tbl | get_solp (const Tbl &so) const |
Computes the particular solution, given the source so . | |
virtual Tbl | get_solh () const |
Computes the homogeneous solutions(s). | |
virtual void | inc_l_quant () |
Increases the quatum number l by one unit. | |
virtual void | dec_l_quant () |
Decreases the quatum number l by one unit. | |
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. | |
Protected Attributes | |
int | l_quant |
quantum number | |
int | dzpuis |
the associated dzpuis, if in the compactified domain. | |
int | nr |
Number of radial points. | |
int | base_r |
Radial basis of decomposition. | |
double | alpha |
Parameter of the associated mapping. | |
double | beta |
Parameter of the associated mapping. | |
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 |
Computes the matrix of the operator. | |
virtual void | do_ope_cl () const |
Computes the banded-matrix of the operator. | |
virtual void | do_non_dege () const |
Computes the non-degenerated matrix of the operator. |
Class for the operator of the Poisson equation (i.e.
the Laplacian !).
It is implemented in every type of domains.
Definition at line 325 of file ope_elementary.h.
Lorene::Ope_poisson::Ope_poisson | ( | int | nbr, | |
int | baser, | |||
double | alf, | |||
double | bet, | |||
int | lq, | |||
int | dz | |||
) |
Standard constructor.
nbr | [input] number of radial points. | |
baser | [input] radial basis of decomposition. | |
alf | [input] parameter of the mapping. | |
bet | [input] parameter of the mapping. | |
lq | [input] quantum number l . | |
dz | [input] dzpuis of the source. |
Definition at line 49 of file ope_poisson.C.
References dzpuis.
Lorene::Ope_poisson::Ope_poisson | ( | const Ope_poisson & | so | ) |
Lorene::Ope_poisson::~Ope_poisson | ( | ) | [virtual] |
Destructor.
Definition at line 64 of file ope_poisson.C.
void Lorene::Ope_poisson::dec_l_quant | ( | ) | [virtual] |
Decreases the quatum number l by one unit.
Definition at line 158 of file ope_poisson.C.
References l_quant, Lorene::Ope_elementary::non_dege, Lorene::Ope_elementary::ope_cl, and Lorene::Ope_elementary::ope_mat.
double Lorene::Ope_elementary::der_sh_one_minus | ( | ) | const [inline, inherited] |
Returns the value of the derivative of the first homogeneous solution at the inner boundary.
Definition at line 211 of file ope_elementary.h.
References Lorene::Ope_elementary::ds_one_minus.
double Lorene::Ope_elementary::der_sh_one_plus | ( | ) | const [inline, inherited] |
Returns the value of the derivative of the first homogeneous solution at the outer boundary.
Definition at line 217 of file ope_elementary.h.
References Lorene::Ope_elementary::ds_one_plus.
double Lorene::Ope_elementary::der_sh_two_minus | ( | ) | const [inline, inherited] |
Returns the value of the derivative of the second homogeneous solution at the inner boundary.
Definition at line 234 of file ope_elementary.h.
References Lorene::Ope_elementary::ds_two_minus.
double Lorene::Ope_elementary::der_sh_two_plus | ( | ) | const [inline, inherited] |
Returns the value of the derivative of the second homogeneous solution at the outer boundary.
Definition at line 240 of file ope_elementary.h.
References Lorene::Ope_elementary::ds_two_plus.
double Lorene::Ope_elementary::der_sp_minus | ( | ) | const [inline, inherited] |
Returns the value of the derivative particular solution at the inner boundary.
Definition at line 254 of file ope_elementary.h.
References Lorene::Ope_elementary::dsp_minus.
double Lorene::Ope_elementary::der_sp_plus | ( | ) | const [inline, inherited] |
Returns the value of the derivative particular solution at the outer boundary.
Definition at line 259 of file ope_elementary.h.
References Lorene::Ope_elementary::dsp_plus.
void Lorene::Ope_poisson::do_non_dege | ( | ) | const [private, virtual] |
Computes the non-degenerated matrix of the operator.
Implements Lorene::Ope_elementary.
Reimplemented in Lorene::Ope_pois_vect_r, and Lorene::Ope_pois_tens_rr.
Definition at line 86 of file ope_poisson.C.
References Lorene::Ope_elementary::alpha, Lorene::Ope_elementary::base_r, Lorene::Ope_elementary::beta, do_ope_cl(), dzpuis, l_quant, Lorene::Ope_elementary::non_dege, and Lorene::Ope_elementary::ope_cl.
void Lorene::Ope_poisson::do_ope_cl | ( | ) | const [private, virtual] |
Computes the banded-matrix of the operator.
Implements Lorene::Ope_elementary.
Reimplemented in Lorene::Ope_pois_vect_r, and Lorene::Ope_pois_tens_rr.
Definition at line 75 of file ope_poisson.C.
References Lorene::Ope_elementary::alpha, Lorene::Ope_elementary::base_r, Lorene::Ope_elementary::beta, do_ope_mat(), dzpuis, l_quant, Lorene::Ope_elementary::ope_cl, and Lorene::Ope_elementary::ope_mat.
void Lorene::Ope_poisson::do_ope_mat | ( | ) | const [private, virtual] |
Computes the matrix of the operator.
Implements Lorene::Ope_elementary.
Reimplemented in Lorene::Ope_pois_vect_r, and Lorene::Ope_pois_tens_rr.
Definition at line 67 of file ope_poisson.C.
References Lorene::Ope_elementary::alpha, Lorene::Ope_elementary::base_r, Lorene::Ope_elementary::beta, dzpuis, l_quant, Lorene::Ope_elementary::nr, and Lorene::Ope_elementary::ope_mat.
double Lorene::Ope_elementary::get_alpha | ( | ) | const [inline, inherited] |
Returns alpha
.
Definition at line 262 of file ope_elementary.h.
References Lorene::Ope_elementary::alpha.
int Lorene::Ope_elementary::get_base_r | ( | ) | const [inline, inherited] |
Returns base_r}
.
Definition at line 268 of file ope_elementary.h.
References Lorene::Ope_elementary::base_r.
double Lorene::Ope_elementary::get_beta | ( | ) | const [inline, inherited] |
Returns beta}
.
Definition at line 265 of file ope_elementary.h.
References Lorene::Ope_elementary::beta.
int Lorene::Ope_poisson::get_dzpuis | ( | ) | [inline] |
Returns the associated dzpuis, if in the compactified domain.
Definition at line 347 of file ope_elementary.h.
References dzpuis.
int Lorene::Ope_poisson::get_lquant | ( | ) | [inline] |
Matrice Lorene::Ope_elementary::get_non_dege | ( | ) | [inline, inherited] |
Returns the non degenerate matrix representation.
Definition at line 285 of file ope_elementary.h.
References Lorene::Ope_elementary::do_non_dege(), and Lorene::Ope_elementary::non_dege.
Matrice Lorene::Ope_elementary::get_ope_cl | ( | ) | [inline, inherited] |
Returns the banded matrix representation.
Definition at line 278 of file ope_elementary.h.
References Lorene::Ope_elementary::do_ope_cl(), and Lorene::Ope_elementary::ope_cl.
Matrice Lorene::Ope_elementary::get_ope_mat | ( | ) | [inline, inherited] |
Returns the matrix representation.
Definition at line 271 of file ope_elementary.h.
References Lorene::Ope_elementary::do_ope_mat(), and Lorene::Ope_elementary::ope_mat.
Tbl Lorene::Ope_poisson::get_solh | ( | ) | const [virtual] |
Computes the homogeneous solutions(s).
Implements Lorene::Ope_elementary.
Reimplemented in Lorene::Ope_pois_vect_r, and Lorene::Ope_pois_tens_rr.
Definition at line 113 of file ope_poisson.C.
References Lorene::Ope_elementary::alpha, Lorene::Ope_elementary::base_r, Lorene::Ope_elementary::beta, Lorene::Ope_elementary::ds_one_minus, Lorene::Ope_elementary::ds_one_plus, Lorene::Ope_elementary::ds_two_minus, Lorene::Ope_elementary::ds_two_plus, Lorene::Tbl::get_ndim(), l_quant, Lorene::Ope_elementary::nr, Lorene::Ope_elementary::s_one_minus, Lorene::Ope_elementary::s_one_plus, Lorene::Ope_elementary::s_two_minus, and Lorene::Ope_elementary::s_two_plus.
Computes the particular solution, given the source so
.
Implements Lorene::Ope_elementary.
Definition at line 97 of file ope_poisson.C.
References Lorene::Ope_elementary::alpha, Lorene::Ope_elementary::base_r, Lorene::Ope_elementary::beta, do_non_dege(), Lorene::Ope_elementary::dsp_minus, Lorene::Ope_elementary::dsp_plus, dzpuis, Lorene::Ope_elementary::non_dege, Lorene::Ope_elementary::ope_mat, Lorene::Ope_elementary::sp_minus, and Lorene::Ope_elementary::sp_plus.
void Lorene::Ope_poisson::inc_l_quant | ( | ) | [virtual] |
Increases the quatum number l by one unit.
Implements Lorene::Ope_elementary.
Definition at line 139 of file ope_poisson.C.
References l_quant, Lorene::Ope_elementary::non_dege, Lorene::Ope_elementary::ope_cl, and Lorene::Ope_elementary::ope_mat.
double Lorene::Ope_elementary::val_sh_one_minus | ( | ) | const [inline, inherited] |
Returns the value of the first homogeneous solution at the inner boundary.
Definition at line 200 of file ope_elementary.h.
References Lorene::Ope_elementary::s_one_minus.
double Lorene::Ope_elementary::val_sh_one_plus | ( | ) | const [inline, inherited] |
Returns the value of the first homogeneous solution at the outer boundary.
Definition at line 205 of file ope_elementary.h.
References Lorene::Ope_elementary::s_one_plus.
double Lorene::Ope_elementary::val_sh_two_minus | ( | ) | const [inline, inherited] |
Returns the value of the second homogeneous solution at the inner boundary.
Definition at line 223 of file ope_elementary.h.
References Lorene::Ope_elementary::s_two_minus.
double Lorene::Ope_elementary::val_sh_two_plus | ( | ) | const [inline, inherited] |
Returns the value of the second homogeneous solution at the outer boundary.
Definition at line 228 of file ope_elementary.h.
References Lorene::Ope_elementary::s_two_plus.
double Lorene::Ope_elementary::val_sp_minus | ( | ) | const [inline, inherited] |
Returns the value of the particular solution at the inner boundary.
Definition at line 245 of file ope_elementary.h.
References Lorene::Ope_elementary::sp_minus.
double Lorene::Ope_elementary::val_sp_plus | ( | ) | const [inline, inherited] |
Returns the value of the particular solution at the outer boundary.
Definition at line 249 of file ope_elementary.h.
References Lorene::Ope_elementary::sp_plus.
double Lorene::Ope_elementary::alpha [protected, inherited] |
Parameter of the associated mapping.
Definition at line 108 of file ope_elementary.h.
int Lorene::Ope_elementary::base_r [protected, inherited] |
Radial basis of decomposition.
Definition at line 107 of file ope_elementary.h.
double Lorene::Ope_elementary::beta [protected, inherited] |
Parameter of the associated mapping.
Definition at line 109 of file ope_elementary.h.
double Lorene::Ope_elementary::ds_one_minus [mutable, protected, inherited] |
Value of the derivative of the first homogeneous solution at the inner boundary.
Definition at line 141 of file ope_elementary.h.
double Lorene::Ope_elementary::ds_one_plus [mutable, protected, inherited] |
Value of the derivative of the first homogeneous solution at the outer boundary.
Definition at line 136 of file ope_elementary.h.
double Lorene::Ope_elementary::ds_two_minus [mutable, protected, inherited] |
Value of the derivative of the second homogeneous solution at the inner boundary.
Definition at line 160 of file ope_elementary.h.
double Lorene::Ope_elementary::ds_two_plus [mutable, protected, inherited] |
Value of the derivative of the second homogeneous solution at the outer boundary.
Definition at line 155 of file ope_elementary.h.
double Lorene::Ope_elementary::dsp_minus [mutable, protected, inherited] |
Value of the derivative of the particular solution at the inner boundary.
Definition at line 173 of file ope_elementary.h.
double Lorene::Ope_elementary::dsp_plus [mutable, protected, inherited] |
Value of the derivative of the particular solution at the outer boundary.
Definition at line 177 of file ope_elementary.h.
int Lorene::Ope_poisson::dzpuis [protected] |
the associated dzpuis, if in the compactified domain.
Definition at line 329 of file ope_elementary.h.
int Lorene::Ope_poisson::l_quant [protected] |
quantum number
Definition at line 328 of file ope_elementary.h.
Matrice* Lorene::Ope_elementary::non_dege [mutable, protected, inherited] |
Pointer on the non-degenerated matrix of the operator.
Definition at line 122 of file ope_elementary.h.
int Lorene::Ope_elementary::nr [protected, inherited] |
Number of radial points.
Definition at line 106 of file ope_elementary.h.
Matrice* Lorene::Ope_elementary::ope_cl [mutable, protected, inherited] |
Pointer on the banded-matrix of the operator.
Definition at line 118 of file ope_elementary.h.
Matrice* Lorene::Ope_elementary::ope_mat [mutable, protected, inherited] |
Pointer on the matrix representation of the operator.
Definition at line 114 of file ope_elementary.h.
double Lorene::Ope_elementary::s_one_minus [mutable, protected, inherited] |
Value of the first homogeneous solution at the inner boundary.
Definition at line 131 of file ope_elementary.h.
double Lorene::Ope_elementary::s_one_plus [mutable, protected, inherited] |
Value of the first homogeneous solution at the outer boundary.
Definition at line 127 of file ope_elementary.h.
double Lorene::Ope_elementary::s_two_minus [mutable, protected, inherited] |
Value of the second homogeneous solution at the inner boundary.
Definition at line 150 of file ope_elementary.h.
double Lorene::Ope_elementary::s_two_plus [mutable, protected, inherited] |
Value of the second homogeneous solution at the outer boundary.
Definition at line 146 of file ope_elementary.h.
double Lorene::Ope_elementary::sp_minus [mutable, protected, inherited] |
Value of the particular solution at the inner boundary.
Definition at line 165 of file ope_elementary.h.
double Lorene::Ope_elementary::sp_plus [mutable, protected, inherited] |
Value of the particular solution at the outer boundary.
Definition at line 169 of file ope_elementary.h.