|
| virtual | ~EpotMatrixSolver () |
| | Destructor. More...
|
| |
| virtual void | debug_print (std::ostream &os) const |
| | Print debugging information to os. More...
|
| |
| virtual void | save (std::ostream &s) const |
| | Saves problem data to stream. More...
|
| |
| | EpotSolver (Geometry &geom) |
| | Constructor for solver from geom. More...
|
| |
| | EpotSolver (const EpotSolver &epsolver, Geometry &geom) |
| | Constructor for solver from geom. Parameters from epsolver are copied to new solver. More...
|
| |
| | EpotSolver (Geometry &geom, std::istream &s) |
| | Construct from file. More...
|
| |
| virtual | ~EpotSolver () |
| | Destructor. More...
|
| |
| void | set_parameters (const EpotSolver &epsolver) |
| | Copy parameters from solver epsolver. More...
|
| |
| void | set_forced_potential_volume (double force_pot, CallbackFunctorB_V *force_pot_func) |
| | Define forced potential volume. More...
|
| |
| void | set_forced_potential_volume (CallbackFunctorD_V *force_pot_func) |
| | Define forced potential volume. More...
|
| |
| void | set_initial_plasma (double Up, CallbackFunctorB_V *init_plasma_func) |
| | Define initial plasma to the problem. More...
|
| |
| void | set_pexp_plasma (double rhoe, double Te, double Up) |
| | Enable plasma model for positive ion extraction problem. More...
|
| |
| void | set_nsimp_initial_plasma (CallbackFunctorB_V *init_plasma_func) |
| | Define initial plasma boundary location to negative ion extraction problem. More...
|
| |
| void | set_nsimp_plasma (double rhop, double Ep, std::vector< double > rhoi, std::vector< double > Ei) |
| | Enable plasma model for negative ion extraction problem. More...
|
| |
| void | solve (MeshScalarField &epot, const ScalarField &scharge) |
| | Solve the problem. More...
|
| |
| bool | linear (void) const |
| | Return true if problem is linear. More...
|
| |
| const Geometry & | geometry (void) const |
| | Get pointer to geometry. More...
|
| |
|
| | 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...
|
| |
| bool | linear (void) const |
| | Return true if problem is linear. More...
|
| |
| void | set_initial_guess (const MeshScalarField &epot, Vector &X) const |
| | Load initial solution vector from electric potential. 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 | 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...
|
| |
| double | _plA |
| | Plasma parameter. For positive ion extraction: rho_th * h^2 / epsilon_0, for negative ion extraction: rho_f * h^2 / epsilon_0. More...
|
| |
| double | _plB |
| | Plasma parameter. For positive ion extraction: 1/Te, for negative ion extraction: E_f,i. 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.