The Open FUSION Toolkit 1.0.0-beta5
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)
 
subroutine create_cg_solver (solver, force_native)
 
subroutine create_diag_pre (pre)
 
subroutine create_gmres_solver (solver, nrits, force_native)
 
subroutine create_ilu_pre (pre)
 Create ILU(0) preconditioner (native or MKL)
 
subroutine create_ml_xml (pre, mats, levels, nlevels, create_vec, interp, inject, pre_node, bc)
 Construct PETSc Multi-Grid preconditioner using native mechanics.
 
subroutine create_mlpre (pre, mats, levels, nlevels, create_vec, interp, inject, bc, stype, df, nu, xml_root)
 Construct Multi-Grid preconditioner.
 
subroutine create_native_mlpre (pre, mats, levels, nlevels, create_vec, interp, inject, bc, stype, df, nu)
 Construct native Multi-Grid preconditioner.
 
subroutine create_native_pre (pre, pre_type)
 
subroutine create_native_solver (solver, solver_type)
 
subroutine create_petsc_mlpre (pre, mats, levels, nlevels, create_vec, interp, inject, bc, stype, df, nu)
 Construct PETSc Multi-Grid preconditioner using native mechanics.
 
subroutine create_petsc_pre (pre, pre_type)
 
subroutine create_petsc_solver (solver, solver_type)
 
recursive subroutine create_pre_xml (pre, pre_node, native_solver, level)
 
recursive subroutine create_solver_xml (solver, solver_node, level)
 

Function/Subroutine Documentation

◆ create_bjacobi_pre()

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

◆ create_cg_solver()

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

◆ create_diag_pre()

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

◆ 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 
)

◆ 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,
procedure(oft_veccreate_proto create_vec,
procedure(oft_interp_proto interp,
procedure(oft_interp_proto inject,
type(fox_node), intent(in), pointer  pre_node,
procedure(oft_bc_proto), optional  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]create_vecVector creation subroutine
[in]interpInterpolation subroutine
[in]injectRestriction subroutine
[in]pre_node

◆ 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,
procedure(oft_veccreate_proto create_vec,
procedure(oft_interp_proto interp,
procedure(oft_interp_proto inject,
procedure(oft_bc_proto), optional  bc,
integer(i4), intent(in), optional  stype,
real(r8), dimension(:), intent(in), optional  df,
integer(i4), dimension(:), intent(in), optional  nu,
type(fox_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]create_vecVector creation subroutine
[in]interpInterpolation subroutine
[in]injectRestriction subroutine param[in] bc Bondary 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,
procedure(oft_veccreate_proto create_vec,
procedure(oft_interp_proto interp,
procedure(oft_interp_proto inject,
procedure(oft_bc_proto), optional  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]create_vecVector creation subroutine
[in]interpInterpolation subroutine
[in]injectRestriction subroutine
[in]bcBondary condition subroutine (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 
)

◆ create_native_solver()

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

◆ 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,
procedure(oft_veccreate_proto create_vec,
procedure(oft_interp_proto interp,
procedure(oft_interp_proto inject,
procedure(oft_bc_proto), optional  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]create_vecVector creation subroutine
[in]interpInterpolation subroutine
[in]injectRestriction subroutine
[in]bcBondary condition subroutine (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 
)

◆ create_petsc_solver()

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

◆ create_pre_xml()

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

◆ create_solver_xml()

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