I'm running a simulation of a transistor device and i get the following error:
The computed multigrid residual is greater than the required accuracy. #
# #
# Computed residual : inf #
# Required accuracy : 1.00000e-12
The simulator also throws an exception:
* Back Engine Exception : Singular value decomposition failed
33 ** Location of Exception : mathutils.cpp:1604
34
I'm using Atomistix ToolKit 2014.2 [Build 811a2e4]. This error is really unpredictable. I use very similar geometry on other devices and i dont get the same error. I am using Neumann Boundary conditions on the A/B axes and Dirichlet on the C ends of the device.
left_electrode_poisson_solver = MultigridSolver(
boundary_conditions=[[NeumannBoundaryCondition,NeumannBoundaryCondition],
[NeumannBoundaryCondition,NeumannBoundaryCondition],
[PeriodicBoundaryCondition,PeriodicBoundaryCondition]]
)
right_electrode_poisson_solver = MultigridSolver(
boundary_conditions=[[NeumannBoundaryCondition,NeumannBoundaryCondition],
[NeumannBoundaryCondition,NeumannBoundaryCondition],
[PeriodicBoundaryCondition,PeriodicBoundaryCondition]]
)
device_poisson_solver = MultigridSolver(
boundary_conditions=[[NeumannBoundaryCondition,NeumannBoundaryCondition],
[NeumannBoundaryCondition,NeumannBoundaryCondition],
[DirichletBoundaryCondition,DirichletBoundaryCondition]]
)
I'm attaching my device geometry. Note that the distance between the dielectric and any atom is exactly 1A as suggested by QW experts here.
Any help would be nice.
Thanks