A Module For Storing The Parameters For Iterative Solvers.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=NTREAL), | public, | parameter | :: | CONVERGENCE_DIFF_CONST | = | 1e-6_NTREAL |
The default convergence difference. |
integer, | public, | parameter | :: | MAX_ITERATIONS_CONST | = | 1000 |
The default maximum number of iterations. |
A class for passing parameters to an iterative solver.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=NTREAL), | public | :: | converge_diff |
When do we consider a calculation converged. |
|||
integer, | public | :: | max_iterations |
Maximum number of iterations of a solver before termination. |
|||
real(kind=NTREAL), | public | :: | threshold |
Threshold for sparse multiplication and addition. |
|||
logical, | public | :: | be_verbose |
If true, the sparse solver prints out information each loop iteration. |
|||
logical, | public | :: | do_load_balancing |
If true, the sparse solver will try and load balance before calculation. |
|||
type(Permutation_t), | public | :: | BalancePermutation |
The permutation used for load balancing. |
|||
real(kind=NTREAL), | public | :: | step_thresh |
Thresholds for step size searches. |
Construct a data type which stores iterative solver parameters.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameters to construct. |
||
real(kind=NTREAL), | intent(in), | optional | :: | converge_diff_in |
Converge_diff_in the difference between iterations to consider a calculation converged. |
|
real(kind=NTREAL), | intent(in), | optional | :: | threshold_in |
The zero threshold |
|
integer, | intent(in), | optional | :: | max_iterations_in |
The maximum number of iterations to perform |
|
logical, | intent(in), | optional | :: | be_verbose_in |
Whether to print during the calculation (default = False) |
|
type(Permutation_t), | intent(in), | optional | :: | BalancePermutation_in |
For load balancing |
|
real(kind=NTREAL), | intent(in), | optional | :: | step_thresh_in |
Step size for differential equation solvers. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(in) | :: | paramA |
Parameters to copy |
||
type(SolverParameters_t), | intent(inout) | :: | paramB |
paramB = paramA |
Set the value of the convergence difference.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameter object. |
||
real(kind=NTREAL), | intent(in) | :: | new_value |
Value to set it to. |
Set the value of the max iterations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameter object. |
||
integer, | intent(in) | :: | new_value |
Value to set it to. |
Set the value of the threshold.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameter object. |
||
real(kind=NTREAL), | intent(in) | :: | new_value |
Value to set it to. |
Set the value of the verbosity.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameter object. |
||
logical, | intent(in) | :: | new_value |
Value to set it to. |
Set the value of the load balance.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameter object. |
||
type(Permutation_t), | intent(in) | :: | new_value |
Value to set it to. |
Set the value of the step threshold.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameter object. |
||
real(kind=NTREAL), | intent(in) | :: | new_value |
Value to set it to. |
Print out the iterative solver parameter values.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(in) | :: | this |
The parameter object. |
Cleanup the solver parameters datastructure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(SolverParameters_t), | intent(inout) | :: | this |
The parameter object. |