Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
KernelBuilderLog.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 Sandia Corporation. */
3 /* This software is released under the license detailed */
4 /* in the file, LICENSE, which is located in the top-level Nalu */
5 /* directory structure */
6 /*------------------------------------------------------------------------*/
7 #ifndef KernelBuilderLog_h
8 #define KernelBuilderLog_h
9 
10 #include <map>
11 #include <set>
12 #include <string>
13 #include <vector>
14 
15 namespace sierra{
16 namespace nalu{
18  {
19  public:
20  static KernelBuilderLog& self();
21  KernelBuilderLog(const KernelBuilderLog&) = delete;
22  void operator=(const KernelBuilderLog&) = delete;
23 
24  void add_valid_name(std::string kernelTypeName, std::string name);
25  void add_built_name(std::string kernelTypeName, std::string name);
26 
28  std::string kernelTypeName,
29  const std::map<std::string, std::vector<std::string>>& inputFileNames );
30 
31  void print_valid_kernel_names(std::string kernelTypeName);
32  void print_built_kernel_names(std::string kernelTypeName);
33 
34  std::set<std::string> valid_kernel_names(std::string kernelTypeName);
35  std::set<std::string> built_kernel_names(std::string kernelTypeName);
36  private:
37  KernelBuilderLog() = default;
38 
39  std::map<std::string, std::set<std::string>> validKernelNames_;
40  std::map<std::string, std::set<std::string>> builtKernelNames_;
41  };
42 
43 } // namespace nalu
44 } // namespace Sierra
45 
46 #endif
void print_valid_kernel_names(std::string kernelTypeName)
Definition: KernelBuilderLog.C:70
Definition: ABLForcingAlgorithm.C:26
std::map< std::string, std::set< std::string > > builtKernelNames_
Definition: KernelBuilderLog.h:40
std::set< std::string > valid_kernel_names(std::string kernelTypeName)
Definition: KernelBuilderLog.C:110
void add_valid_name(std::string kernelTypeName, std::string name)
Definition: KernelBuilderLog.C:27
bool print_invalid_kernel_names(std::string kernelTypeName, const std::map< std::string, std::vector< std::string >> &inputFileNames)
Definition: KernelBuilderLog.C:39
std::set< std::string > built_kernel_names(std::string kernelTypeName)
Definition: KernelBuilderLog.C:120
void print_built_kernel_names(std::string kernelTypeName)
Definition: KernelBuilderLog.C:90
void operator=(const KernelBuilderLog &)=delete
std::map< std::string, std::set< std::string > > validKernelNames_
Definition: KernelBuilderLog.h:39
Definition: KernelBuilderLog.h:17
void add_built_name(std::string kernelTypeName, std::string name)
Definition: KernelBuilderLog.C:33