The Open FUSION Toolkit 1.0.0-beta5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
oft_vector Type Referenceabstract

Detailed Description

Abstract field class.

Basic class for OFT fields (ex. fem vectors)

Inheritance diagram for oft_vector:
Inheritance graph
[legend]

Public Member Functions

procedure(vec_add), deferred add (self, gamma, alpha, a, beta, b)
 Add fields.
 
procedure delete (self)
 Delete field.
 
generic dot (self, a)
 Dot product with a second field.
 
generic dot (self, a)
 Dot product with a second field.
 
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 field.
 
procedure(vec_get_slice), deferred get_slice (self, array, iblock)
 Get owned portion of field.
 
generic mdot (self, a, n)
 Dot product with a set of fields.
 
generic mdot (self, a, n)
 Dot product with a set of fields.
 
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 fields element by element.
 
generic new (self, new)
 Create a new field as a bare copy.
 
generic new (self, new)
 Create a new field 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 field.
 
procedure(vec_restore_local), deferred restore_local (self, array, iblock, add, wait)
 Restore local portion of field.
 
procedure(vec_restore_slice), deferred restore_slice (self, array, iblock, wait)
 Restore owned portion of field.
 
procedure(vec_scale), deferred scale (self, alpha)
 Scale field 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 field.
 

Public Attributes

type(oft_map), dimension(:), pointer map => NULL()
 Block mapping.
 
integer(i4n = -1
 Local size of field.
 
integer(i4nblocks = 1
 Number of blocks.
 
integer(i8ng = -1
 Gobal size of field.
 
integer(i4nslice = -1
 Local size of field.
 
type(oft_seam), pointer stitch_info => NULL()
 Seam information.
 

Member Function/Subroutine Documentation

◆ add()

procedure(vec_add), deferred add ( class(oft_vector), intent(inout)  self,
real(r8), intent(in)  gamma,
real(r8), intent(in)  alpha,
class(oft_vector), intent(inout), target  a,
real(r8), intent(in), optional  beta,
class(oft_vector), intent(inout), optional, target  b 
)
pure virtual

Add fields.

◆ delete()

procedure delete ( class(oft_vector), intent(inout)  self)

Delete field.

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

◆ dot() [1/2]

generic dot ( class(oft_vector), intent(inout)  self,
class(oft_cvector), intent(inout), target  a 
)

Dot product with a second field.

◆ dot() [2/2]

generic dot ( class(oft_vector), intent(inout)  self,
class(oft_vector), intent(inout), target  a 
)

Dot product with a second field.

◆ dot_complex()

procedure(vec_dot_cvec), deferred dot_complex ( class(oft_vector), intent(inout)  self,
class(oft_cvector), intent(inout), target  a 
)
pure virtual

◆ dot_real()

procedure(vec_dot_vec), deferred dot_real ( class(oft_vector), intent(inout)  self,
class(oft_vector), intent(inout), target  a 
)
pure virtual

◆ get_local()

procedure(vec_get_local), deferred get_local ( class(oft_vector), intent(inout)  self,
real(r8), dimension(:), intent(inout), pointer  array,
integer(i4), intent(in), optional  iblock 
)
pure virtual

Get local portion of field.

◆ get_slice()

procedure(vec_get_slice), deferred get_slice ( class(oft_vector), intent(inout)  self,
real(r8), dimension(:), intent(inout), pointer  array,
integer(i4), intent(in), optional  iblock 
)
pure virtual

Get owned portion of field.

◆ mdot() [1/2]

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 fields.

◆ mdot() [2/2]

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 fields.

◆ mdot_complex()

procedure(vec_mdot_cvec), deferred mdot_complex ( class(oft_vector), intent(inout)  self,
type(oft_cvector_ptr), dimension(n), intent(inout)  a,
integer(i4), intent(in)  n 
)
pure virtual

◆ mdot_real()

procedure(vec_mdot_vec), deferred mdot_real ( class(oft_vector), intent(inout)  self,
type(oft_vector_ptr), dimension(n), intent(inout)  a,
integer(i4), intent(in)  n 
)
pure virtual

◆ mult()

procedure(vec_mult), deferred mult ( class(oft_vector), intent(inout)  self,
class(oft_vector), intent(inout), target  a,
logical, intent(in), optional  div_flag 
)
pure virtual

Multiply fields element by element.

◆ new() [1/2]

generic new ( class(oft_vector), intent(in)  self,
class(oft_cvector), intent(out), pointer  new 
)

Create a new field as a bare copy.

◆ new() [2/2]

generic new ( class(oft_vector), intent(in)  self,
class(oft_vector), intent(out), pointer  new 
)

Create a new field as a bare copy.

◆ new_complex()

procedure(vec_new_cvec), deferred new_complex ( class(oft_vector), intent(in)  self,
class(oft_cvector), intent(out), pointer  new 
)
pure virtual

◆ new_real()

procedure(vec_new_vec), deferred new_real ( class(oft_vector), intent(in)  self,
class(oft_vector), intent(out), pointer  new 
)
pure virtual

◆ norm()

procedure(vec_norm), deferred norm ( class(oft_vector), intent(inout)  self,
integer(i4), intent(in)  itype 
)
pure virtual

Norm of field.

◆ restore_local()

procedure(vec_restore_local), deferred restore_local ( class(oft_vector), intent(inout)  self,
real(r8), dimension(:), intent(in)  array,
integer(i4), intent(in), optional  iblock,
logical, intent(in), optional  add,
logical, intent(in), optional  wait 
)
pure virtual

Restore local portion of field.

◆ restore_slice()

procedure(vec_restore_slice), deferred restore_slice ( class(oft_vector), intent(inout)  self,
real(r8), dimension(:), intent(in)  array,
integer(i4), intent(in), optional  iblock,
logical, intent(in), optional  wait 
)
pure virtual

Restore owned portion of field.

◆ scale()

procedure(vec_scale), deferred scale ( class(oft_vector), intent(inout)  self,
real(r8), intent(in)  alpha 
)
pure virtual

Scale field by a scalar.

◆ set()

procedure(vec_set), deferred set ( class(oft_vector), intent(inout)  self,
real(r8), intent(in)  alpha,
integer(i4), intent(in), optional  iblock,
logical, intent(in), optional  random 
)
pure virtual

Set all elements to a scalar.

◆ stitch()

procedure(vec_stitch), deferred stitch ( class(oft_vector), intent(inout)  self,
integer(i4), intent(in)  up_method 
)
pure virtual

Perform global sitching.

◆ sum()

procedure(vec_sum), deferred sum ( class(oft_vector), intent(inout)  self)
pure virtual

Sum reduction over field.

Member Data Documentation

◆ map

type(oft_map), dimension(:), pointer map => NULL()

Block mapping.

◆ n

integer(i4) n = -1

Local size of field.

◆ nblocks

integer(i4) nblocks = 1

Number of blocks.

◆ ng

integer(i8) ng = -1

Gobal size of field.

◆ nslice

integer(i4) nslice = -1

Local size of field.

◆ stitch_info

type(oft_seam), pointer stitch_info => NULL()

Seam information.


The documentation for this type was generated from the following file: