Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

SmoluchowskiLinearOperator Class Reference

#include <operator.hpp>

Inheritance diagram for SmoluchowskiLinearOperator:

Inheritance graph
[legend]
Collaboration diagram for SmoluchowskiLinearOperator:

Collaboration graph
[legend]
List of all members.

Detailed Description

Linearized smoluchowski operator.

Let Lk be defined in SmoluchowskiCalc and L3[y] is L3 applying to function f(y)=y. Let st be a distribution of particle in the moment of time t=0. Let a(x) = L5[st](x) + L3[y](x) / x, s(x) = 0.5 * L1[st,st](x) + L4[st](x) - a(x) * st(x). Then SmoluchowskiLinearOperator.Apply(g)(x) = a(x) * g(x) - L1[st,g](x) + st(x) * L5[g](x) - L4[g](x) and SmoluchowskiLinearOperator.ApplyAdjoint(g)(x) = a(x) * g(x) + L5[st * g](x) - L2[st,g](x) - L3[g](x).

Definition at line 237 of file operator.hpp.

Public Member Functions

 SmoluchowskiLinearOperator (SmoluchowskiCalc &_base, const double *st)
 Initialize smoluchowski operator.
 ~SmoluchowskiLinearOperator ()
 The destructor.
const double * Get_c0 () const
const double * Get_a () const
virtual void Apply (const double *g, double *res)
 Apply operator.
virtual void ApplyAdjoint (const double *g, double *res)
 Apply adjoint to linearized smoluchowski operator.
SmoluchowskiCalcGetSmolCalc ()
 Get used SmoluchowskiCalc object.
double Get_h () const
 Get the step of uniform grid.

Protected Attributes

unsigned N
double H
double h
SmoluchowskiCalcsmol_base
double * tmp_l


Constructor & Destructor Documentation

SmoluchowskiLinearOperator::SmoluchowskiLinearOperator SmoluchowskiCalc _base,
const double *  st
 

Initialize smoluchowski operator.

Parameters:
_base choose SmoluchowskiCalc realization
st set start distribution of particle

Definition at line 436 of file operator.cpp.

References SmoluchowskiCalc::fix_f_arg().

SmoluchowskiLinearOperator::~SmoluchowskiLinearOperator  ) 
 

The destructor.

Definition at line 450 of file operator.cpp.


Member Function Documentation

const double * SmoluchowskiLinearOperator::Get_c0  )  const
 

Definition at line 456 of file operator.cpp.

const double * SmoluchowskiLinearOperator::Get_a  )  const
 

Definition at line 461 of file operator.cpp.

void SmoluchowskiLinearOperator::Apply const double *  g,
double *  res
[virtual]
 

Apply operator.

Applying smoluchowski operator to function g and result return in res

Parameters:
g double vector values of function g of size of uniform grid (N+1)
res double vector values of function g of size of uniform grid (N+1)

Implements SmoluchowskiOperator.

Definition at line 480 of file operator.cpp.

References SmoluchowskiCalc::calc_L1_fix_f(), SmoluchowskiCalc::calc_L4(), and SmoluchowskiCalc::calc_L5().

Referenced by SmoluchowskiSolver::forward_problem().

void SmoluchowskiLinearOperator::ApplyAdjoint const double *  g,
double *  res
[virtual]
 

Apply adjoint to linearized smoluchowski operator.

Applying adjoint to linearized smoluchowski operator to function g and result return in res

Parameters:
g double vector values of function g of size of uniform grid (N+1)
res double vector values of function g of size of uniform grid (N+1)

Definition at line 494 of file operator.cpp.

References SmoluchowskiCalc::calc_L2_fix_f(), SmoluchowskiCalc::calc_L3(), and SmoluchowskiCalc::calc_L5().

Referenced by SmoluchowskiSolver::adjoint_problem().

SmoluchowskiCalc& SmoluchowskiOperator::GetSmolCalc  )  [inherited]
 

Get used SmoluchowskiCalc object.

Definition at line 198 of file operator.hpp.

References SmoluchowskiOperator::smol_base.

Referenced by SmoluchowskiSolver::adjoint_problem(), SmoluchowskiSolver::forward_problem(), SmoluchowskiSolver::GetN(), and SmoluchowskiSolver::SmoluchowskiSolver().

double SmoluchowskiOperator::Get_h  )  const [inherited]
 

Get the step of uniform grid.

Definition at line 200 of file operator.hpp.

References SmoluchowskiOperator::h.

Referenced by SmoluchowskiSolver::inverse_problem().


Member Data Documentation

unsigned SmoluchowskiOperator::N [protected, inherited]
 

Definition at line 188 of file operator.hpp.

Referenced by SmoluchowskiOperator::SmoluchowskiOperator().

double SmoluchowskiOperator::H [protected, inherited]
 

Definition at line 189 of file operator.hpp.

Referenced by SmoluchowskiOperator::SmoluchowskiOperator().

double SmoluchowskiOperator::h [protected, inherited]
 

Definition at line 189 of file operator.hpp.

Referenced by SmoluchowskiOperator::Get_h(), and SmoluchowskiOperator::SmoluchowskiOperator().

SmoluchowskiCalc& SmoluchowskiOperator::smol_base [protected, inherited]
 

Definition at line 190 of file operator.hpp.

Referenced by SmoluchowskiOperator::GetSmolCalc(), and SmoluchowskiOperator::SmoluchowskiOperator().

double* SmoluchowskiOperator::tmp_l [protected, inherited]
 

Definition at line 191 of file operator.hpp.

Referenced by SmoluchowskiOperator::SmoluchowskiOperator(), and SmoluchowskiOperator::~SmoluchowskiOperator().


The documentation for this class was generated from the following files:
Generated on Sun May 25 01:58:12 2025 for SmoluchowskiSolver by Doxygen