ThermoElectric2D¶
- <meta solver="ThermoElectric2D">¶
Corresponding Python class:
meta.shockley.ThermoElectric2D.Solver performing thermo-electric calculations without the optical part in Cartesian 2D geometry.
This solver performs under-threshold thermo-electrical computations. It computes electric current flow and temperature distribution in a self-consistent loop until desired convergence is reached.
- Attributes:
name (
required) – Solver name.
- Contents:
- <geometry>¶
Geometry settings for all solvers.
- Attributes:
thermal (
required) – Geometry used by the thermal solver. (Cartesian2D geometry)electrical (
required) – Geometry used by the electrical solver. (Cartesian2D geometry)
- <mesh>¶
Mesh settings for all solvers.
- Attributes:
thermal (
required) – Mesh used by the thermal solver. (mesh)electrical (
required) – Mesh used by the electrical solver. (mesh)empty-elements – Should empty regions (e.g. air) be included into electrical computations? (
default,include, orexclude, default isdefault)
- <voltage>¶
Voltage boundary conditions. See subsection Boundary conditions.
- <temperature>¶
Temperature boundary conditions. See subsection Boundary conditions.
- <heatflux>¶
Heat Flux boundary conditions. See subsection Boundary conditions.
- <convection>¶
Convective boundary conditions. See subsection Boundary conditions.
This boundary condition does not have value attribute. Use coeff for convection coefficient and ambient for ambient temperature instead.
- <radiation>¶
Radiative boundary conditions. See subsection Boundary conditions.
This boundary condition does not have value attribute. Use emissivity for surface emissivity and ambient for ambient temperature instead.
- <junction>¶
Configuration of the effective model of p-n junction.
- Attributes:
beta# – Junction coefficients. This is an inverse of the junction thermal voltage. (float (1/V))
js# – Reverse bias current densities. (float (A/m2))
pnjcond – Initial vertical conductivity of the junctions. (float (S/m), default 5.0 S/m)
- <contacts>¶
Properties of the contact layers.
- Attributes:
pcond – p-contact conductivity. (float (S/m), default 5.0 S/m)
ncond – n-contact conductivity. (float (S/m), default 50.0 S/m)
- <loop>¶
Configuration of the self-consistent loop.
- Attributes:
tfreq – Number of electrical iterations per single thermal step. As temperature tends to converge faster, it is reasonable to repeat thermal solution less frequently. (int, default 6)
inittemp – Initial temperature used for the first computation. (float (K), default 300 K)
maxterr – Maximum allowed temperature error. (float (K), default 0.05 K)
maxcerr – Maximum allowed current density error. (float (%), default 0.05 %)
- <tmatrix>¶
Matrix configuration for the thermal solver.
- Attributes:
algorithm – Algorithm used for solving set of linear positive-definite equations. (
cholesky,gauss, oriterative, default ischolesky)
- <iterative>¶
Parameters for iterative matrix solver. PLaSK uses NSPCG package for performing iterations. Please refer to its documentation for explanation of most of the settings.
- Attributes:
maxit – Maximum number of iterations. (int, default 1000)
maxerr – Maximum iteration error. (float, default 1e-6)
noconv – Desired behavior if the iterative solver does not converge. (
error,warning, orcontinue, default iswarning)accelerator – Accelerator used for iterative matrix solver. (
cg,si,sor,srcg,srsi,basic,me,cgnr,lsqr,odir,omin,ores,iom,gmres,usymlq,usymqr,landir,lanmin,lanres,cgcr, orbcgs, default iscg)preconditioner – Preconditioner used for iterative matrix solver. (
rich,jac,ljac,ljacx,sor,ssor,ic,mic,lsp,neu,lsor,lssor,llsp,lneu,bic,bicx,mbic, ormbicx, default isic)nfact – This number initializes the frequency of partial factorizations. It specifies the number of linear system evaluations between factorizations. The default value is 1, which means that a factorization is performed at every iteration. (int, default 10)
ndeg – Degree of the polynomial to be used for the polynomial preconditioners. (int, default 1)
lvfill – Level of fill-in for incomplete Cholesky preconditioners. Increasing this value will result in more accurate factorizations at the expense of increased memory usage and factorization time. (int, default 0)
ltrunc – Truncation bandwidth to be used when approximating the inverses of matrices with dense banded matrices. An increase in this value means a more accurate factorization at the expense of increased storage. (int, default 0)
omega – Relaxation parameter. (float, default 1.0)
nsave – The number of old vectors to be saved for the truncated acceleration methods. (int, default 5)
nrestart – The number of iterations between restarts for the restarted acceleration methods. (int, default 100000)
Preconditioner choices:¶ richRichardson’s method
jacJacobi method
ljacLine Jacobi method
ljacxLine Jacobi method (approx. inverse)
sorSuccessive Overrelaxation
ssorSymmetric SOR (can be used only with SOR accelerator)
icIncomplete Cholesky (default)
micModified Incomplete Cholesky
lspLeast Squares Polynomial
neuNeumann Polynomial
lsorLine SOR
lssorLine SSOR
llspLine Least Squares Polynomial
lneuLine Neumann Polynomial
bicBlock Incomplete Cholesky (ver. 1)
bicxBlock Incomplete Cholesky (ver. 2)
mbicModified Block Incomplete Cholesky (ver. 1)
mbicxModified Block Incomplete Cholesky (ver. 2)
Accelerator choices:¶ cgConjugate Gradient acceleration (default)
siChebyshev acceleration or Semi-Iteration
sorSuccessive Overrelaxation (can use only SOR preconditioner)
srcgSymmetric Successive Overrelaxation Conjugate Gradient Algorithm (can use only SSOR preconditioner)
srsiSymmetric Successive Overrelaxation Semi-Iteration Algorithm (can use only SSOR preconditioner)
basicBasic Iterative Method
meMinimal Error Algorithm
cgnrConjugate Gradient applied to the Normal Equations
lsqrLeast Squares Algorithm
odirORTHODIR, a truncated/restarted method useful for nonsymmetric systems of equations
ominORTHOMIN, a common truncated/restarted method used for nonsymmetric systems
oresORTHORES, another truncated/restarted method for nonsymmetric systems
iomIncomplete Orthogonalization Method
gmresGeneralized Minimal Residual Method
usymlqUnsymmetric LQ
usymqrUnsymmetric QR
landirLanczos/ORTHODIR
lanminLanczos/ORTHOMIN or Biconjugate Gradient Method
lanresLanczos/ORTHORES or “two-sided” Lanczos Method
cgcrConstrained Generalized Conjugate Residual Method
bcgsBiconjugate Gradient Squared Method
- <ematrix>¶
Matrix configuration for the electrical solver.
- Attributes:
algorithm – Algorithm used for solving set of linear positive-definite equations. (
cholesky,gauss, oriterative, default ischolesky)
- <iterative>
Parameters for iterative matrix solver. PLaSK uses NSPCG package for performing iterations. Please refer to its documentation for explanation of most of the settings.
- Attributes:
maxit – Maximum number of iterations. (int, default 1000)
maxerr – Maximum iteration error. (float, default 1e-6)
noconv – Desired behavior if the iterative solver does not converge. (
error,warning, orcontinue, default iswarning)accelerator – Accelerator used for iterative matrix solver. (
cg,si,sor,srcg,srsi,basic,me,cgnr,lsqr,odir,omin,ores,iom,gmres,usymlq,usymqr,landir,lanmin,lanres,cgcr, orbcgs, default iscg)preconditioner – Preconditioner used for iterative matrix solver. (
rich,jac,ljac,ljacx,sor,ssor,ic,mic,lsp,neu,lsor,lssor,llsp,lneu,bic,bicx,mbic, ormbicx, default isic)nfact – This number initializes the frequency of partial factorizations. It specifies the number of linear system evaluations between factorizations. The default value is 1, which means that a factorization is performed at every iteration. (int, default 10)
ndeg – Degree of the polynomial to be used for the polynomial preconditioners. (int, default 1)
lvfill – Level of fill-in for incomplete Cholesky preconditioners. Increasing this value will result in more accurate factorizations at the expense of increased memory usage and factorization time. (int, default 0)
ltrunc – Truncation bandwidth to be used when approximating the inverses of matrices with dense banded matrices. An increase in this value means a more accurate factorization at the expense of increased storage. (int, default 0)
omega – Relaxation parameter. (float, default 1.0)
nsave – The number of old vectors to be saved for the truncated acceleration methods. (int, default 5)
nrestart – The number of iterations between restarts for the restarted acceleration methods. (int, default 100000)
Preconditioner choices:¶ richRichardson’s method
jacJacobi method
ljacLine Jacobi method
ljacxLine Jacobi method (approx. inverse)
sorSuccessive Overrelaxation
ssorSymmetric SOR (can be used only with SOR accelerator)
icIncomplete Cholesky (default)
micModified Incomplete Cholesky
lspLeast Squares Polynomial
neuNeumann Polynomial
lsorLine SOR
lssorLine SSOR
llspLine Least Squares Polynomial
lneuLine Neumann Polynomial
bicBlock Incomplete Cholesky (ver. 1)
bicxBlock Incomplete Cholesky (ver. 2)
mbicModified Block Incomplete Cholesky (ver. 1)
mbicxModified Block Incomplete Cholesky (ver. 2)
Accelerator choices:¶ cgConjugate Gradient acceleration (default)
siChebyshev acceleration or Semi-Iteration
sorSuccessive Overrelaxation (can use only SOR preconditioner)
srcgSymmetric Successive Overrelaxation Conjugate Gradient Algorithm (can use only SSOR preconditioner)
srsiSymmetric Successive Overrelaxation Semi-Iteration Algorithm (can use only SSOR preconditioner)
basicBasic Iterative Method
meMinimal Error Algorithm
cgnrConjugate Gradient applied to the Normal Equations
lsqrLeast Squares Algorithm
odirORTHODIR, a truncated/restarted method useful for nonsymmetric systems of equations
ominORTHOMIN, a common truncated/restarted method used for nonsymmetric systems
oresORTHORES, another truncated/restarted method for nonsymmetric systems
iomIncomplete Orthogonalization Method
gmresGeneralized Minimal Residual Method
usymlqUnsymmetric LQ
usymqrUnsymmetric QR
landirLanczos/ORTHODIR
lanminLanczos/ORTHOMIN or Biconjugate Gradient Method
lanresLanczos/ORTHORES or “two-sided” Lanczos Method
cgcrConstrained Generalized Conjugate Residual Method
bcgsBiconjugate Gradient Squared Method