| 
    Nektar++
    
   | 
 
Classes | |
| struct | allreduce_data | 
| struct | array | 
| struct | comm | 
| struct | cr_data | 
| struct | cr_stage | 
| struct | gs_data | 
| struct | gs_remote | 
| struct | pw_comm_data | 
| struct | pw_data | 
Typedefs | |
| typedef array | buffer | 
| typedef int | comm_ext | 
| typedef int | comm_req | 
| typedef void | exec_fun (void *data, gs_mode mode, unsigned vn, gs_dom dom, gs_op op, unsigned transpose, const void *execdata, const struct comm *comm, char *buf) | 
| typedef void | fin_fun (void *data) | 
Enumerations | |
| enum | gs_dom {  gs_double, gs_float, gs_int, gs_long, gs_dom_n }  | 
| enum | gs_op {  gs_add, gs_mul, gs_min, gs_max, gs_bpr, gs_op_n }  | 
| enum | gs_mode { mode_plain, mode_vec, mode_many, mode_dry_run } | 
| enum | gs_method { gs_auto, gs_pairwise, gs_crystal_router, gs_all_reduce } | 
Functions | |
| void | nektar_gs (void *u, gs_dom dom, gs_op op, unsigned transpose, gs_data *gsh, buffer *buf) | 
| gs_data * | nektar_gs_setup (const long *id, unsigned int n, const struct comm *comm, int unique, gs_method method, int verbose) | 
| void | nektar_gs_free (gs_data *gsh) | 
| void | nektar_gs_unique (const long *id, unsigned int n, const struct comm *comm) | 
| static gs_data * | Init (const Nektar::Array< OneD, long > pId, const LibUtilities::CommSharedPtr &pComm) | 
| Initialise Gather-Scatter map.  More... | |
| static void | Unique (const Nektar::Array< OneD, long > pId, const LibUtilities::CommSharedPtr &pComm) | 
| Updates pId to negate all-but-one references to each universal ID.  More... | |
| static void | Finalise (gs_data *pGsh) | 
| Deallocates the GSLib mapping data.  More... | |
| static void | Gather (Nektar::Array< OneD, NekDouble > pU, gs_op pOp, gs_data *pGsh, Nektar::Array< OneD, NekDouble > pBuffer=NullNekDouble1DArray) | 
| Performs a gather-scatter operation of the provided values.  More... | |
| typedef array Gs::buffer | 
| typedef int Gs::comm_ext | 
| typedef int Gs::comm_req | 
| enum Gs::gs_dom | 
| Enumerator | |
|---|---|
| gs_double | |
| gs_float | |
| gs_int | |
| gs_long | |
| gs_dom_n | |
Definition at line 52 of file GsLib.hpp.
| enum Gs::gs_method | 
| Enumerator | |
|---|---|
| gs_auto | |
| gs_pairwise | |
| gs_crystal_router | |
| gs_all_reduce | |
Definition at line 125 of file GsLib.hpp.
| enum Gs::gs_mode | 
| Enumerator | |
|---|---|
| mode_plain | |
| mode_vec | |
| mode_many | |
| mode_dry_run | |
| enum Gs::gs_op | 
| Enumerator | |
|---|---|
| gs_add | |
| gs_mul | |
| gs_min | |
| gs_max | |
| gs_bpr | |
| gs_op_n | |
Definition at line 53 of file GsLib.hpp.
      
  | 
  inlinestatic | 
Deallocates the GSLib mapping data.
Definition at line 206 of file GsLib.hpp.
References nektar_gs_free().
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), Nektar::LibUtilities::SessionReader::PartitionMesh(), and Nektar::MultiRegions::AssemblyMapCG::~AssemblyMapCG().
      
  | 
  inlinestatic | 
Performs a gather-scatter operation of the provided values.
The
Definition at line 224 of file GsLib.hpp.
References gs_double, and nektar_gs().
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditionerCG(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditionerHDG(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), Nektar::MultiRegions::AssemblyMap::UniversalAssembleBnd(), Nektar::MultiRegions::AssemblyMapDG::UniversalTraceAssemble(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::MultiRegions::AssemblyMapCG::v_LocalToGlobal(), Nektar::MultiRegions::AssemblyMapDG::v_UniversalAssemble(), and Nektar::MultiRegions::AssemblyMapCG::v_UniversalAssemble().
      
  | 
  inlinestatic | 
Initialise Gather-Scatter map.
On each process an array of IDs for each global degree of freedom is supplied which corresponds to a unique numbering of universal degrees of freedom. This is used to initialise the GSLib mapping between process- boundary degrees of freedom on different processes.
| pId | Array of integers providing universal IDs for each global DOF on the process. | 
| pComm | Communication object used for inter-process communication. | 
Definition at line 151 of file GsLib.hpp.
References ASSERTL1, Gs::comm::c, gs_auto, Gs::comm::id, nektar_gs_setup(), and Gs::comm::np.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditionerCG(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditionerHDG(), Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalTraceMap(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
| void Gs::nektar_gs | ( | void * | u, | 
| gs_dom | dom, | ||
| gs_op | op, | ||
| unsigned | transpose, | ||
| gs_data * | gsh, | ||
| buffer * | buf | ||
| ) | 
Referenced by Gather().
| void Gs::nektar_gs_free | ( | gs_data * | gsh | ) | 
Referenced by Finalise().
| gs_data* Gs::nektar_gs_setup | ( | const long * | id, | 
| unsigned int | n, | ||
| const struct comm * | comm, | ||
| int | unique, | ||
| gs_method | method, | ||
| int | verbose | ||
| ) | 
Referenced by Init().
| void Gs::nektar_gs_unique | ( | const long * | id, | 
| unsigned int | n, | ||
| const struct comm * | comm | ||
| ) | 
Referenced by Unique().
      
  | 
  inlinestatic | 
Updates pId to negate all-but-one references to each universal ID.
The array of universal IDs corresponding to the process-local DOF are updated such that the ID of only one instance of each universal ID remains positive. This allows the consistent formulation of universally -distributed dot products, for which the contributions of each DOF must be included only once.
Definition at line 184 of file GsLib.hpp.
References ASSERTL1, Gs::comm::c, Gs::comm::id, nektar_gs_unique(), and Gs::comm::np.
Referenced by Nektar::CoupledAssemblyMap::CoupledAssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalTraceMap(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
 1.8.8