The Open FUSION Toolkit 1.0.0-beta5
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 field interfaces and native vector implementations.

Abstract interface definitions

Native vector implementations

See also
oft_petsc_vectors
Authors
Chris Hansen
Date
Feburary 2012

Data Types

interface  cmat_add_values
 Add values to a matrix. More...
 
interface  cmat_apply_cvec
 Apply the matrix to a field and optionally add it to an existing field. 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 fields. More...
 
interface  cvec_add_vec
 Add fields. More...
 
interface  cvec_dot_cvec
 Dot product with a second field. More...
 
interface  cvec_dot_vec
 Dot product with a second field. More...
 
interface  cvec_get_local
 Set all elements to a scalar. More...
 
interface  cvec_get_slice
 Set all elements to a scalar. More...
 
interface  cvec_mdot_cvec
 Dot product with an arrays of vectors. More...
 
interface  cvec_mdot_vec
 Dot product with an arrays of vectors. More...
 
interface  cvec_mult_cvec
 Multiply fields element by element. More...
 
interface  cvec_mult_vec
 Multiply fields element by element. More...
 
interface  cvec_new_cvec
 Create a new field as a bare copy. More...
 
interface  cvec_new_vec
 Create a new field as a bare copy. More...
 
interface  cvec_norm
 Norm of a field. More...
 
interface  cvec_restore_local
 Set all elements to a scalar. More...
 
interface  cvec_restore_slice
 Set all elements to a scalar. More...
 
interface  cvec_scale
 Scale field 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 field. More...
 
type  map_list
 Block mapping pointer. More...
 
interface  mat_add_values
 Add values to a matrix. More...
 
interface  mat_apply_cvec
 Apply the matrix to a field and optionally add it to an existing field. More...
 
interface  mat_apply_vec
 Apply the matrix to a field and optionally add it to an existing field. 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
 Field pointer. More...
 
type  oft_graph
 CSR graph representation. More...
 
type  oft_graph_ptr
 Graph pointer. More...
 
type  oft_local_cmat
 
type  oft_local_mat
 
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_vector
 Abstract field class. More...
 
type  oft_vector_ptr
 Field pointer. More...
 
interface  vec_add
 Add fields. More...
 
interface  vec_dot_cvec
 Dot product with a second field. More...
 
interface  vec_dot_vec
 Dot product with a second field. More...
 
interface  vec_get_local
 Set all elements to a scalar. More...
 
interface  vec_get_slice
 Set all elements to a scalar. More...
 
interface  vec_mdot_cvec
 Dot product with an arrays of vectors. More...
 
interface  vec_mdot_vec
 Dot product with an arrays of vectors. More...
 
interface  vec_mult
 Multiply fields element by element. More...
 
interface  vec_new_cvec
 Create a new field as a bare copy. More...
 
interface  vec_new_vec
 Create a new field as a bare copy. More...
 
interface  vec_norm
 Norm of a field. More...
 
interface  vec_restore_local
 Set all elements to a scalar. More...
 
interface  vec_restore_slice
 Set all elements to a scalar. More...
 
interface  vec_scale
 Scale field 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 field. More...
 

Functions/Subroutines

subroutine cmatrix_apply_vec (self, a, b)
 Apply the matrix to a field and optionally add it to an existing field.
 
subroutine cmatrix_applyt_vec (self, a, b)
 Apply the matrix to a field and optionally add it to an existing field.
 
subroutine cmatrix_delete (self)
 Delete matrix.
 
subroutine cvector_delete (self)
 Finalize field.
 
subroutine matrix_apply_cvec (self, a, b)
 Apply the matrix to a field and optionally add it to an existing field.
 
subroutine matrix_applyt_cvec (self, a, b)
 Apply the matrix to a field and optionally add it to an existing field.
 
subroutine matrix_delete (self)
 Delete matrix.
 
subroutine vector_delete (self)
 Finalize field.
 
subroutine, public vector_extrapolate (x, fields, n, xe, output)
 Extrapolate a field using a polynomial fit to previous fields.
 

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

Apply the matrix to a field and optionally add it to an existing field.

b = self * a

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized matrices.
Parameters
[in]aSource field
[in,out]bResult of matrix product
[in]betaFactor for matrix addition

◆ 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 the matrix to a field and optionally add it to an existing field.

b = self * a

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized matrices.
Parameters
[in]aSource field
[in,out]bResult of matrix product
[in]betaFactor for matrix addition

◆ 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 field.

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

◆ 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

Apply the matrix to a field and optionally add it to an existing field.

b = self^T * a

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized matrices.
Parameters
[in]aSource field
[in,out]bResult of matrix product
[in]betaFactor for matrix addition

◆ 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 the matrix to a field and optionally add it to an existing field.

b = self^T * a

Note
This subroutine is a dummy routine used to specify the interface of the member function and catch errors in uninitialized matrices.
Parameters
[in]aSource field
[in,out]bResult of matrix product
[in]betaFactor for matrix addition

◆ 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 field.

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

◆ vector_extrapolate()

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

Extrapolate a field using a polynomial fit to previous fields.

Parameters
[in]xArray of previous positions [n]
[in,out]fieldsArray of previous fields [n]
[in]nNumber of fields to use for interpolation
[in]xePosition to extrapolate to
[in,out]outputExtrapolated field