ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
viennashe::solvers::nonlinear_solver_config Class Reference

A configuration class holding options for use within the different linear solvers. More...

#include <config.hpp>

Inheritance diagram for viennashe::solvers::nonlinear_solver_config:
viennashe::solvers::nonlinear_solver_ids

Public Member Functions

 nonlinear_solver_config ()
 
long id () const
 Returns the current linear solver ID. More...
 
void set (long solver_id)
 Sets a new linear solver. Provide IDs defined in. More...
 
void set (std::string solver_name)
 Sets a new nonlinear solver. More...
 
double tolerance () const
 Returns the tolerance for the nonlinear solver potential update. More...
 
void tolerance (double tol)
 Sets the tolerance for the nonlinear solver potential update. Non-positive values are ignored. More...
 
std::size_t max_iters () const
 Returns the maximum number of nonlinear solver iterations. More...
 
void max_iters (std::size_t iters)
 Sets the maximum number of iterations within the nonlinear solver. More...
 
double damping () const
 Returns the damping for the nonlinear solver. More...
 
void damping (double d)
 Sets the tolerance for the nonlinear solver. Negative values are ignored. More...
 
void operator++ (int)
 Increment the Number of Iterations for the nonlinear solver.
More...
 
long getThreshold () const
 
void setThreshold (long threshold)
 

Additional Inherited Members

- Public Types inherited from viennashe::solvers::nonlinear_solver_ids
enum  { gummel_nonlinear_solver , newton_nonlinear_solver }
 

Detailed Description

A configuration class holding options for use within the different linear solvers.

Internal note: May require a bit more polishing, particularly with respect to preconditioners

Definition at line 252 of file config.hpp.

Constructor & Destructor Documentation

◆ nonlinear_solver_config()

viennashe::solvers::nonlinear_solver_config::nonlinear_solver_config ( )
inline

Definition at line 255 of file config.hpp.

Member Function Documentation

◆ damping() [1/2]

double viennashe::solvers::nonlinear_solver_config::damping ( ) const
inline

Returns the damping for the nonlinear solver.

Definition at line 328 of file config.hpp.

◆ damping() [2/2]

void viennashe::solvers::nonlinear_solver_config::damping ( double  d)
inline

Sets the tolerance for the nonlinear solver. Negative values are ignored.

Definition at line 333 of file config.hpp.

◆ getThreshold()

long viennashe::solvers::nonlinear_solver_config::getThreshold ( ) const
inline

Definition at line 346 of file config.hpp.

◆ id()

long viennashe::solvers::nonlinear_solver_config::id ( ) const
inline

Returns the current linear solver ID.

Definition at line 262 of file config.hpp.

◆ max_iters() [1/2]

std::size_t viennashe::solvers::nonlinear_solver_config::max_iters ( ) const
inline

Returns the maximum number of nonlinear solver iterations.

Definition at line 317 of file config.hpp.

◆ max_iters() [2/2]

void viennashe::solvers::nonlinear_solver_config::max_iters ( std::size_t  iters)
inline

Sets the maximum number of iterations within the nonlinear solver.

Definition at line 322 of file config.hpp.

◆ operator++()

void viennashe::solvers::nonlinear_solver_config::operator++ ( int  )
inline

Increment the Number of Iterations for the nonlinear solver.

Definition at line 341 of file config.hpp.

◆ set() [1/2]

void viennashe::solvers::nonlinear_solver_config::set ( long  solver_id)
inline

Sets a new linear solver. Provide IDs defined in.

See also
linear_solver_ids

Definition at line 270 of file config.hpp.

◆ set() [2/2]

void viennashe::solvers::nonlinear_solver_config::set ( std::string  solver_name)
inline

Sets a new nonlinear solver.

Definition at line 284 of file config.hpp.

◆ setThreshold()

void viennashe::solvers::nonlinear_solver_config::setThreshold ( long  threshold)
inline

Definition at line 351 of file config.hpp.

◆ tolerance() [1/2]

double viennashe::solvers::nonlinear_solver_config::tolerance ( ) const
inline

Returns the tolerance for the nonlinear solver potential update.

Definition at line 305 of file config.hpp.

◆ tolerance() [2/2]

void viennashe::solvers::nonlinear_solver_config::tolerance ( double  tol)
inline

Sets the tolerance for the nonlinear solver potential update. Non-positive values are ignored.

Definition at line 310 of file config.hpp.


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