The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Functions/Subroutines
oft_solver_utils Module Reference

Detailed Description

Matrix and vector management routines.

Authors
Chris Hansen
Date
December 2012

Functions/Subroutines

subroutine create_bjacobi_pre (pre, nlocal)
 Needs docs.
 
subroutine create_cg_solver (solver, force_native)
 Needs docs.
 
subroutine create_diag_pre (pre)
 Needs docs.
 
subroutine create_gmres_solver (solver, nrits, force_native)
 Needs docs.
 
subroutine create_ilu_pre (pre)
 Create ILU(0) preconditioner (native or MKL)
 
subroutine create_ml_xml (pre, mats, levels, nlevels, ml_vecspace, pre_node, bc)
 Construct PETSc Multi-Grid preconditioner using native mechanics.
 
subroutine create_mlpre (pre, mats, levels, nlevels, ml_vecspace, bc, stype, df, nu, xml_root)
 Construct Multi-Grid preconditioner.
 
subroutine create_native_mlpre (pre, mats, levels, nlevels, ml_vecspace, bc, stype, df, nu)
 Construct native Multi-Grid preconditioner.
 
subroutine create_native_pre (pre, pre_type)
 Needs docs.
 
subroutine create_native_solver (solver, solver_type)
 Needs docs.
 
subroutine create_petsc_mlpre (pre, mats, levels, nlevels, ml_vecspace, bc, stype, df, nu)
 Construct PETSc Multi-Grid preconditioner using native mechanics.
 
subroutine create_petsc_pre (pre, pre_type)
 Needs docs.
 
subroutine create_petsc_solver (solver, solver_type)
 Needs docs.
 
recursive subroutine create_pre_xml (pre, pre_node, native_solver, level)
 Needs docs.
 
recursive subroutine create_solver_xml (solver, solver_node, level)
 Needs docs.
 

Function/Subroutine Documentation

◆ create_bjacobi_pre()

subroutine create_bjacobi_pre ( class(oft_solver), intent(out), pointer  pre,
integer(i4), intent(in)  nlocal 
)

Needs docs.

◆ create_cg_solver()

subroutine create_cg_solver ( class(oft_solver), intent(out), pointer  solver,
logical, intent(in), optional  force_native 
)

Needs docs.

◆ create_diag_pre()

subroutine create_diag_pre ( class(oft_solver), intent(out), pointer  pre)

Needs docs.

◆ create_gmres_solver()

subroutine create_gmres_solver ( class(oft_solver), intent(out), pointer  solver,
integer(i4), intent(in), optional  nrits,
logical, intent(in), optional  force_native 
)

Needs docs.

◆ create_ilu_pre()

subroutine create_ilu_pre ( class(oft_solver), intent(out), pointer  pre)

Create ILU(0) preconditioner (native or MKL)

◆ create_ml_xml()

subroutine create_ml_xml ( class(oft_solver), intent(out), pointer  pre,
type(oft_matrix_ptr), dimension(:), intent(in)  mats,
integer(i4), dimension(:), intent(in)  levels,
integer(i4), intent(in)  nlevels,
class(oft_ml_vecspace), intent(in), target  ml_vecspace,
type(xml_node), intent(in), pointer  pre_node,
class(oft_solver_bc), intent(in), optional, target  bc 
)

Construct PETSc Multi-Grid preconditioner using native mechanics.

Parameters
[out]prePreconditioner object
[in]matsOperator matrices [nlevels]
[in]levelsList of level indices [nlevels]
[in]nlevelsNumber of levels
[in]ml_vecspaceMulti-level vectorspace
[in]pre_nodePreconditioner XML element
[in]bcBoundary condition (optional)

◆ create_mlpre()

subroutine create_mlpre ( class(oft_solver), intent(out), pointer  pre,
type(oft_matrix_ptr), dimension(:), intent(in)  mats,
integer(i4), dimension(:), intent(in)  levels,
integer(i4), intent(in)  nlevels,
class(oft_ml_vecspace), intent(in), optional, target  ml_vecspace,
class(oft_solver_bc), intent(in), optional, target  bc,
integer(i4), intent(in), optional  stype,
real(r8), dimension(:), intent(in), optional  df,
integer(i4), dimension(:), intent(in), optional  nu,
type(xml_node), intent(in), optional, pointer  xml_root 
)

Construct Multi-Grid preconditioner.

This subroutine is a wrapper around specific subroutines for construction from an XML specification or standard native/PETSc preconditioners

Parameters
[out]prePreconditioner object
[in]matsOperator matrices [nlevels]
[in]levelsList of level indices [nlevels]
[in]nlevelsNumber of levels
[in]ml_vecspaceMulti-level vectorspace
[in]bcBoundary condition subroutine (optional)
[in]stypeSmoother type (optional)
[in]dfSmoother damping factors [nlevels] (optional)
[in]nuNumber of smoother iterations [nlevels] (optional)
[in]xml_rootPreconditioner definition node (optional)

◆ create_native_mlpre()

subroutine create_native_mlpre ( class(oft_solver), intent(out), pointer  pre,
type(oft_matrix_ptr), dimension(:), intent(in)  mats,
integer(i4), dimension(:), intent(in)  levels,
integer(i4), intent(in)  nlevels,
class(oft_ml_vecspace), intent(in), optional, target  ml_vecspace,
class(oft_solver_bc), intent(in), optional, target  bc,
integer(i4), intent(in), optional  stype,
real(r8), dimension(:), intent(in), optional  df,
integer(i4), dimension(:), intent(in), optional  nu 
)

Construct native Multi-Grid preconditioner.

Parameters
[out]prePreconditioner object
[in]matsOperator matrices [nlevels]
[in]levelsList of level indices [nlevels]
[in]nlevelsNumber of levels
[in]ml_vecspaceMulti-level vectorspace
[in]bcBondary condition (optional)
[in]stypeSmoother type (optional)
[in]dfSmoother damping factors [nlevels] (optional)
[in]nuNumber of smoother iterations [nlevels] (optional)

◆ create_native_pre()

subroutine create_native_pre ( class(oft_solver), intent(out), pointer  pre,
character(len=*), intent(in)  pre_type 
)

Needs docs.

◆ create_native_solver()

subroutine create_native_solver ( class(oft_solver), intent(out), pointer  solver,
character(len=*), intent(in)  solver_type 
)

Needs docs.

◆ create_petsc_mlpre()

subroutine create_petsc_mlpre ( class(oft_solver), intent(out), pointer  pre,
type(oft_matrix_ptr), dimension(:), intent(in)  mats,
integer(i4), dimension(:), intent(in)  levels,
integer(i4), intent(in)  nlevels,
class(oft_ml_vecspace), intent(in), optional, target  ml_vecspace,
class(oft_solver_bc), intent(in), optional, target  bc,
integer(i4), intent(in), optional  stype,
real(r8), dimension(:), intent(in), optional  df,
integer(i4), dimension(:), intent(in), optional  nu 
)

Construct PETSc Multi-Grid preconditioner using native mechanics.

Parameters
[out]prePreconditioner object
[in]matsOperator matrices [nlevels]
[in]levelsList of level indices [nlevels]
[in]nlevelsNumber of levels
[in]ml_vecspaceMulti-level vectorspace
[in]bcBondary condition (optional)
[in]stypeSmoother type (optional)
[in]dfSmoother damping factors [nlevels] (optional)
[in]nuNumber of smoother iterations [nlevels] (optional)

◆ create_petsc_pre()

subroutine create_petsc_pre ( class(oft_solver), intent(out), pointer  pre,
character(len=*), intent(in)  pre_type 
)

Needs docs.

◆ create_petsc_solver()

subroutine create_petsc_solver ( class(oft_solver), intent(out), pointer  solver,
character(len=*), intent(in)  solver_type 
)

Needs docs.

◆ create_pre_xml()

recursive subroutine create_pre_xml ( class(oft_solver), intent(out), pointer  pre,
type(xml_node), intent(in), pointer  pre_node,
logical, intent(in)  native_solver,
integer(i4), intent(in), optional  level 
)

Needs docs.

◆ create_solver_xml()

recursive subroutine create_solver_xml ( class(oft_solver), intent(out), pointer  solver,
type(xml_node), intent(in), pointer  solver_node,
integer(i4), intent(in), optional  level 
)

Needs docs.