|
| EpotMatrixSolver (Geometry &geom) |
| Constructor. More...
|
|
| EpotMatrixSolver (Geometry &geom, std::istream &s) |
| Construct from file. More...
|
|
void | get_vecmat (const CRowMatrix **A, const Vector **B) |
| Return const pointers to the matrix A and vector B of the linear problem. More...
|
|
void | get_resjac (const CRowMatrix **J, const Vector **R, const Vector &X) |
| Return const pointers to jacobian matrix and residual vector of the problem to J and R at X. More...
|
|
void | set_initial_guess (const MeshScalarField &epot, Vector &X) const |
| Return true if problem is linear. More...
|
|
void | set_solution (MeshScalarField &epot, const Vector &X) const |
| Load electric potential from solution vector. More...
|
|
void | preprocess (MeshScalarField &epot, const MeshScalarField &scharge) |
| Preprocess. More...
|
|
void | postprocess (void) |
| Postprocess. More...
|
|
void | reset_matrix (void) |
| Reset matrix representation. More...
|
|
void | shield_newton (double &rhs, double &drhs, double epot) const |
| Return non-linear right-hand-side and it's derivative for vacuum node in shielding model plasma. More...
|
|
void | pexp_newton (double &rhs, double &drhs, double epot) const |
| Return non-linear right-hand-side and it's derivative for vacuum node in positive ion plasma. More...
|
|
void | nsimp_newton (double &rhs, double &drhs, double epot) const |
| Return non-linear right-hand-side and it's derivative for vacuum node in negative ion plasma. More...
|
|
uint8_t | boundary_index (uint32_t i) const |
| Return bitmask indicating to which boundaries the node belongs to. More...
|
|
uint8_t | boundary_index (uint32_t i, uint32_t j) const |
| Return bitmask indicating to which boundaries the node belongs to. More...
|
|
uint8_t | boundary_index (uint32_t i, uint32_t j, uint32_t k) const |
| Return bitmask indicating to which boundaries the node belongs to. More...
|
|
uint8_t | boundary_index_general (uint32_t i, uint32_t j, uint32_t k) const |
| Return bitmask indicating to which boundaries the node belongs to. More...
|
|
void | preprocess (MeshScalarField &epot) |
| Do preprocessing action before solving. More...
|
|
void | postprocess (void) |
| Do postprocessing action after solving. More...
|
|
virtual void | reset_problem (void)=0 |
| Reset solver/problem settings. More...
|
|
MeshScalarField * | evaluate_scharge (const ScalarField &__scharge) const |
|
virtual void | subsolve (MeshScalarField &epot, const MeshScalarField &scharge)=0 |
| Solve problem with given mesh based space charge. More...
|
|
|
uint32_t | _dof |
| Degrees of freedom. More...
|
|
Node2DoF | _n2d |
| Nodes to degrees of freedom map. More...
|
|
CRowMatrix * | _fd_mat |
| Finite Difference matrix. More...
|
|
Vector * | _fd_vec |
| Finite Difference vector. More...
|
|
Vector * | _d_vec |
| Derivative vector for nonlinear solution. More...
|
|
const Vector * | _sol |
| Current solution vector. More...
|
|
MeshScalarField * | _epot |
|
const MeshScalarField * | _scharge |
|
Geometry & | _geom |
| Geometry reference. More...
|
|
plasma_mode_e | _plasma |
| Plasma simulation mode. More...
|
|
double | _rhoe |
| Electron charge density (C/m3), < 0. More...
|
|
double | _Te |
| Electron thermal energy, > 0. More...
|
|
double | _Up |
| Plasma potential, > 0. More...
|
|
std::vector< double > | _rhoi |
| Charge density for positive ions, first fast protons, then thermal ions. More...
|
|
std::vector< double > | _Ei |
| Energy for positive ions, first fast protons, then thermal ions. More...
|
|
double | _force_pot |
| Potential to be forced. More...
|
|
CallbackFunctorB_V * | _force_pot_func |
| Force region potential function. More...
|
|
CallbackFunctorD_V * | _force_pot_func2 |
| Force region potential function. More...
|
|
CallbackFunctorB_V * | _init_plasma_func |
| Initial plasma region function. More...
|
|
CallbackFunctorB_V * | _plasma_calc_func |
| Definition of plasma calculation region. More...
|
|
double | _plA |
| Plasma parameter. For positive ion extraction: rho_th * h^2 / epsilon_0, for negative ion extraction: rho_f * h^2 / epsilon_0 for shield1: 1/Tm. More...
|
|
double | _plB |
| Plasma parameter. For positive ion extraction: 1/Te, for negative ion extraction: E_f,i for shield1: phi_m/Tm. More...
|
|
double | _plC |
| Plasma parameter for positive ion extraction. Up/Te. More...
|
|
std::vector< double > | _plD |
| Plasma parameter for negative ion extraction. rho_th,i * h^2 / epsilon_0. More...
|
|
std::vector< double > | _plE |
| Plasma parameter for negative ion extraction. 1/Ti. More...
|
|
Parent class for Matrix-based solvers for Electric potential problem.