#include <operator.hpp>
Inheritance diagram for SmoluchowskiCalc:
Class defined functions to calculate results of applying operators Lk needed by smolychowski operators by trapezoidal rule. There are:
Definition at line 26 of file operator.hpp.
Public Member Functions | |
SmoluchowskiCalc (const Skeleton &K_skel, const Skeleton &Psi_skel, double _H, unsigned _N) | |
Initialize smoluchowski calculation. | |
virtual | ~SmoluchowskiCalc () |
The destructor. | |
unsigned | GetN () const |
Get the size of uniform grid. | |
double | GetH () const |
Get the endpoint of segment [0;H]. | |
virtual void | calc_L1 (const double *f, const double *g, double *res)=0 |
Calculate int_{0}^{x}{K(x-y,y)f(x-y)g(y)dy}. | |
virtual void | calc_L2 (const double *f, const double *g, double *res)=0 |
Calculate int_{x}^{H}{K(y-x,x)f(y-x)g(y)dy}. | |
virtual void | fix_f_arg (const double *f)=0 |
Fix argument f in calc_L1 and calc_L2; see calc_L1_fix_f, calc_L2_fix_f. | |
virtual void | calc_L1_fix_f (const double *g, double *res)=0 |
Calculate calc_L1 with previously saved argument f. | |
virtual void | calc_L2_fix_f (const double *g, double *res)=0 |
Calculate calc_L2 with previously saved argument f. | |
virtual void | calc_L3 (const double *g, double *res) const =0 |
Calculate int_{0}^{x}{Psi(x,y)g(y)dy}. | |
virtual void | calc_L4 (const double *g, double *res) const =0 |
Calculate int_{x}^{H}{Psi(y,x)g(y)dy}. | |
virtual void | calc_L5 (const double *g, double *res) const =0 |
Calculate int_{0}^{H}{K(x,y)g(y)dy}. | |
Protected Attributes | |
const Skeleton & | K |
const Skeleton & | Psi |
unsigned | N |
double | H |
double | h |
|
Initialize smoluchowski calculation. Let K, Psi be a coagulation and fragmentation kernel defined on [0;H]x[0;H]. Let NxN be a size of uniform grid on [0;H]x[0;H].
Definition at line 4 of file operator.cpp. |
|
The destructor.
Definition at line 45 of file operator.hpp. |
|
Get the size of uniform grid.
Definition at line 47 of file operator.hpp. References N. Referenced by SmoluchowskiSolver::adjoint_problem(), SmoluchowskiSolver::forward_problem(), SmoluchowskiSolver::GetN(), SmoluchowskiSolver::inverse_problem(), SmoluchowskiOperator::SmoluchowskiOperator(), and SmoluchowskiSolver::SmoluchowskiSolver(). |
|
Get the endpoint of segment [0;H].
Definition at line 49 of file operator.hpp. References H. Referenced by SmoluchowskiOperator::SmoluchowskiOperator(). |
|
Calculate int_{0}^{x}{K(x-y,y)f(x-y)g(y)dy}. Find res(x) = int_{0}^{x}{K(x-y,y)f(x-y)g(y)dy} by trapezoidal rule on uniform grid.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. Referenced by SmoluchowskiNonLinearOperator::Apply(). |
|
Calculate int_{x}^{H}{K(y-x,x)f(y-x)g(y)dy}. Find res(x) = int_{x}^{H}{K(y-x,x)f(y-x)g(y)dy} by trapezoidal rule on uniform grid.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. |
|
Fix argument f in calc_L1 and calc_L2; see calc_L1_fix_f, calc_L2_fix_f.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. Referenced by SmoluchowskiLinearOperator::SmoluchowskiLinearOperator(). |
|
Calculate calc_L1 with previously saved argument f. Find res(x) = int_{0}^{x}{K(x-y,y)f(x-y)g(y)dy} by trapezoidal rule on uniform grid with f saved by fix_f_arg.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. Referenced by SmoluchowskiLinearOperator::Apply(). |
|
Calculate calc_L2 with previously saved argument f. Find res(x) = int_{x}^{H}{K(y-x,x)f(y-x)g(y)dy} by trapezoidal rule on uniform grid with f saved by fix_f_arg.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. Referenced by SmoluchowskiLinearOperator::ApplyAdjoint(). |
|
Calculate int_{0}^{x}{Psi(x,y)g(y)dy}. Find res(x) = int_{0}^{x}{Psi(x,y)g(y)dy} by trapezoidal rule on uniform grid.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. Referenced by SmoluchowskiNonLinearOperator::Apply(), and SmoluchowskiLinearOperator::ApplyAdjoint(). |
|
Calculate int_{x}^{H}{Psi(y,x)g(y)dy}. Find res(x) = int_{x}^{H}{Psi(y,x)g(y)dy} by trapezoidal rule on uniform grid.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. Referenced by SmoluchowskiLinearOperator::Apply(), and SmoluchowskiNonLinearOperator::Apply(). |
|
Calculate int_{0}^{H}{K(x,y)g(y)dy}. Find res(x) = int_{0}^{H}{K(x,y)g(y)dy} by trapezoidal rule on uniform grid.
Implemented in SmoluchowskiCalcDirect, and SmoluchowskiCalcFast. Referenced by SmoluchowskiLinearOperator::Apply(), SmoluchowskiNonLinearOperator::Apply(), and SmoluchowskiLinearOperator::ApplyAdjoint(). |
|
Definition at line 28 of file operator.hpp. |
|
Definition at line 29 of file operator.hpp. |
|
Definition at line 30 of file operator.hpp. Referenced by GetN(). |
|
Definition at line 31 of file operator.hpp. Referenced by GetH(). |
|
Definition at line 31 of file operator.hpp. |