linear_solver{ }#
Calling sequence
currents{ linear_solver{ } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
items: maximum 1
Dependencies
extended_accuracy is not allowed if any of global{ simulate2D{ } } or global{ simulate3D{ } } is already defined.
Functionality
This group allows modifying parameters impacting algorithm of linear equation solver in current equation.
Examples
currents{
recombination_model{}
linear_solver{}
}
currents{
recombination_model{}
linear_solver{
extended_accuracy = 1
}
}
global{
simulate1D{}
}
Nested keywords
iterations#
Calling sequence
currents{ linear_solver{ iterations } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
type: integer
unit: \(\mathrm{-}\)
values: \(z \geq 1\)
default: \(z=10000\)
Functionality
Maximum number of iterations allowed in this solver.
Example
currents{
recombination_model{}
linear_solver{
iterations = 50000
}
}
abs_accuracy#
Calling sequence
currents{ linear_solver{ abs_accuracy } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
type: real number
unit: \(\mathrm{-}\)
values:
[0.0, ...)default: \(r=1e-30\)
Functionality
—
Example
currents{
recombination_model{}
linear_solver{
abs_accuracy = 1e-32
}
}
rel_accuracy#
Calling sequence
currents{ linear_solver{ rel_accuracy } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
type: real number
unit: \(\mathrm{-}\)
values: \(0.0 \leq r \leq 10^{-6}\)
default: \(r=1e-13\)
Functionality
—
Example
currents{
recombination_model{}
linear_solver{
rel_accuracy = 1e-15
}
}
dkr_value#
Calling sequence
currents{ linear_solver{ dkr_value } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
type: real number
unit: \(\mathrm{-}\)
values: \(0.0 \leq r \leq 0.5\)
default: \(r=-1.0\)
Functionality
A parameter to speed up calculations, affects preconditioning
Note
Negative values are ignored but will switch to a slightly slower but more stable preconditioning.
Example
currents{
recombination_model{}
linear_solver{
dkr_value = 0.1
}
}
method#
Added in version 3.0.0.
Calling sequence
currents{ linear_solver{ method = "..." } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
type: choice
values:
cgorcscgorbicgstabdefault:
cg(LAPACK for non-perioic 1D simulations)
Functionality
Selects linear solver to be used:
cg: Conjugate Gradientcsgs: Composite Step Conjugate Gradientbicgstab: Biconjugate Gradient Stabilized Method
Example
currents{
recombination_model{}
linear_solver{
method = bicgstab
}
}
force_diagonal_preconditioner#
Calling sequence
currents{ linear_solver{ force_diagonal_preconditioner } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
type: choice
values:
yesornodefault:
no
Functionality
Only for debugging purposes, enabling will make code much slower or prevent convergence. Forces the use of a slower but more robust diagonal preconditioner.
This keyword should be used only for debugging purposes. Enabling the diagonal preconditioner makes algorithm much slower or prevent convergence. It can be enabled in case when then default preconditioning fails or the linear solver diverges. In such circumstances, also iterations may require further increasing.
Example
currents{
recombination_model{}
linear_solver{
force_diagonal_preconditioner = yes
}
}
extended_accuracy#
Calling sequence
currents{ linear_solver{ extended_accuracy } }
Properties
usage: \(\mathrm{\textcolor{ForestGreen}{optional}}\)
type: integer
unit: \(\mathrm{-}\)
values: \(z=0\) or \(z=1\)
default: \(z=0\)
Functionality
If set to 1, then current equation is solved using slower but more accurate solver.
It is only implemented for not periodic 1D simulations.
Warning
This feature is at the prototyping stage and may not bring expected improvements.
Example
currents{
recombination_model{}
linear_solver{
extended_accuracy = 1
}
}