|
DOUG 0.2
|
Base types for element matrices and matrix distribution. More...
Data Types | |
| type | ElemMtxsChunk |
| ElemMtxsChunk type A helper structure used for distributing matrices. More... | |
| type | ElemMtxsPacket |
| ElemMtxsPacket type A structure for tracking element matrix packets being sent. More... | |
Functions/Subroutines | |
| subroutine | ElemMtxsChunk_Init (chunk, nell, Msh) |
| Initialization. | |
| subroutine | ElemMtxsChunk_Destroy (chunk) |
| Destructor. | |
| subroutine | ElemMtxsChunk_recv (chunk, Msh, p) |
| Wait for chunk from other processor When p is not specified, a chunk from any processor is accepted. | |
| subroutine | ElemMtxsChunk_fillInDense (D, chunk, M) |
| Fill in dense matrix out of element matrices. | |
| subroutine | ElemMtxsChunk_print (chunk) |
| Print out element matrix chunk. | |
| subroutine | ElemMtxsPacket_Init (packet, Msh, nelems) |
| Initialize packet. | |
| subroutine | ElemMtxsPacket_Destroy (packet) |
| Destructor. | |
| subroutine | ElemMtxsPacket_send (packet, Msh, p) |
| Send packet to processor p. | |
| logical | ElemMtxsPacket_sendInProgress (packet) |
| Check if packet sending is still in progress. | |
| subroutine | ElemMtxsPacket_wait (packet) |
| Wait for packet send request to finish. | |
Variables | |
| integer(kind=1), parameter | D_ELEM_INNER = 0 |
| Element types: element is considered 'interface' element when some of its freedoms are shared with elements from other partitions. | |
| integer(kind=1), parameter | D_ELEM_INTERF = 1 |
| integer, parameter | D_ELEMMTXS_IN_PACKET = 1024 |
| Packet size - element matrices are distributed with this granularity. | |
Base types for element matrices and matrix distribution.
| subroutine ElemMtxs_base::ElemMtxsChunk_Destroy | ( | type(ElemMtxsChunk),intent(inout) | chunk | ) |
Destructor.
Definition at line 114 of file ElemMtxs_base.F90.
Referenced by ElemMtxs_distribute::ElemMtxs_readAndDistribute(), ElemMtxs_distribute::ElemMtxs_recvAndAssemble(), ElemMtxs_distribute::ElemMtxsIntf_distAndAssemble(), and ElemMtxsPacket_Destroy().
| subroutine ElemMtxs_base::ElemMtxsChunk_fillInDense | ( | float(kind=rk),dimension(:,:),intent(inout) | D, |
| type(ElemMtxsChunk),intent(in) | chunk, | ||
| type(Mesh),intent(in) | M | ||
| ) |
Fill in dense matrix out of element matrices.
| D | dense matrix |
| chunk | element matrices |
| M | mesh associated with element matrices |
Definition at line 162 of file ElemMtxs_base.F90.
| subroutine ElemMtxs_base::ElemMtxsChunk_Init | ( | type(ElemMtxsChunk),intent(inout) | chunk, |
| integer,intent(in) | nell, | ||
| type(Mesh),intent(in) | Msh | ||
| ) |
Initialization.
| chunk | chunk to initialize |
| nell | number of elements to allocate in chunk |
| Msh | mesh corresponding to elements |
Definition at line 97 of file ElemMtxs_base.F90.
Referenced by ElemMtxs_distribute::ElemMtxs_recvAndAssemble(), ElemMtxs_distribute::ElemMtxsIntf_distAndAssemble(), and ElemMtxsPacket_Init().
| subroutine ElemMtxs_base::ElemMtxsChunk_print | ( | type(ElemMtxsChunk),intent(in) | chunk | ) |
Print out element matrix chunk.
Definition at line 190 of file ElemMtxs_base.F90.
References globals::stream.
| subroutine ElemMtxs_base::ElemMtxsChunk_recv | ( | type(ElemMtxsChunk),intent(inout) | chunk, |
| type(Mesh),intent(in) | Msh, | ||
| integer,intent(in),optional | p | ||
| ) |
Wait for chunk from other processor When p is not specified, a chunk from any processor is accepted.
| Msh | mesh associated with element matrices |
Definition at line 129 of file ElemMtxs_base.F90.
References parameters::D_TAG_ELEMMTXS_ELEMIDXS, parameters::D_TAG_ELEMMTXS_ELEMRHS, parameters::D_TAG_ELEMMTXS_ELEMS, and globals::MPI_fkind.
Referenced by ElemMtxs_distribute::ElemMtxs_recvAndAssemble(), and ElemMtxs_distribute::ElemMtxsIntf_distAndAssemble().
| subroutine ElemMtxs_base::ElemMtxsPacket_Destroy | ( | type(ElemMtxsPacket),intent(inout) | packet | ) |
Destructor.
Definition at line 246 of file ElemMtxs_base.F90.
References ElemMtxsChunk_Destroy().
Referenced by ElemMtxs_distribute::ElemMtxsIntf_Destroy().
| subroutine ElemMtxs_base::ElemMtxsPacket_Init | ( | type(ElemMtxsPacket),intent(out) | packet, |
| type(Mesh),intent(in) | Msh, | ||
| integer,intent(in),optional | nelems | ||
| ) |
Initialize packet.
Definition at line 227 of file ElemMtxs_base.F90.
References D_ELEMMTXS_IN_PACKET, and ElemMtxsChunk_Init().
Referenced by ElemMtxs_distribute::ElemMtxs_readAndDistribute(), and ElemMtxs_distribute::ElemMtxsIntf_newInit().
| subroutine ElemMtxs_base::ElemMtxsPacket_send | ( | type(ElemMtxsPacket),intent(inout),target | packet, |
| type(Mesh),intent(in) | Msh, | ||
| integer,intent(in) | p | ||
| ) |
Send packet to processor p.
Definition at line 258 of file ElemMtxs_base.F90.
References parameters::D_TAG_ELEMMTXS_ELEMIDXS, parameters::D_TAG_ELEMMTXS_ELEMRHS, parameters::D_TAG_ELEMMTXS_ELEMS, and globals::MPI_fkind.
Referenced by ElemMtxs_distribute::ElemMtxs_readAndDistribute(), and ElemMtxs_distribute::ElemMtxsIntf_distAndAssemble().
| logical ElemMtxs_base::ElemMtxsPacket_sendInProgress | ( | type(ElemMtxsPacket),intent(inout) | packet | ) |
Check if packet sending is still in progress.
Definition at line 286 of file ElemMtxs_base.F90.
References not.
Referenced by ElemMtxs_distribute::ElemMtxs_readAndDistribute().
| subroutine ElemMtxs_base::ElemMtxsPacket_wait | ( | type(ElemMtxsPacket),intent(inout) | packet | ) |
Wait for packet send request to finish.
Definition at line 309 of file ElemMtxs_base.F90.
Referenced by ElemMtxs_distribute::ElemMtxs_readAndDistribute(), and ElemMtxs_distribute::ElemMtxsIntf_distAndAssemble().
| integer(kind=1),parameter ElemMtxs_base::D_ELEM_INNER = 0 |
Element types: element is considered 'interface' element when some of its freedoms are shared with elements from other partitions.
Definition at line 47 of file ElemMtxs_base.F90.
Referenced by ElemMtxs_distribute::ElemMtxsIntf_buildInnerInterfEMask().
| integer(kind=1),parameter ElemMtxs_base::D_ELEM_INTERF = 1 |
Definition at line 48 of file ElemMtxs_base.F90.
Referenced by ElemMtxs_distribute::ElemMtxsIntf_buildInnerInterfEMask(), and ElemMtxs_distribute::ElemMtxsIntf_buildMapsMasks().
| integer,parameter ElemMtxs_base::D_ELEMMTXS_IN_PACKET = 1024 |
Packet size - element matrices are distributed with this granularity.
Definition at line 54 of file ElemMtxs_base.F90.
Referenced by ElemMtxs_distribute::ElemMtxs_recvAndAssemble(), and ElemMtxsPacket_Init().
1.7.3-20110217