BSpline Finite Element Exterior Calculus
Loading...
Searching...
No Matches
m_domain_decomp::tensorproddomain Interface Reference

The tensor product domain type; contrary to DomainDecomp, this type is specific to tensor product B-spline spaces. More...

Inheritance diagram for m_domain_decomp::tensorproddomain:
m_domain_decomp::domaindecomp

Public Member Functions

pure type(tensorproddomain) function init_tensorprod_domain (decomp)
 Initialize a TensorProdDomain.
 
- Public Member Functions inherited from m_domain_decomp::domaindecomp
procedure is_sequential_memory (this, dir)
 Determine whether the memory layout is sequential in this direction.
 
procedure is_shared_memory (this, dir)
 Determine whether the memory layout is shared in this direction.
 
procedure is_distributed_memory (this, dir)
 Determine whether the memory layout is distributed in this direction.
 
procedure destroy (this)
 Destroy a DomainDecomp by freeing the communicators.
 
type(domaindecomp) function init_domain_decomp (memory_layout_x, memory_layout_y, memory_layout_z, nx, ny, nz, comm, flat_mpi, dimensionality, my_node, my_shmem_rank, nr_nodes, nr_shmem_ranks)
 Initialize a DomainDecomp.
 

Public Attributes

type(boxmy_eval_bounds
 The subdomain bounds space on this node including the guard layer (i.e., where it is possible to evaluate the tensor product B-splines)
 
type(boxmy_rank_resp_bounds
 The subdomain bounds space on this node without the guard layer (i.e., the part of the domain owned by this node)
 
- Public Attributes inherited from m_domain_decomp::domaindecomp
integer my_rank
 The rank of this MPI process in the communicator.
 
integer nr_ranks
 The number of ranks in the communicator.
 
integer my_node = -1
 The node/processor ID (color used for splitting)
 
integer nr_nodes = 0
 The total number of distributed memory nodes in the communicator.
 
integer my_shmem_rank = -1
 The rank in the shared memory communicator.
 
integer nr_shmem_ranks = 0
 The number of ranks on the same node.
 
integer, dimension(3) memory_layout
 The memory layout in each direction (MEMORY_LAYOUT_SEQUENTIAL, MEMORY_LAYOUT_SHARED, MEMORY_LAYOUT_DISTRIBUTED)
 
integer, dimension(3) my_subinterval_ijk
 The subinterval index in the x,y,z-direction.
 
integer, dimension(3) nr_subintervals
 The number of subintervals in each direction (based on node distribution)
 
integer comm = MPI_COMM_NULL
 The communicator for all ranks.
 
integer comm_shmem = MPI_COMM_NULL
 The shared memory communicator (for ranks on the same node)
 
integer comm_node = MPI_COMM_NULL
 The communicator for the leading ranks on each node.
 
integer, dimension(3) nr_eff_neighbours
 The number of neighbouring domains for any memory layout.
 
integer, dimension(3) nr_comm_neighbours
 The number of neighbouring domains for distributed memory layout.
 
logical flat_mpi
 Forced flat MPI mode (i.e., no shared memory)
 

Detailed Description

The tensor product domain type; contrary to DomainDecomp, this type is specific to tensor product B-spline spaces.

Initialize a TensorProdDomain.

Member Function/Subroutine Documentation

◆ init_tensorprod_domain()

pure type(tensorproddomain) function m_domain_decomp::tensorproddomain::init_tensorprod_domain ( type(domaindecomp), intent(in) decomp)

Initialize a TensorProdDomain.

Parameters
[in]decompThe DomainDecomp to use for initializing the TensorProdDomain
Returns
ans The initialized TensorProdDomain

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