The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
petsc_solvers.F90 File Reference
#include "petsc/finclude/petscmat.h"
#include "petsc/finclude/petscksp.h"
#include "petsc/finclude/petscpc.h"
#include "local.h"

Data Types

type  oft_petsc_asprecond
 PETSc Additive-Schwarz preconditioner. More...
type  oft_petsc_cg_solver
 PETSc Conjugate-Gradient solver. More...
type  oft_petsc_diagprecond
 PETSc diagonal preconditioning. More...
type  oft_petsc_direct_solver
 PETSc direct solver (LU factorization). More...
type  oft_petsc_factordef
 PETSc factorization package information. More...
type  oft_petsc_gmres_solver
 PETSc GMRES solver. More...
type  oft_petsc_jacobi_solver
 PETSc Point-Jacobi solver. More...
type  oft_petsc_luprecond
 PETSc LU factorization/solve. More...
type  oft_petsc_mgprecond
 PETSc multi-grid preconditioner. More...
type  oft_petsc_precond
 PETSc abstract preconditioner class. More...
type  oft_petsc_sjacobi_solver
 PETSc symmetric Point-Jacobi solver. More...
type  oft_petsc_solver
 PETSc abstract solver class. More...

Modules

module  oft_petsc_solvers
 PETSc solver implementations.

Macros

#define OFT_LU   2
#define OFT_PETSC_LU   MATSOLVERSUPERLU_DIST

Functions/Subroutines

subroutine asprecond_setup (self, pc, dist)
 Setup additiv Schwarz preconditioner.
subroutine asprecond_setup_xml (self, solver_node, level)
 Setup additive Schwarz preconditioner from XML definition.
subroutine cg_setup_ksp (self, ksp)
 Setup PETSc ksp object for CG.
subroutine cg_setup_xml (self, solver_node, level)
 Setup CG solver from XML definition.
subroutine cg_solver_apply (self, u, g)
 Solve a linear system using PETSc's implementation of the Conjugate-Gradient method.
subroutine cg_view (self)
 Print solver configuration.
subroutine create_lu_pc (self, pc)
 Create PETSc LU PC object.
subroutine diagprecond_setup (self, pc, dist)
 Setup diagonal preconditioner.
subroutine diagprecond_view (self)
 Print solver configuration.
subroutine direct_setup_ksp (self, ksp)
 Setup PETSc ksp object for direct solver.
subroutine direct_setup_xml (self, solver_node, level)
 Setup direct solver from XML definition.
subroutine direct_solver_apply (self, u, g)
 Solve a linear system using a direct solver through PETSc (LU factorization).
subroutine direct_view (self)
 Print solver configuration.
subroutine gmres_setup_ksp (self, ksp)
 Setup PETSc ksp object for FGMRES.
subroutine gmres_setup_xml (self, solver_node, level)
 Setup FGMRES solver from XML definition.
subroutine gmres_solver_apply (self, u, g)
 Solve a linear system using PETSc's implementation of the FGMRES method.
subroutine gmres_view (self)
 Print solver configuration.
subroutine jacobi_solver_apply (self, u, g)
 Solve a linear system using PETSc's implementation of the Point-Jacobi method.
subroutine lu_pc_load_xml (self, solver_node, level)
 Setup LU preconditioner object from XML definition.
subroutine luprecond_setup (self, pc, dist)
 Setup LU factorization preconditioner.
subroutine mgprecond_setup (self, pc, dist)
 Setup multi-grid preconditioner.
logical function petsc_cg_solver_cast (self, source)
 Cast a solver object to a oft_petsc_cg_solver.
logical function petsc_diagprecond_cast (self, source)
 Cast a solver object to a oft_petsc_diagprecond.
logical function petsc_direct_solver_cast (self, source)
 Cast a solver object to a oft_petsc_direct_solver.
logical function petsc_gmres_solver_cast (self, source)
 Cast a solver object to a oft_petsc_gmres_solver.
logical function petsc_jacobi_solver_cast (self, source)
 Cast a solver object to a oft_petsc_jacobi_solver.
logical function petsc_precond_cast (self, source)
 Cast a solver object to a oft_petsc_precond.
logical function petsc_sjacobi_solver_cast (self, source)
 Cast a solver object to a oft_petsc_sjacobi_solver.
logical function petsc_solver_cast (self, source)
 Cast a vector object to a oft_petsc_vector.
subroutine petsc_solver_delete (self)
 Delete PETSc solver.
subroutine petsc_solver_setup (self)
 Update solver after changing settings/operators.
subroutine petsc_solver_setup_ksp (self, ksp)
 Setup PETSc ksp object.
subroutine petsc_solver_setup_pm (ksp)
 Setup performance monitor for PETSc solver.
recursive subroutine petsc_solver_update (self, new_pattern)
 Update solver after updating settings/matrix.
subroutine precond_apply (self, u, g)
 Precondition a linear system using one iteration of a PETSc preconditioner.
subroutine precond_delete (self)
 Delete PETSc solver.
subroutine precond_dummy_setup (self, pc, dist)
 Setup preconditioner.
recursive subroutine precond_update (self, new_pattern)
 Update preconditioner after changing settings/operators.
subroutine set_solver_package (pc, sol_type, ierr)
 Set factorization package for PETSc PC object.
subroutine sjacobi_setup_xml (self, solver_node, level)
 Setup symmetric Jacobi solver from XML definition.
subroutine sjacobi_solver_apply (self, u, g)
 Apply 1-step of a symmetric Jacobi smoother with PETSc matrices.

Macro Definition Documentation

◆ OFT_LU

#define OFT_LU   2

◆ OFT_PETSC_LU

#define OFT_PETSC_LU   MATSOLVERSUPERLU_DIST