1 
2 //-----------------------------------------------------------------------bl-
3 //--------------------------------------------------------------------------
4 //
5 // Antioch - A Gas Dynamics Thermochemistry Library
6 //
7 // Copyright (C) 2014-2016 Paul T. Bauman, Benjamin S. Kirk,
8 //                         Sylvain Plessis, Roy H. Stonger
9 //
10 // Copyright (C) 2013 The PECOS Development Team
11 //
12 // This library is free software; you can redistribute it and/or
13 // modify it under the terms of the Version 2.1 GNU Lesser General
14 // Public License as published by the Free Software Foundation.
15 //
16 // This library is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 // Lesser General Public License for more details.
20 //
21 // You should have received a copy of the GNU Lesser General Public
22 // License along with this library; if not, write to the Free Software
23 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
24 // Boston, MA  02110-1301  USA
25 //
26 //-----------------------------------------------------------------------el-
27 
28 #ifndef ANTIOCH_DEFAULT_FILENAME_H
29 #define ANTIOCH_DEFAULT_FILENAME_H
30 
31 // Antioch headers
32 #include "antioch_config.h"
33 
34 // C++ headers
35 #include <string>
36 
37 namespace Antioch
38 {
39 
40   //! Default filenames in the source tree
41   /*! These include the full path to default files in
42    *  in the Antioch *source* tree. If you decide to use
43    *  these in your application, you must *not* delete the
44    *  source tree.
45    */
46 class DefaultSourceFilename {
47 public:
species_list()48   static const std::string& species_list() {
49     static const std::string filename =
50       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
51       std::string(ANTIOCH_DEFAULT_SPECIES_LIST);
52     return filename;
53   }
54 
chemical_mixture()55   static const std::string& chemical_mixture() {
56     static const std::string filename =
57       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
58       std::string(ANTIOCH_DEFAULT_CHEMICAL_MIXTURE);
59     return filename;
60   }
61 
vibrational_data()62   static const std::string& vibrational_data() {
63     static const std::string filename =
64       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
65       std::string(ANTIOCH_DEFAULT_VIBRATIONAL_DATA);
66     return filename;
67   }
68 
electronic_data()69   static const std::string& electronic_data() {
70     static const std::string filename =
71       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
72       std::string(ANTIOCH_DEFAULT_ELECTRONIC_DATA);
73     return filename;
74   }
75 
thermo_data()76   static const std::string& thermo_data() {
77     static const std::string filename =
78       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
79       std::string(ANTIOCH_DEFAULT_THERMO_DATA);
80     return filename;
81   }
82 
sutherland_data()83   static const std::string& sutherland_data() {
84     static const std::string filename =
85       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
86       std::string(ANTIOCH_DEFAULT_SUTHERLAND_DATA);
87     return filename;
88   }
89 
blottner_data()90   static const std::string& blottner_data() {
91     static const std::string filename =
92       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
93       std::string(ANTIOCH_DEFAULT_BLOTTNER_DATA);
94     return filename;
95   }
96 
transport_mixture()97   static const std::string& transport_mixture() {
98     static const std::string filename =
99       std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) +
100       std::string(ANTIOCH_DEFAULT_TRANSPORT_DATA);
101     return filename;
102   }
103 };
104 
105 // Backward Compatibility
106 typedef DefaultSourceFilename DefaultFilename;
107 
108 
109   //! Default filenames in the install tree
110   /*! These include the full path to default files in
111    *  in the Antioch *install* tree. These *must not*
112    *  be used internally in Antioch; these are meant
113    *  *only* for applications.
114    */
115 class DefaultInstallFilename {
116 public:
species_list()117   static const std::string& species_list() {
118     static const std::string filename =
119       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
120       std::string(ANTIOCH_DEFAULT_SPECIES_LIST);
121     return filename;
122   }
123 
chemical_mixture()124   static const std::string& chemical_mixture() {
125     static const std::string filename =
126       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
127       std::string(ANTIOCH_DEFAULT_CHEMICAL_MIXTURE);
128     return filename;
129   }
130 
vibrational_data()131   static const std::string& vibrational_data() {
132     static const std::string filename =
133       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
134       std::string(ANTIOCH_DEFAULT_VIBRATIONAL_DATA);
135     return filename;
136   }
137 
electronic_data()138   static const std::string& electronic_data() {
139     static const std::string filename =
140       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
141       std::string(ANTIOCH_DEFAULT_ELECTRONIC_DATA);
142     return filename;
143   }
144 
thermo_data()145   static const std::string& thermo_data() {
146     static const std::string filename =
147       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
148       std::string(ANTIOCH_DEFAULT_THERMO_DATA);
149     return filename;
150   }
151 
sutherland_data()152   static const std::string& sutherland_data() {
153     static const std::string filename =
154       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
155       std::string(ANTIOCH_DEFAULT_SUTHERLAND_DATA);
156     return filename;
157   }
158 
blottner_data()159   static const std::string& blottner_data() {
160     static const std::string filename =
161       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
162       std::string(ANTIOCH_DEFAULT_BLOTTNER_DATA);
163     return filename;
164   }
165 
transport_mixture()166   static const std::string& transport_mixture() {
167     static const std::string filename =
168       std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) +
169       std::string(ANTIOCH_DEFAULT_TRANSPORT_DATA);
170     return filename;
171   }
172 };
173 
174 } // end namespace Antioch
175 
176 #endif //ANTIOCH_DEFAULT_FILENAME_H
177