|
BSpline Finite Element Exterior Calculus
|
The tensor product neighbour type. More...
Public Member Functions | |
| procedure | init (this, my_domain, my_resp_inds, my_actv_inds, their_domain, their_resp_inds, their_act_inds, their_l0, nr_x, nr_y, nr_z) |
| Initialize a TensorProdNeighbour. | |
| procedure | empty (this) |
| Initialize an empty TensorProdNeighbour. | |
Public Attributes | |
| integer | their_rank |
| The node ID of the neighbour in the communicator (the linear index corresponding to their_subinterval_ijk(3)). | |
| integer | their_node |
| The node/processor ID of the neighbour in the communicator. | |
| integer | their_shmem_rank |
| The shared memory rank of the neighbour in the communicator. | |
| integer, dimension(3) | their_subinterval_ijk |
| The subinterval index in the x,y,z-direction for the neighbour. | |
| integer | their_l0 |
| The global index of the first B-spline in the neighbour's responsible B-spline space. | |
| integer | their_l1 |
| The global index of the last B-spline in the neighbour's responsible B-spline space. | |
| type(tensorprodindices) | their_rank_resp_bspline |
| The B-spline indices that the neighbour is responsible for. | |
| type(tensorprodindices) | their_rank_resp_intervals |
| The interval indices that the neighbour is responsible for. | |
| logical | send_to_us |
| Wether or not the neighbour is sending data to us. | |
| integer | send_tag |
| The tag used for receiving data from the neighbour. | |
| type(tensorprodindices) | send_to_us_inds |
| The B-spline indices that the neighbour is sending to us. | |
| logical | recv_from_us |
| Wether or not the neighbour is receiving data from us. | |
| integer | recv_tag |
| The tag used for sending data to the neighbour. | |
| type(tensorprodindices) | recv_from_us_inds |
| The B-spline indices that the neighbour is receiving from us. | |
The tensor product neighbour type.
This type contains information about a neighbour of the current tensor product domain, allowing for data to be exchanged between the domains
| procedure m_domain_neighbour::tensorprodneighbour::empty | ( | class(tensorprodneighbour), intent(inout) | this | ) |
Initialize an empty TensorProdNeighbour.
| [in,out] | this | The TensorProdNeighbour to initialize |
| procedure m_domain_neighbour::tensorprodneighbour::init | ( | class(tensorprodneighbour), intent(inout) | this, |
| type(tensorproddomain), intent(in) | my_domain, | ||
| type(tensorprodindices), intent(in) | my_resp_inds, | ||
| type(tensorprodindices), intent(in) | my_actv_inds, | ||
| type(tensorproddomain), intent(in) | their_domain, | ||
| type(tensorprodindices), intent(in) | their_resp_inds, | ||
| type(tensorprodindices), intent(in) | their_act_inds, | ||
| integer, intent(in) | their_l0, | ||
| integer, intent(in) | nr_x, | ||
| integer, intent(in) | nr_y, | ||
| integer, intent(in) | nr_z ) |
Initialize a TensorProdNeighbour.
| [in,out] | this | The TensorProdNeighbour to initialize |
| [in] | my_domain | The TensorProdDomain for the current rank |
| [in] | my_resp_inds | The responsible B-spline indices for the current rank |
| [in] | my_actv_inds | The active B-spline indices for the current rank |
| [in] | their_domain | The TensorProdDomain of the neighbour |
| [in] | their_resp_inds | The responsible B-spline indices for the neighbour |
| [in] | their_act_inds | The active B-spline indices for the neighbour |
| [in] | their_l0 | The global index of the first B-spline in the neighbour's responsible B-spline space |
| [in] | nr_x | The number of B-splines in the x-direction |
| [in] | nr_y | The number of B-splines in the y-direction |
| [in] | nr_z | The number of B-splines in the z-direction |