marray_compound_mod Module Reference

derived class for compound of mesh arrays More...

Data Types

type  compound_item
 
interface  marray_compound
 data types and methods More...
 

Functions/Subroutines

type(marray_compound) function createmarray_compound (n)
 constructor for compound of mesh arrays More...
 
logical function assignpointers (this)
 assign pointers of different shapes to the 1D data More...
 
subroutine assignmarray_0 (this, ma)
 assigns one compound of mesh arrays to another compound of mesh arrays More...
 
logical function shapesmatch (this, ma)
 
logical function appendmarray (this, ma)
 
type(compound_item) function, pointer firstitem (this)
 get the first item from the list of compound elements More...
 
type(compound_item) function, pointer lastitem (this)
 get the last item from the list of compound elements More...
 
type(compound_item) function, pointer nextitem (this, item)
 get the next item from the list of compound elements More...
 
type(marray_base) function, pointer getitem (this, list_entry)
 get pointer to the mesh array from a given item More...
 
subroutine appenditem (this, ma)
 append an item to the list of compound elements More...
 
logical function assignitempointers (this)
 
subroutine destroy (this, called_from_finalize)
 manual destructor of compounds ATTENTION: the data array itself is deallocated by the inherited finalizer More...
 
subroutine finalize (this)
 automatic destructor of compounds More...
 

Detailed Description

derived class for compound of mesh arrays

Author
Tobias Illenseer
Todo:
improve error handling for compound arrays

Function/Subroutine Documentation

◆ appenditem()

subroutine marray_compound_mod::appenditem ( class(marray_compound this,
type(marray_base), pointer  ma 
)
private

append an item to the list of compound elements

Definition at line 443 of file marray_compound.f90.

◆ appendmarray()

logical function marray_compound_mod::appendmarray ( class(marray_compound this,
type(marray_base), pointer  ma 
)
private

Definition at line 275 of file marray_compound.f90.

◆ assignitempointers()

logical function marray_compound_mod::assignitempointers ( class(marray_compound this)
private

Definition at line 491 of file marray_compound.f90.

◆ assignmarray_0()

subroutine marray_compound_mod::assignmarray_0 ( class(marray_compound), intent(inout)  this,
class(marray_base), intent(in)  ma 
)
private

assigns one compound of mesh arrays to another compound of mesh arrays

Definition at line 118 of file marray_compound.f90.

◆ assignpointers()

logical function marray_compound_mod::assignpointers ( class(marray_compound), intent(inout)  this)

assign pointers of different shapes to the 1D data

Definition at line 103 of file marray_compound.f90.

◆ createmarray_compound()

type(marray_compound) function marray_compound_mod::createmarray_compound ( integer, intent(in), optional  n)
private

constructor for compound of mesh arrays

There exist two types of compounds differing by their rank:

  • rank 0 compounds are associated with rank 1 mesh arrays; hence they basically store one vector of arbitrary dimension in each cell and are mostly used for cell center data
  • rank 1 compounds are associated with rank 2 mesh arrays; they store an arbitrary number of vectors of arbitrary dimension in each cell and are mostly used for cell face data

Definition at line 80 of file marray_compound.f90.

Here is the caller graph for this function:

◆ destroy()

subroutine marray_compound_mod::destroy ( class(marray_compound this,
logical, optional  called_from_finalize 
)
private

manual destructor of compounds ATTENTION: the data array itself is deallocated by the inherited finalizer

Definition at line 522 of file marray_compound.f90.

◆ finalize()

subroutine marray_compound_mod::finalize ( type(marray_compound), intent(inout)  this)
private

automatic destructor of compounds

Definition at line 561 of file marray_compound.f90.

◆ firstitem()

type(compound_item) function, pointer marray_compound_mod::firstitem ( class(marray_compound), intent(in)  this)
private

get the first item from the list of compound elements

Definition at line 394 of file marray_compound.f90.

◆ getitem()

type(marray_base) function, pointer marray_compound_mod::getitem ( class(marray_compound this,
type(compound_item), pointer  list_entry 
)
private

get pointer to the mesh array from a given item

Definition at line 432 of file marray_compound.f90.

◆ lastitem()

type(compound_item) function, pointer marray_compound_mod::lastitem ( class(marray_compound), intent(in)  this)
private

get the last item from the list of compound elements

Definition at line 404 of file marray_compound.f90.

◆ nextitem()

type(compound_item) function, pointer marray_compound_mod::nextitem ( class(marray_compound), intent(in)  this,
type(compound_item), pointer  item 
)
private

get the next item from the list of compound elements

Definition at line 418 of file marray_compound.f90.

◆ shapesmatch()

logical function marray_compound_mod::shapesmatch ( class(marray_compound), intent(in)  this,
class(marray_base), intent(in)  ma 
)
private

Definition at line 232 of file marray_compound.f90.