epot_solver.hpp
Go to the documentation of this file.
General callback functors.
Definition: callback.hpp:75
Definition: callback.hpp:61
Class for constructing the linear/nonlinear problem for the solver.
Definition: epot_solver.hpp:210
CallbackFunctorB_V * _init_plasma_func
Initial plasma region function.
Definition: epot_solver.hpp:230
CallbackFunctorB_V * _force_pot_func
Force region potential function.
Definition: epot_solver.hpp:228
uint8_t boundary_index(uint32_t i) const
Return bitmask indicating to which boundaries the node belongs to.
Definition: epot_solver.cpp:455
double _plA
Plasma parameter. For positive ion extraction: rho_th * h^2 / epsilon_0, for negative ion extraction:...
Definition: epot_solver.hpp:233
void postprocess(void)
Do postprocessing action after solving.
Definition: epot_solver.cpp:352
void set_nsimp_plasma(double rhop, double Ep, std::vector< double > rhoi, std::vector< double > Ei)
Enable plasma model for negative ion extraction problem.
Definition: epot_solver.cpp:164
EpotSolver(Geometry &geom)
Constructor for solver from geom.
Definition: epot_solver.cpp:57
void set_nsimp_initial_plasma(CallbackFunctorB_V *init_plasma_func)
Define initial plasma boundary location to negative ion extraction problem.
Definition: epot_solver.cpp:153
std::vector< double > _plD
Plasma parameter for negative ion extraction. rho_th,i * h^2 / epsilon_0.
Definition: epot_solver.hpp:244
std::vector< double > _plE
Plasma parameter for negative ion extraction. 1/Ti.
Definition: epot_solver.hpp:246
std::vector< double > _Ei
Energy for positive ions, first fast protons, then thermal ions.
Definition: epot_solver.hpp:224
double _plC
Plasma parameter for positive ion extraction. Up/Te.
Definition: epot_solver.hpp:241
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.
Definition: epot_solver.cpp:208
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.
Definition: epot_solver.cpp:215
void set_plasma_calc_region(CallbackFunctorB_V *plasma_calc_func)
Define plasma calculation region.
Definition: epot_solver.cpp:134
void set_initial_plasma(double Up, CallbackFunctorB_V *init_plasma_func)
Define initial plasma to the problem.
Definition: epot_solver.cpp:122
void set_pexp_plasma(double rhoe, double Te, double Up)
Enable plasma model for positive ion extraction problem.
Definition: epot_solver.cpp:141
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.
Definition: epot_solver.cpp:500
std::vector< double > _rhoi
Charge density for positive ions, first fast protons, then thermal ions.
Definition: epot_solver.hpp:222
void set_parameters(const EpotSolver &epsolver)
Copy parameters from solver epsolver.
Definition: epot_solver.cpp:92
CallbackFunctorB_V * _plasma_calc_func
Definition of plasma calculation region.
Definition: epot_solver.hpp:231
CallbackFunctorD_V * _force_pot_func2
Force region potential function.
Definition: epot_solver.hpp:229
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.
Definition: epot_solver.cpp:200
double _plB
Plasma parameter. For positive ion extraction: 1/Te, for negative ion extraction: E_f,...
Definition: epot_solver.hpp:237
void preprocess(MeshScalarField &epot)
Do preprocessing action before solving.
Definition: epot_solver.cpp:247
void set_forced_potential_volume(double force_pot, CallbackFunctorB_V *force_pot_func)
Define forced potential volume.
Definition: epot_solver.cpp:108
virtual void subsolve(MeshScalarField &epot, const MeshScalarField &scharge)=0
Solve problem with given mesh based space charge.
InitialPlasma(coordinate_axis_e axis, double val)
Constructor setting initial plasma.
Definition: epot_solver.hpp:69
virtual bool operator()(const Vec3D &x) const
Suppression function.
Definition: epot_solver.hpp:78
Geometry definition
Mesh based scalar fields.
Base for solvers.