The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Block-Jacobi preconditioner.
Public Member Functions | |
procedure | apply (self, u, g) |
Solve system. | |
procedure(solver_apply), deferred | apply (self, u, g) |
Solve system. | |
procedure | check_thread (self) |
Check thread safety. | |
procedure | delete (self) |
Clean-up internal storage. | |
procedure(solver_delete), deferred | delete (self) |
Clean-up internal storage. | |
procedure | setup_from_xml (self, solver_node, level) |
Setup solver from XML node. | |
procedure | setup_from_xml (self, solver_node, level) |
Setup solver from XML node. | |
procedure | update (self, new_pattern) |
Update solver with new settings/operators. | |
procedure | update (self, new_pattern) |
Update solver with new settings/operators. | |
procedure | view (self) |
Print solver information. | |
Public Attributes | |
class(oft_matrix), pointer | a => NULL() |
Matrix to be inverted. | |
type(oft_native_submatrix), dimension(:), pointer | alocals => NULL() |
Local matrix block. | |
real(r8) | atol = 1.d-14 |
Absolute convergence tolerance \( |res| < atol \). | |
class(oft_solver_bc), pointer | bc => NULL() |
Boundary condition. | |
logical | boundary_overlap = .FALSE. |
Use Additive-Schwarz with boundary elements. | |
integer(i4) | cits = 0 |
Number of iteractions to convergence. | |
logical | full_residual = .TRUE. |
Output true residual on exit. | |
logical | initialized = .FALSE. |
Solver has been constructed. | |
integer(i4) | itplot =10 |
Output frequency for iterative solvers when pm=.TRUE. | |
integer(i4) | its = -1 |
Maximum iteration count. | |
type(oft_seam), dimension(:), pointer | local_stitch => NULL() |
Local vectors. | |
logical | loverlap = .FALSE. |
Use Additive-Schwarz with interior boundaries. | |
integer(i4) | nlocal = 1 |
Number of subdomains on each processor. | |
integer(i4), dimension(:), pointer | part => NULL() |
type(oft_1d_int), dimension(:), pointer | parts => NULL() |
Local partition indices. | |
logical | pm = .FALSE. |
Performance monitor override. | |
class(oft_solver), pointer | pre => NULL() |
Preconditioner. | |
real(r8) | rtol = 1.d-14 |
Relative convergence tolerance \( |res|/|res_0| < rtol \). | |
integer(i4), dimension(10) | slice_group = -1 |
Slice groupings. | |
type(oft_solver_ptr), dimension(:), pointer | solvers => NULL() |
Local block solvers. | |
logical | update_slice = .FALSE. |
Update local matrices on next application. | |
procedure apply | ( | class(oft_bjprecond), intent(inout) | self, |
class(oft_vector), intent(inout) | u, | ||
class(oft_vector), intent(inout) | g | ||
) |
Solve system.
[in,out] | self | Solver object |
[in,out] | u | Guess (input), Solution (output) |
[in,out] | g | RHS (input), Residual (output) |
|
pure virtualinherited |
Solve system.
[in,out] | self | Solver object |
[in,out] | u | Guess/Solution field |
[in,out] | g | RHS/Residual field |
|
inherited |
Check thread safety.
[in,out] | self | Solver object |
procedure delete | ( | class(oft_bjprecond), intent(inout) | self | ) |
Clean-up internal storage.
[in,out] | self | Solver object |
|
pure virtualinherited |
Clean-up internal storage.
[in,out] | self | Solver object |
procedure setup_from_xml | ( | class(oft_bjprecond), intent(inout) | self, |
type(xml_node), intent(in), pointer | solver_node, | ||
integer(i4), intent(in), optional | level | ||
) |
Setup solver from XML node.
[in,out] | self | Solver object |
[in] | solver_node | XML element containing solver definition |
[in] | level | Level in MG hierarchy (optional) |
|
inherited |
Setup solver from XML node.
[in,out] | self | Solver object |
[in] | solver_node | XML element containing solver definition |
[in] | level | Level in MG hierarchy (optional) |
procedure update | ( | class(oft_bjprecond), intent(inout) | self, |
logical, intent(in), optional | new_pattern | ||
) |
Update solver with new settings/operators.
[in,out] | self | Solver object |
[in] | new_pattern | Update matrix non-zero pattern (optional) |
|
inherited |
Update solver with new settings/operators.
[in,out] | self | Solver object |
[in] | new_pattern | Update matrix non-zero pattern? (optional) |
|
inherited |
Print solver information.
[in,out] | self | Solver object |
|
inherited |
Matrix to be inverted.
type(oft_native_submatrix), dimension(:), pointer alocals => NULL() |
Local matrix block.
|
inherited |
Absolute convergence tolerance \( |res| < atol \).
|
inherited |
Boundary condition.
logical boundary_overlap = .FALSE. |
Use Additive-Schwarz with boundary elements.
|
inherited |
Number of iteractions to convergence.
|
inherited |
Output true residual on exit.
|
inherited |
Solver has been constructed.
|
inherited |
Output frequency for iterative solvers when pm=.TRUE.
|
inherited |
Maximum iteration count.
type(oft_seam), dimension(:), pointer local_stitch => NULL() |
Local vectors.
logical loverlap = .FALSE. |
Use Additive-Schwarz with interior boundaries.
integer(i4) nlocal = 1 |
Number of subdomains on each processor.
integer(i4), dimension(:), pointer part => NULL() |
type(oft_1d_int), dimension(:), pointer parts => NULL() |
Local partition indices.
|
inherited |
Performance monitor override.
|
inherited |
Preconditioner.
|
inherited |
Relative convergence tolerance \( |res|/|res_0| < rtol \).
integer(i4), dimension(10) slice_group = -1 |
Slice groupings.
type(oft_solver_ptr), dimension(:), pointer solvers => NULL() |
Local block solvers.
logical update_slice = .FALSE. |
Update local matrices on next application.