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

Detailed Description

Abstract solver interfaces and select native implementations.

Abstract interface definitions

Native solver implementations

Preconditioner implementations

See also
oft_native_solvers, oft_petsc_solvers
Authors
Chris Hansen
Date
August 2011

Data Types

interface  csolver_apply
 Apply linear solver to compute \( A u = g\). More...
 
interface  csolver_delete
 Destroy linear solver and deallocate all internal storage. More...
 
interface  eigsolver_apply
 Apply eigensystem solver to compute eigenvalues/eigenvectors of the system \( A u_i = \lambda_i u_i \). More...
 
interface  eigsolver_delete
 Destroy eigensystem solver and deallocate all internal storage. More...
 
interface  oft_bc_delete
 Destroy boundary condition structure and deallocate all internal storage. More...
 
interface  oft_bc_proto
 Abstract boundary condition prototype. More...
 
interface  oft_cbc_delete
 Destroy boundary condition structure and deallocate all internal storage. More...
 
interface  oft_cbc_proto
 Abstract boundary condition prototype. More...
 
type  oft_csolver
 Base class for OFT solvers. More...
 
type  oft_csolver_bc
 Base class for OFT solver boundary condition. More...
 
type  oft_csolver_ptr
 Solver container. More...
 
type  oft_eigsolver
 Base class for OFT eigenvalue solvers. More...
 
type  oft_solver
 Base class for OFT solvers. More...
 
type  oft_solver_bc
 Base class for OFT solver boundary condition. More...
 
type  oft_solver_ptr
 Solver container. More...
 
interface  solver_apply
 Apply linear solver to compute \( A u = g\). More...
 
interface  solver_delete
 Destroy linear solver and deallocate all internal storage. More...
 

Functions/Subroutines

recursive logical function csolver_check_thread (self)
 Check thread safety.
 
subroutine, public csolver_setup (self)
 Update solver after changing settings/operators.
 
subroutine csolver_setup_xml (self, solver_node, level)
 Setup solver from XML definition.
 
recursive subroutine csolver_update (self, new_pattern)
 Update solver after changing settings/operators.
 
subroutine csolver_view (self)
 Print solver configuration.
 
subroutine, public eigsolver_setup (self)
 Update solver after changing settings/operators.
 
recursive logical function solver_check_thread (self)
 Check thread safety.
 
subroutine, public solver_setup (self)
 Update solver after changing settings/operators.
 
subroutine solver_setup_xml (self, solver_node, level)
 Setup solver from XML definition.
 
recursive subroutine solver_update (self, new_pattern)
 Update solver after changing settings/operators.
 
subroutine solver_view (self)
 Print solver configuration.
 

Function/Subroutine Documentation

◆ csolver_check_thread()

recursive logical function csolver_check_thread ( class(oft_csolver), intent(inout)  self)
private

Check thread safety.

Parameters
[in,out]selfSolver object

◆ csolver_setup()

subroutine, public csolver_setup ( class(oft_csolver), intent(inout)  self)

Update solver after changing settings/operators.

Parameters
[in,out]selfSolver object

◆ csolver_setup_xml()

subroutine csolver_setup_xml ( class(oft_csolver), intent(inout)  self,
type(xml_node), intent(in), pointer  solver_node,
integer(i4), intent(in), optional  level 
)
private

Setup solver from XML definition.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized solvers
Parameters
[in,out]selfSolver object
[in]solver_nodeXML element containing solver definition
[in]levelLevel in MG hierarchy (optional)

◆ csolver_update()

recursive subroutine csolver_update ( class(oft_csolver), intent(inout)  self,
logical, intent(in), optional  new_pattern 
)
private

Update solver after changing settings/operators.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized solvers
Parameters
[in,out]selfSolver object
[in]new_patternUpdate matrix non-zero pattern? (optional)

◆ csolver_view()

subroutine csolver_view ( class(oft_csolver), intent(inout)  self)
private

Print solver configuration.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized solvers
Parameters
[in,out]selfSolver object

◆ eigsolver_setup()

subroutine, public eigsolver_setup ( class(oft_eigsolver), intent(inout)  self)

Update solver after changing settings/operators.

Parameters
[in,out]selfSolver object

◆ solver_check_thread()

recursive logical function solver_check_thread ( class(oft_solver), intent(inout)  self)
private

Check thread safety.

Parameters
[in,out]selfSolver object

◆ solver_setup()

subroutine, public solver_setup ( class(oft_solver), intent(inout)  self)

Update solver after changing settings/operators.

Parameters
[in,out]selfSolver object

◆ solver_setup_xml()

subroutine solver_setup_xml ( class(oft_solver), intent(inout)  self,
type(xml_node), intent(in), pointer  solver_node,
integer(i4), intent(in), optional  level 
)
private

Setup solver from XML definition.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized solvers
Parameters
[in,out]selfSolver object
[in]solver_nodeXML element containing solver definition
[in]levelLevel in MG hierarchy (optional)

◆ solver_update()

recursive subroutine solver_update ( class(oft_solver), intent(inout)  self,
logical, intent(in), optional  new_pattern 
)
private

Update solver after changing settings/operators.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized solvers
Parameters
[in,out]selfSolver object
[in]new_patternUpdate matrix non-zero pattern? (optional)

◆ solver_view()

subroutine solver_view ( class(oft_solver), intent(inout)  self)
private

Print solver configuration.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized solvers
Parameters
[in,out]selfSolver object