The Open FUSION Toolkit 1.0.0-8905cc5
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.