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_la_base Module Reference

Detailed Description

Abstract vector and matrix interfaces.

See also
oft_native_la
oft_petsc_la
Authors
Chris Hansen
Date
Feburary 2012

Data Types

interface  cmat_add_values
 Add values to a matrix. More...
 
interface  cmat_apply_cvec
 Compute matrix-vector product. More...
 
interface  cmat_assemble
 Finish assembly of matrix and optionally extract diagonals. More...
 
interface  cmat_set_values
 Set values of a matrix. More...
 
interface  cmat_zero
 Zero all entries in matrix. More...
 
interface  cmat_zero_rows
 Zero all entries in the specified rows. More...
 
interface  cvec_add_cvec
 Add vectors. More...
 
interface  cvec_add_vec
 Add vectors. More...
 
interface  cvec_dot_cvec
 Dot product with a second vector. More...
 
interface  cvec_dot_vec
 Dot product with a second vector (real) More...
 
interface  cvec_get_local
 Get local values from vector. More...
 
interface  cvec_get_slice
 Get values for locally-owned portion of vector (slice) More...
 
interface  cvec_mdot_cvec
 Dot product with an arrays of vectors. More...
 
interface  cvec_mdot_vec
 Dot product with an arrays of vectors (real) More...
 
interface  cvec_mult_cvec
 Multiply vectors element by element. More...
 
interface  cvec_mult_vec
 Multiply vectors element by element. More...
 
interface  cvec_new_cvec
 Create a new vector as a bare copy of an existing vector. More...
 
interface  cvec_new_vec
 Create a new vector as a bare copy of an existing real vector. More...
 
interface  cvec_norm
 Norm of a vector. More...
 
interface  cvec_restore_local
 Set/add local values to vector. More...
 
interface  cvec_restore_slice
 Set/add values for locally-owned portion of vector (slice) More...
 
interface  cvec_scale
 Scale vector by a scalar. More...
 
interface  cvec_set
 Set all elements to a scalar. More...
 
interface  cvec_stitch
 Perform global stitching. More...
 
interface  cvec_sum
 Sum reduction over a vector. More...
 
type  map_list
 Block mapping pointer. More...
 
interface  mat_add_values
 Add values to a matrix. More...
 
interface  mat_apply_cvec
 Compute matrix-vector product (complex vector) More...
 
interface  mat_apply_vec
 Compute matrix-vector product. More...
 
interface  mat_assemble
 Finish assembly of matrix and optionally extract real diagonal. More...
 
interface  mat_set_values
 Set values of a matrix. More...
 
interface  mat_zero
 Zero all entries in matrix. More...
 
interface  mat_zero_rows
 Zero all entries in the specified rows. More...
 
type  oft_cmatrix
 Abstract complex matrix class. More...
 
type  oft_cmatrix_ptr
 Matrix pointer. More...
 
type  oft_cvector
 Abstract complex vector class. More...
 
type  oft_cvector_ptr
 Vector pointer (complex) More...
 
type  oft_graph
 CSR graph representation. More...
 
type  oft_graph_ptr
 Graph pointer. More...
 
interface  oft_inject_proto
 Inject vector one level down (restriction) More...
 
interface  oft_interp_proto
 Interpolate vector one level up (prolongation) More...
 
type  oft_local_cmat
 Needs docs. More...
 
type  oft_local_mat
 Needs docs. More...
 
type  oft_map
 Block mapping structure. More...
 
type  oft_matrix
 Abstract matrix class. More...
 
type  oft_matrix_map
 Sub-matrix mapping. More...
 
type  oft_matrix_ptr
 Matrix pointer. More...
 
type  oft_ml_vecspace
 Needs docs. More...
 
interface  oft_veccreate_proto
 Create vector on specified level. More...
 
type  oft_vector
 Abstract vector class. More...
 
type  oft_vector_ptr
 Vector pointer. More...
 
interface  vec_add
 Add vectors. More...
 
interface  vec_dot_cvec
 Dot product with a second vector (complex) More...
 
interface  vec_dot_vec
 Dot product with a second vector. More...
 
interface  vec_get_local
 Get local values from vector. More...
 
interface  vec_get_slice
 Get values for locally-owned portion of vector (slice) More...
 
interface  vec_mdot_cvec
 Dot product with an arrays of vectors (complex) More...
 
interface  vec_mdot_vec
 Dot product with an arrays of vectors. More...
 
interface  vec_mult
 Multiply vectors element by element. More...
 
interface  vec_new_cvec
 Create a new vector as a bare copy of an existing complex vector. More...
 
interface  vec_new_vec
 Create a new vector as a bare copy of an existing vector. More...
 
interface  vec_norm
 Norm of a vector. More...
 
interface  vec_restore_local
 Set/add local values to vector. More...
 
interface  vec_restore_slice
 Set/add values for locally-owned portion of vector (slice) More...
 
interface  vec_scale
 Scale vector by a scalar. More...
 
interface  vec_set
 Set all elements to a scalar. More...
 
interface  vec_stitch
 Perform global stitching. More...
 
interface  vec_sum
 Sum reduction over a vector. More...
 

Functions/Subroutines

subroutine cmatrix_apply_vec (self, a, b)
 Compute matrix vector product.
 
subroutine cmatrix_applyt_vec (self, a, b)
 Apply matrix vector product for matrix transpose.
 
subroutine cmatrix_delete (self)
 Delete matrix.
 
subroutine cvector_delete (self)
 Finalize vector.
 
subroutine matrix_apply_cvec (self, a, b)
 Compute matrix vector product (complex)
 
subroutine matrix_applyt_cvec (self, a, b)
 Apply matrix vector product for matrix transpose (complex vector)
 
subroutine matrix_delete (self)
 Delete matrix.
 
subroutine vector_delete (self)
 Finalize vector.
 
subroutine, public vector_extrapolate (x, vectors, n, xe, output)
 Extrapolate a vector using a polynomial fit to previous vectors.
 

Function/Subroutine Documentation

◆ cmatrix_apply_vec()

subroutine cmatrix_apply_vec ( class(oft_cmatrix), intent(inout)  self,
class(oft_vector), intent(inout), target  a,
class(oft_cvector), intent(inout)  b 
)
private

Compute matrix vector product.

b = self * a

Parameters
[in,out]selfMatrix object
[in,out]aVector object
[in,out]bResult vector

◆ cmatrix_applyt_vec()

subroutine cmatrix_applyt_vec ( class(oft_cmatrix), intent(inout)  self,
class(oft_vector), intent(inout), target  a,
class(oft_cvector), intent(inout)  b 
)
private

Apply matrix vector product for matrix transpose.

b = self^T * a

Parameters
[in,out]selfMatrix object
[in,out]aVector object
[in,out]bResult vector

◆ cmatrix_delete()

subroutine cmatrix_delete ( class(oft_cmatrix), intent(inout)  self)
private

Delete matrix.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized matrices

◆ cvector_delete()

subroutine cvector_delete ( class(oft_cvector), intent(inout)  self)
private

Finalize vector.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized vectors

◆ matrix_apply_cvec()

subroutine matrix_apply_cvec ( class(oft_matrix), intent(inout)  self,
class(oft_cvector), intent(inout), target  a,
class(oft_cvector), intent(inout)  b 
)
private

Compute matrix vector product (complex)

b = self * a

Parameters
[in,out]selfMatrix object
[in,out]aVector object
[in,out]bResult vector

◆ matrix_applyt_cvec()

subroutine matrix_applyt_cvec ( class(oft_matrix), intent(inout)  self,
class(oft_cvector), intent(inout), target  a,
class(oft_cvector), intent(inout)  b 
)
private

Apply matrix vector product for matrix transpose (complex vector)

b = self^T * a

Parameters
[in,out]selfMatrix object
[in,out]aVector object
[in,out]bResult vector

◆ matrix_delete()

subroutine matrix_delete ( class(oft_matrix), intent(inout)  self)
private

Delete matrix.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized matrices.

◆ vector_delete()

subroutine vector_delete ( class(oft_vector), intent(inout)  self)
private

Finalize vector.

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized vectors

◆ vector_extrapolate()

subroutine, public vector_extrapolate ( real(r8), dimension(:), intent(in)  x,
type(oft_vector_ptr), dimension(:), intent(inout)  vectors,
integer(i4), intent(in)  n,
real(r8), intent(in)  xe,
class(oft_vector), intent(inout)  output 
)

Extrapolate a vector using a polynomial fit to previous vectors.

Parameters
[in]xArray of previous positions [n]
[in,out]vectorsArray of previous vectors [n]
[in]nNumber of vectors to use for interpolation
[in]xePosition to extrapolate to
[in,out]outputExtrapolated vector