|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Multi-level preconditioner level.

Public Member Functions | |
| procedure | apply (self, u, g) |
| Apply smoother. | |
| procedure(solver_apply), deferred | apply (self, u, g) |
| Solve system. | |
| procedure | check_thread (self) |
| Check thread safety. | |
| procedure | delete (self) |
| Clean-up internal smoother 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 | update (self, new_pattern) |
| Update children with new settings/operators. | |
| procedure | update (self, new_pattern) |
| Update solver with new settings/operators. | |
| procedure | view (self) |
| Print solver information. | |
| procedure | view (self) |
| Print solver information. | |
Public Attributes | |
| class(oft_matrix), pointer | a => NULL() |
| Matrix to be inverted. | |
| real(r8) | atol = 1.d-14 |
| Absolute convergence tolerance \( |res| < atol \). | |
| class(oft_solver), pointer | base_solve => NULL() |
| Pointer to lower level solve. | |
| class(oft_solver_bc), pointer | bc => NULL() |
| Boundary condition. | |
| integer(i4) | cits = 0 |
| Number of iteractions to convergence. | |
| logical | full_residual = .TRUE. |
| Output true residual on exit. | |
| class(oft_vector), pointer | gcors => NULL() |
| Temporary coarse vector. | |
| 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. | |
| integer(i4) | level |
| Current level in ML context. | |
| integer(i4) | minlevel |
| Lowest level. | |
| class(oft_ml_vecspace), pointer | ml_vecspace => NULL() |
| Multi-level vector space. | |
| class(oft_vector), pointer | p => NULL() |
| Temporary vector. | |
| logical | pm = .FALSE. |
| Performance monitor override. | |
| class(oft_solver), pointer | pre => NULL() |
| Preconditioner. | |
| class(oft_vector), pointer | r => NULL() |
| Temporary vector. | |
| real(r8) | rtol = 1.d-14 |
| Relative convergence tolerance \( |res|/|res_0| < rtol \). | |
| class(oft_solver), pointer | smooth_down => NULL() |
| Smoother for down-cycle. | |
| class(oft_solver), pointer | smooth_up => NULL() |
| Smoother for up-cycle. | |
| logical | symmetric = .FALSE. |
| Symmetric flag. | |
| real(r8), dimension(4) | timings = 0.d0 |
| Timing for each stage. | |
| class(oft_vector), pointer | ucors => NULL() |
| Temporary coarse vector. | |
| procedure apply | ( | class(oft_ml_precond), intent(inout) | self, |
| class(oft_vector), intent(inout) | u, | ||
| class(oft_vector), intent(inout) | g | ||
| ) |
Apply smoother.
| [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_ml_precond), intent(inout) | self | ) |
Clean-up internal smoother storage.
| [in,out] | self | Solver object |
|
pure virtualinherited |
Clean-up internal storage.
| [in,out] | self | Solver object |
|
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_ml_precond), intent(inout) | self, |
| logical, intent(in), optional | new_pattern | ||
| ) |
Update children with new settings/operators.
| [in,out] | self | Solver object |
|
inherited |
Update solver with new settings/operators.
| [in,out] | self | Solver object |
| [in] | new_pattern | Update matrix non-zero pattern? (optional) |
| procedure view | ( | class(oft_ml_precond), intent(inout) | self | ) |
Print solver information.
| [in,out] | self | Solver object |
|
inherited |
Print solver information.
| [in,out] | self | Solver object |
|
inherited |
Matrix to be inverted.
|
inherited |
Absolute convergence tolerance \( |res| < atol \).
| class(oft_solver), pointer base_solve => NULL() |
Pointer to lower level solve.
|
inherited |
Boundary condition.
|
inherited |
Number of iteractions to convergence.
|
inherited |
Output true residual on exit.
| class(oft_vector), pointer gcors => NULL() |
Temporary coarse vector.
|
inherited |
Solver has been constructed.
|
inherited |
Output frequency for iterative solvers when pm=.TRUE.
|
inherited |
Maximum iteration count.
| integer(i4) level |
Current level in ML context.
| integer(i4) minlevel |
Lowest level.
| class(oft_ml_vecspace), pointer ml_vecspace => NULL() |
Multi-level vector space.
| class(oft_vector), pointer p => NULL() |
Temporary vector.
|
inherited |
Performance monitor override.
|
inherited |
Preconditioner.
| class(oft_vector), pointer r => NULL() |
Temporary vector.
|
inherited |
Relative convergence tolerance \( |res|/|res_0| < rtol \).
| class(oft_solver), pointer smooth_down => NULL() |
Smoother for down-cycle.
| class(oft_solver), pointer smooth_up => NULL() |
Smoother for up-cycle.
| logical symmetric = .FALSE. |
Symmetric flag.
| real(r8), dimension(4) timings = 0.d0 |
Timing for each stage.
| class(oft_vector), pointer ucors => NULL() |
Temporary coarse vector.