Dynamic2D¶
- <thermal solver="Dynamic2D">¶
Corresponding Python class:
thermal.dynamic.Dynamic2D
.Two-dimensional dynamic thermal solver in Cartesian geometry, based on finite-element method.
- Attributes:
name (
required
) – Solver name.
- Contents:
- <geometry>¶
Geometry for use by this solver.
- Attributes:
ref (
required
) – Name of a Cartesian2D geometry defined in the<geometry>
section.
- <mesh>¶
Rectangular2D mesh used by this solver.
- Attributes:
ref (
required
) – Name of a Rectangular2D mesh defined in the<grids>
section. (mesh)empty-elements – Should empty regions (e.g. air) be included into electrical computations? (
default
,include
, orexclude
, default isdefault
)
- <temperature>¶
Temperature boundary conditions. See subsection Boundary conditions.
- <loop>¶
Configuration of the time-evolution loop.
- Attributes:
inittemp – Initial temperature used for the first computation. (float (K), default 300 K)
timestep – Single-iteration time step. (float (ns), default 0.1 ns)
rebuildfreq – Number of iterations until the whole matrix is rebuilt. The larger this number is, the more efficient computations are, however it may be less accurate is material parameters strongly depend on temperature. If this parameter is set to zero, matrix is never rebuilt. (int, default 0)
logfreq – Number of iterations until the computations progress is reported. (int, default 500)
- <matrix>¶
Matrix solver configuration.
- Attributes:
algorithm – Algorithm used for solving set of linear positive-definite equations. (
cholesky
,gauss
, oriterative
, default ischolesky
)methodparam – Mid-step parameter for implicit finite-difference time discretization. Defaults to ½, which results in the Crank-Nicholson method. 0 makes the method explicit, while 1 results in backward Euler method. (float, default 0.5)
lumping – This attribute determines whether the mass matrix is lumped or non-lumped (consistent). (bool, default is
yes
)
- <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)
¶ rich
Richardson’s method
jac
Jacobi method
ljac
Line Jacobi method
ljacx
Line Jacobi method (approx. inverse)
sor
Successive Overrelaxation
ssor
Symmetric SOR (can be used only with SOR accelerator)
ic
Incomplete Cholesky (default)
mic
Modified Incomplete Cholesky
lsp
Least Squares Polynomial
neu
Neumann Polynomial
lsor
Line SOR
lssor
Line SSOR
llsp
Line Least Squares Polynomial
lneu
Line Neumann Polynomial
bic
Block Incomplete Cholesky (ver. 1)
bicx
Block Incomplete Cholesky (ver. 2)
mbic
Modified Block Incomplete Cholesky (ver. 1)
mbicx
Modified Block Incomplete Cholesky (ver. 2)
¶ cg
Conjugate Gradient acceleration (default)
si
Chebyshev acceleration or Semi-Iteration
sor
Successive Overrelaxation (can use only SOR preconditioner)
srcg
Symmetric Successive Overrelaxation Conjugate Gradient Algorithm (can use only SSOR preconditioner)
srsi
Symmetric Successive Overrelaxation Semi-Iteration Algorithm (can use only SSOR preconditioner)
basic
Basic Iterative Method
me
Minimal Error Algorithm
cgnr
Conjugate Gradient applied to the Normal Equations
lsqr
Least Squares Algorithm
odir
ORTHODIR, a truncated/restarted method useful for nonsymmetric systems of equations
omin
ORTHOMIN, a common truncated/restarted method used for nonsymmetric systems
ores
ORTHORES, another truncated/restarted method for nonsymmetric systems
iom
Incomplete Orthogonalization Method
gmres
Generalized Minimal Residual Method
usymlq
Unsymmetric LQ
usymqr
Unsymmetric QR
landir
Lanczos/ORTHODIR
lanmin
Lanczos/ORTHOMIN or Biconjugate Gradient Method
lanres
Lanczos/ORTHORES or “two-sided” Lanczos Method
cgcr
Constrained Generalized Conjugate Residual Method
bcgs
Biconjugate Gradient Squared Method