BSpline Finite Element Exterior Calculus
Loading...
Searching...
No Matches
m_tensorprod_indices::tensorprodindexlist Type Reference

Type to hold lists of tensor product indices. More...

Public Member Functions

procedure init (this, inds, my_inds, l0)
 Initialize the TensorProdIndexList from the given TensorProdIndices.
 
procedure destroy (this)
 Destroy the TensorProdIndexList.
 
generic get_local_index (this, i, j)
 Get the local index in the TensorProdIndexList for a given global Cartesian index (2D version)
 
generic get_local_index (this, i, j, k)
 Get the local index in the TensorProdIndexList for a given global Cartesian index.
 
procedure get_bounds (this, i_min, i_max, j_min, j_max, k_min, k_max)
 Get the index bounds from a single TensorProdIndexList.
 

Public Attributes

integer, dimension(:), allocatable lin
 Linear index.
 
integer, dimension(:), allocatable i
 Cartesian index i.
 
integer, dimension(:), allocatable j
 Cartesian index j.
 
integer, dimension(:), allocatable k
 Cartesian index k.
 
type(tensorprodindicestp_inds
 The corresponding TensorProdIndices.
 

Detailed Description

Type to hold lists of tensor product indices.

This type holds a list of indices for a tensor product space, where the indices themselves are not necessarily a tensor product of 1D indices

Member Function/Subroutine Documentation

◆ destroy()

procedure m_tensorprod_indices::tensorprodindexlist::destroy ( class(tensorprodindexlist), intent(inout) this)

Destroy the TensorProdIndexList.

Parameters
this[inout]The TensorProdIndexList to destroy

◆ get_bounds()

procedure m_tensorprod_indices::tensorprodindexlist::get_bounds ( class(tensorprodindexlist), intent(in) this,
integer, intent(out) i_min,
integer, intent(out) i_max,
integer, intent(out) j_min,
integer, intent(out) j_max,
integer, intent(out), optional k_min,
integer, intent(out), optional k_max )

Get the index bounds from a single TensorProdIndexList.

Parameters
[in]index_listThe TensorProdIndexList
[out]i_minThe minimum i-index
[out]i_maxThe maximum i-index
[out]j_minThe minimum j-index
[out]j_maxThe maximum j-index
[out]_(optional)_k_min The minimum k-index
[out]_(optional)_k_max The maximum k-index

◆ get_local_index() [1/2]

generic m_tensorprod_indices::tensorprodindexlist::get_local_index ( class(tensorprodindexlist), intent(in) this,
integer, intent(in) i,
integer, intent(in) j )

Get the local index in the TensorProdIndexList for a given global Cartesian index (2D version)

Parameters
thisThe TensorProdIndexList
iThe global x-index
jThe global y-index
Returns
The local index in the TensorProdIndexList

◆ get_local_index() [2/2]

generic m_tensorprod_indices::tensorprodindexlist::get_local_index ( class(tensorprodindexlist), intent(in) this,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k )

Get the local index in the TensorProdIndexList for a given global Cartesian index.

Parameters
thisThe TensorProdIndexList
iThe global x-index
jThe global y-index
kThe global z-index
Returns
The local index in the TensorProdIndexList

◆ init()

procedure m_tensorprod_indices::tensorprodindexlist::init ( class(tensorprodindexlist), intent(inout) this,
type(tensorprodindices), intent(in) inds,
type(tensorprodindices), intent(in) my_inds,
integer, intent(in) l0 )

Initialize the TensorProdIndexList from the given TensorProdIndices.

Parameters
this[inout]The TensorProdIndexList to initialize
inds[in]The TensorProdIndices to use for initialization
my_inds[in]The TensorProdIndices of the current rank (used for determining the global linear index, as well as the complement when applicable)
l0[in]The starting linear index for the current rank (used for determining the global linear index)
Note
If indscomplement is true, the indices will be initialized as the complement of the specified indices within my_inds

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