|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Abstract vector class.
Basic class for OFT vectors

Public Member Functions | |
| procedure(vec_add), deferred | add (self, gamma, alpha, a, beta, b) |
| Add vectors. | |
| procedure | delete (self) |
| Delete vector. | |
| generic | dot (self, a) |
| Dot product with a second vector. | |
| generic | dot (self, a) |
| Dot product with a second vector. | |
| procedure(vec_dot_cvec), deferred | dot_complex (self, a) |
| procedure(vec_dot_vec), deferred | dot_real (self, a) |
| procedure(vec_get_local), deferred | get_local (self, array, iblock) |
| Get local portion of vector. | |
| procedure(vec_get_slice), deferred | get_slice (self, array, iblock) |
| Get locally-owned portion of vector. | |
| generic | mdot (self, a, n) |
| Dot product with a set of vectors. | |
| generic | mdot (self, a, n) |
| Dot product with a set of vectors. | |
| procedure(vec_mdot_cvec), deferred | mdot_complex (self, a, n) |
| procedure(vec_mdot_vec), deferred | mdot_real (self, a, n) |
| procedure(vec_mult), deferred | mult (self, a, div_flag) |
| Multiply vectors element by element. | |
| generic | new (self, new) |
| Create a new vector as a bare copy. | |
| generic | new (self, new) |
| Create a new vector as a bare copy. | |
| procedure(vec_new_cvec), deferred | new_complex (self, new) |
| procedure(vec_new_vec), deferred | new_real (self, new) |
| procedure(vec_norm), deferred | norm (self, itype) |
| Norm of vector. | |
| procedure(vec_restore_local), deferred | restore_local (self, array, iblock, add, wait) |
| Restore local portion of vector. | |
| procedure(vec_restore_slice), deferred | restore_slice (self, array, iblock, wait) |
| Restore locally-owned portion of vector. | |
| procedure(vec_scale), deferred | scale (self, alpha) |
| Scale vector by a scalar. | |
| procedure(vec_set), deferred | set (self, alpha, iblock, random) |
| Set all elements to a scalar. | |
| procedure(vec_stitch), deferred | stitch (self, up_method) |
| Perform global sitching. | |
| procedure(vec_sum), deferred | sum (self) |
| Sum reduction over vector. | |
Public Attributes | |
| type(oft_map), dimension(:), pointer | map => NULL() |
| Block mapping. | |
| integer(i4) | n = -1 |
| Local size of vector. | |
| integer(i4) | nblocks = 1 |
| Number of blocks. | |
| integer(i8) | ng = -1 |
| Gobal size of vector. | |
| integer(i4) | nslice = -1 |
| Number of locally-owned values. | |
| type(oft_seam), pointer | stitch_info => NULL() |
| Seam information. | |
|
pure virtual |
Add vectors.
| [in,out] | self | Vector object |
| [in] | gamma | Scale of source vector |
| [in] | alpha | Scale of first vector |
| [in,out] | a | First vector to add |
| [in] | beta | Scale of second vector (optional) |
| [in,out] | b | Second vector to add (optional) |
| procedure delete | ( | class(oft_vector), intent(inout) | self | ) |
Delete vector.
| generic dot | ( | class(oft_vector), intent(inout) | self, |
| class(oft_cvector), intent(inout), target | a | ||
| ) |
Dot product with a second vector.
| [in,out] | self | Vector object |
| [in,out] | a | Second vector for dot product |
| generic dot | ( | class(oft_vector), intent(inout) | self, |
| class(oft_vector), intent(inout), target | a | ||
| ) |
Dot product with a second vector.
| [in,out] | self | Vector object |
| [in,out] | a | Second vector for dot product |
|
pure virtual |
| [in,out] | self | Vector object |
| [in,out] | a | Second vector for dot product |
|
pure virtual |
| [in,out] | self | Vector object |
| [in,out] | a | Second vector for dot product |
|
pure virtual |
Get local portion of vector.
| [in,out] | self | Vector object |
| [in,out] | array | Local values |
| [in] | iblock | Sub-block to retrieve |
|
pure virtual |
Get locally-owned portion of vector.
| [in,out] | self | Vector object |
| [in,out] | array | Slice values |
| [in] | iblock | Sub-block to retrieve |
| generic mdot | ( | class(oft_vector), intent(inout) | self, |
| type(oft_cvector_ptr), dimension(n), intent(inout) | a, | ||
| integer(i4), intent(in) | n | ||
| ) |
Dot product with a set of vectors.
| [in,out] | self | Vector object |
| [in,out] | a | Array of vectors for dot product [n] |
| [in] | n | Length of vector array |
| generic mdot | ( | class(oft_vector), intent(inout) | self, |
| type(oft_vector_ptr), dimension(n), intent(inout) | a, | ||
| integer(i4), intent(in) | n | ||
| ) |
Dot product with a set of vectors.
| [in,out] | self | Vector object |
| [in,out] | a | Array of vectors for dot product [n] |
| [in] | n | Length of vector array |
|
pure virtual |
| [in,out] | self | Vector object |
| [in,out] | a | Array of vectors for dot product [n] |
| [in] | n | Length of vector array |
|
pure virtual |
| [in,out] | self | Vector object |
| [in,out] | a | Array of vectors for dot product [n] |
| [in] | n | Length of vector array |
|
pure virtual |
Multiply vectors element by element.
| [in,out] | self | Vector object |
| [in,out] | a | vector for multiplication |
| [in] | div_flag | Divide instead of multiply? |
| generic new | ( | class(oft_vector), intent(in) | self, |
| class(oft_cvector), intent(out), pointer | new | ||
| ) |
Create a new vector as a bare copy.
| [in] | self | Vector object |
| [out] | new | New vector |
| generic new | ( | class(oft_vector), intent(in) | self, |
| class(oft_vector), intent(out), pointer | new | ||
| ) |
Create a new vector as a bare copy.
| [in] | self | Vector object |
| [out] | new | New vector |
|
pure virtual |
| [in] | self | Vector object |
| [out] | new | New vector |
|
pure virtual |
| [in] | self | Vector object |
| [out] | new | New vector |
|
pure virtual |
Norm of vector.
| [in,out] | self | Vector object |
| [in] | itype | Type of norm (1-> 1-norm, 2-> 2-norm, 3-> Inf-norm) |
|
pure virtual |
Restore local portion of vector.
| [in,out] | self | Vector object |
| [in] | array | Local values |
| [in] | iblock | Sub-block to restore |
| [in] | add | Add values instead of replace |
| [in] | wait | Wait to perform global sync |
|
pure virtual |
Restore locally-owned portion of vector.
| [in,out] | self | Vector object |
| [in] | array | Slice values |
| [in] | iblock | Sub-block to restore |
| [in] | wait | Wait to perform global sync? |
|
pure virtual |
Scale vector by a scalar.
| [in,out] | self | Vector object |
| [in] | alpha | Scale factor |
|
pure virtual |
Set all elements to a scalar.
| [in,out] | self | Vector object |
| [in] | alpha | Updated vector value |
| [in] | iblock | Vector sub-block to act on |
| [in] | random | Set to random number, if true alpha is ignored (optional) |
|
pure virtual |
Perform global sitching.
| [in,out] | self | Vector object |
| [in] | up_method | Type of stitching to perform |
|
pure virtual |
Sum reduction over vector.
| [in,out] | self | Vector object |
| type(oft_map), dimension(:), pointer map => NULL() |
Block mapping.
| integer(i4) n = -1 |
Local size of vector.
| integer(i4) nblocks = 1 |
Number of blocks.
| integer(i8) ng = -1 |
Gobal size of vector.
| integer(i4) nslice = -1 |
Number of locally-owned values.
| type(oft_seam), pointer stitch_info => NULL() |
Seam information.