diff --git a/configure.ac b/configure.ac index f4bcd5bb..2e1682c9 100644 --- a/configure.ac +++ b/configure.ac @@ -255,8 +255,12 @@ AC_SUBST(ANTIOCH_STAMPED_FILES) # step (see install-data-hook) # to make it $datadir/antioch_default_files # then we define the default files -ANTIOCH_DEFAULT_FILES_PATH_TMP=$TOP_SEARCH_DIR/share/antioch_default_files/ -AC_DEFINE_UNQUOTED(DEFAULT_FILES_PATH,"$ANTIOCH_DEFAULT_FILES_PATH_TMP",[Path to defaults files]) +# Need to make sure to have the `/` at the end +ANTIOCH_DEFAULT_FILES_SOURCE_PATH_TMP=$TOP_SEARCH_DIR/share/antioch_default_files/ +ANTIOCH_DEFAULT_FILES_INSTALL_PATH_TMP=$prefix/share/antioch_default_files/ + +AC_DEFINE_UNQUOTED(DEFAULT_FILES_SOURCE_PATH,"$ANTIOCH_DEFAULT_FILES_SOURCE_PATH_TMP",[Path to defaults files]) +AC_DEFINE_UNQUOTED(DEFAULT_FILES_INSTALL_PATH,"$ANTIOCH_DEFAULT_FILES_INSTALL_PATH_TMP",[Path to defaults files]) AC_DEFINE(DEFAULT_SPECIES_LIST,"antioch_default_chemical_species.dat",[Default list of species]) AC_DEFINE(DEFAULT_CHEMICAL_MIXTURE,"antioch_default_chemical_mixture.dat",[Mandatory default informations on species]) AC_DEFINE(DEFAULT_VIBRATIONAL_DATA,"antioch_default_vibrational_data.dat",[Vibrational default data]) diff --git a/src/utilities/include/antioch/default_filename.h b/src/utilities/include/antioch/default_filename.h index 7c4e1f1c..907ee82d 100644 --- a/src/utilities/include/antioch/default_filename.h +++ b/src/utilities/include/antioch/default_filename.h @@ -38,65 +38,138 @@ // C++ headers #include -// Create shim methods Antioch::ant_exp() for exp(), etcetera. - namespace Antioch { -class DefaultFilename { + //! Default filenames in the source tree + /*! These include the full path to default files in + * in the Antioch *source* tree. If you decide to use + * these in your application, you must *not* delete the + * source tree. + */ +class DefaultSourceFilename { +public: + static const std::string& species_list() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_SPECIES_LIST); + return filename; + } + + static const std::string& chemical_mixture() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_CHEMICAL_MIXTURE); + return filename; + } + + static const std::string& vibrational_data() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_VIBRATIONAL_DATA); + return filename; + } + + static const std::string& electronic_data() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_ELECTRONIC_DATA); + return filename; + } + + static const std::string& thermo_data() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_THERMO_DATA); + return filename; + } + + static const std::string& sutherland_data() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_SUTHERLAND_DATA); + return filename; + } + + static const std::string& blottner_data() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_BLOTTNER_DATA); + return filename; + } + + static const std::string& transport_mixture() { + static const std::string filename = + std::string(ANTIOCH_DEFAULT_FILES_SOURCE_PATH) + + std::string(ANTIOCH_DEFAULT_TRANSPORT_DATA); + return filename; + } +}; + +// Backward Compatibility +typedef DefaultSourceFilename DefaultFilename; + + + //! Default filenames in the install tree + /*! These include the full path to default files in + * in the Antioch *install* tree. These *must not* + * be used internally in Antioch; these are meant + * *only* for applications. + */ +class DefaultInstallFilename { public: static const std::string& species_list() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_SPECIES_LIST); return filename; } static const std::string& chemical_mixture() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_CHEMICAL_MIXTURE); return filename; } static const std::string& vibrational_data() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_VIBRATIONAL_DATA); return filename; } static const std::string& electronic_data() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_ELECTRONIC_DATA); return filename; } static const std::string& thermo_data() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_THERMO_DATA); return filename; } static const std::string& sutherland_data() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_SUTHERLAND_DATA); return filename; } static const std::string& blottner_data() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_BLOTTNER_DATA); return filename; } static const std::string& transport_mixture() { static const std::string filename = - std::string(ANTIOCH_DEFAULT_FILES_PATH) + + std::string(ANTIOCH_DEFAULT_FILES_INSTALL_PATH) + std::string(ANTIOCH_DEFAULT_TRANSPORT_DATA); return filename; }