Gyselalib++
 
Loading...
Searching...
No Matches
IQNSolver Class Referenceabstract

Base class for a Quasi-Neutrality solver. More...

Inheritance diagram for IQNSolver:
NullQNSolver NullQNSolver QNSolver QNSolver

Public Member Functions

virtual void operator() (host_t< DFieldRTheta > electrostatic_potential, host_t< DVectorFieldRTheta< X, Y > > electric_field, host_t< DConstFieldRTheta > allfdistribu) const =0
 Compute the electrical potential and the electric field from the Quasi-Neutrality equation.
 
virtual void operator() (DFieldX electrostatic_potential, DFieldX electric_field, DConstFieldSpXVx allfdistribu) const =0
 The operator which solves the equation using the method described by the class.
 
virtual void operator() (DFieldXY electrostatic_potential, DFieldXY electric_field_x, DFieldXY electric_field_y, DConstFieldSpXYVxVy allfdistribu) const =0
 The operator which solves the equation using the method described by the class.
 

Detailed Description

Base class for a Quasi-Neutrality solver.

An operator which solves the Quasi-Neutrality equation using a fast Fourier transform.

An operator which solves the Quasi-Neutrality equation.

An operator which solves the Quasi-Neutrality equation: \( - \frac{d^2 \phi}{dx^2} = \rho \)

An operator which solves the Quasi-Neutrality equation: \( - \frac{d^2 \phi}{dx^2} = \rho \) using a fast Fourier transform on a periodic index range. This operator only works for equidistant points.

Member Function Documentation

◆ operator()() [1/3]

virtual void IQNSolver::operator() ( host_t< DFieldRTheta >  electrostatic_potential,
host_t< DVectorFieldRTheta< X, Y > >  electric_field,
host_t< DConstFieldRTheta >  allfdistribu 
) const
pure virtual

Compute the electrical potential and the electric field from the Quasi-Neutrality equation.

Parameters
[out]electrostatic_potentialThe solution of the Quasi-Neutrality equation.
[out]electric_fieldThe electric field \(E = -\nabla \phi\).
[in]allfdistribuThe rhs of the Quasi-Neutrality equation.

◆ operator()() [2/3]

virtual void IQNSolver::operator() ( DFieldX  electrostatic_potential,
DFieldX  electric_field,
DConstFieldSpXVx  allfdistribu 
) const
pure virtual

The operator which solves the equation using the method described by the class.

Parameters
[out]electrostatic_potentialThe electrostatic potential, the result of the poisson solver.
[out]electric_fieldThe electric field, the derivative of the electrostatic potential.
[in]allfdistribuThe distribution function.

Implemented in NullQNSolver, and QNSolver.

◆ operator()() [3/3]

virtual void IQNSolver::operator() ( DFieldXY  electrostatic_potential,
DFieldXY  electric_field_x,
DFieldXY  electric_field_y,
DConstFieldSpXYVxVy  allfdistribu 
) const
pure virtual

The operator which solves the equation using the method described by the class.

Parameters
[out]electrostatic_potentialThe electrostatic potential, the result of the poisson solver.
[out]electric_field_xThe x-component of the electric field, the gradient of the electrostatic potential.
[out]electric_field_yThe y-component of the electric field, the gradient of the electrostatic potential.
[in]allfdistribuThe distribution function.

Implemented in NullQNSolver, and QNSolver.


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