qtcad.device.poisson_linear module

Linear Poisson solver.

class qtcad.device.poisson_linear.Solver(d, solver_params=None)

Bases: poissonfem.poisson_linear.Solver

Finite element solver for linear Poisson’s equation, given a charge density stored in the ‘rho’ attribute of the input device.

Attributes
  • d (device object) – The device for which to solve Poisson’s equation

  • tol (float) – Tolerance on the potential to use in a calculation if method is iterative.

  • maxiter (int) – Maximum number of iterations in a self-consistent loop if method is iterative.

__init__(d, solver_params=None)

Constructor of the solver class.

Parameters
  • d (device object) – Device for which Poisson’s equation must be solved.

  • solver_params (SolverParams obj or None, optional) – The parameters of the solver.

solve()

Solves the linear Poisson equation.

class qtcad.device.poisson_linear.SolverParams(inp_dict=None)

Bases: poissonfem.poisson_linear.SolverParams

Parameters to pass to a linear Poisson solver.

Attributes
  • tol (float) – Tolerance to use in an iterative solution, in volts. Default: 1e-6.

  • maxiter (int) – Maximum number of iterations in an iterative solution. Default: None (eventually None is passed to the linear system solver, unless the solver does not accept None as input).

  • method (str) – The method to use to solve the linear problem: “direct” or “iterative”. Default: “iterative”.

__init__(inp_dict=None)

Constructor of the SolverParams class.

Parameters

inp_dict (dict, optional) – Dictionary specifying certain solver parameters to be used instead of their default values.