Project
Loading...
Searching...
No Matches
o2::tpc::PoissonSolver< DataT > Class Template Reference

#include <PoissonSolver.h>

Public Types

using RegularGrid = RegularGrid3D< DataT >
 
using DataContainer = DataContainer3D< DataT >
 
using Vector = Vector3D< DataT >
 

Public Member Functions

 PoissonSolver (const RegularGrid &gridProperties)
 default constructor
 
void poissonSolver3D (DataContainer &matricesV, const DataContainer &matricesCharge, const int symmetry)
 
void poissonSolver2D (DataContainer &matricesV, const DataContainer &matricesCharge)
 
DataT getSpacingZ () const
 
DataT getSpacingR () const
 
DataT getSpacingPhi () const
 

Static Public Member Functions

static void setConvergenceError (const DataT error)
 
static DataT getConvergenceError ()
 
static int getNThreads ()
 get the number of threads used for some of the calculations
 
static void setNThreads (int nThreads)
 set the number of threads used for some of the calculations
 

Detailed Description

template<typename DataT = double>
class o2::tpc::PoissonSolver< DataT >
Template Parameters
DataTthe type of data which is used during the calculations

The PoissonSolver class represents methods to solve the poisson equation. Original version with more methods can be found in AliTPCPoissonSolver. Following methods are implemented: poissonSolver3D, poissonSolver3D2D, poissonSolver2D

Definition at line 48 of file PoissonSolver.h.

Member Typedef Documentation

◆ DataContainer

template<typename DataT = double>
using o2::tpc::PoissonSolver< DataT >::DataContainer = DataContainer3D<DataT>

Definition at line 52 of file PoissonSolver.h.

◆ RegularGrid

template<typename DataT = double>
using o2::tpc::PoissonSolver< DataT >::RegularGrid = RegularGrid3D<DataT>

Definition at line 51 of file PoissonSolver.h.

◆ Vector

template<typename DataT = double>
using o2::tpc::PoissonSolver< DataT >::Vector = Vector3D<DataT>

Definition at line 53 of file PoissonSolver.h.

Constructor & Destructor Documentation

◆ PoissonSolver()

template<typename DataT = double>
o2::tpc::PoissonSolver< DataT >::PoissonSolver ( const RegularGrid gridProperties)
inline

default constructor

Definition at line 56 of file PoissonSolver.h.

Member Function Documentation

◆ getConvergenceError()

template<typename DataT = double>
static DataT o2::tpc::PoissonSolver< DataT >::getConvergenceError ( )
inlinestatic

Definition at line 90 of file PoissonSolver.h.

◆ getNThreads()

template<typename DataT = double>
static int o2::tpc::PoissonSolver< DataT >::getNThreads ( )
inlinestatic

get the number of threads used for some of the calculations

Definition at line 93 of file PoissonSolver.h.

◆ getSpacingPhi()

template<typename DataT = double>
DataT o2::tpc::PoissonSolver< DataT >::getSpacingPhi ( ) const
inline

Definition at line 86 of file PoissonSolver.h.

◆ getSpacingR()

template<typename DataT = double>
DataT o2::tpc::PoissonSolver< DataT >::getSpacingR ( ) const
inline

Definition at line 85 of file PoissonSolver.h.

◆ getSpacingZ()

template<typename DataT = double>
DataT o2::tpc::PoissonSolver< DataT >::getSpacingZ ( ) const
inline

Definition at line 84 of file PoissonSolver.h.

◆ poissonSolver2D()

template<typename DataT >
void PoissonSolver::poissonSolver2D ( DataContainer matricesV,
const DataContainer matricesCharge 
)

Provides poisson solver in 2D

Based on the strategy (multi grid)

Parameters
matricesVpotential in matrix
matricesChargecharge density in matrix (side effect

Definition at line 53 of file PoissonSolver.cxx.

◆ poissonSolver3D()

template<typename DataT >
void PoissonSolver::poissonSolver3D ( DataContainer matricesV,
const DataContainer matricesCharge,
const int  symmetry 
)

Provides poisson solver in Cylindrical 3D (TPC geometry)

Strategy based on parameter settings (mMgParameters)provided

  • Cascaded multi grid with S.O.R
  • Geometric MultiGrid
    • Cycles: V, W, Full
    • Relaxation: Jacobi, Weighted-Jacobi, Gauss-Seidel
    • Grid transfer operators: Full, Half
  • Spectral Methods (TODO)
Parameters
matricesVpotential in 3D
matricesChargecharge density in 3D (side effect)
symmetrysymmetry or not
Precondition
Charge density distribution in matricesCharge is known and boundary values for matricesV are set
Postcondition
Numerical solution for potential distribution is calculated and stored in each rod at matricesV

Definition at line 37 of file PoissonSolver.cxx.

◆ setConvergenceError()

template<typename DataT = double>
static void o2::tpc::PoissonSolver< DataT >::setConvergenceError ( const DataT  error)
inlinestatic

Definition at line 88 of file PoissonSolver.h.

◆ setNThreads()

template<typename DataT = double>
static void o2::tpc::PoissonSolver< DataT >::setNThreads ( int  nThreads)
inlinestatic

set the number of threads used for some of the calculations

Definition at line 96 of file PoissonSolver.h.


The documentation for this class was generated from the following files: