46 #ifndef MUELU_AVATARINTERFACE_HPP 47 #define MUELU_AVATARINTERFACE_HPP 50 #include "Teuchos_Comm.hpp" 51 #include "Teuchos_RCP.hpp" 52 #include "Teuchos_ArrayRCP.hpp" 53 #include "Teuchos_ParameterList.hpp" 57 #ifdef HAVE_MUELU_AVATAR 62 typedef struct Avatar_struct Avatar_handle;
72 class AvatarInterface :
public BaseClass {
78 AvatarInterface(Teuchos::RCP<
const Teuchos::Comm<int> >& comm, Teuchos::ParameterList& inParams):comm_(comm),params_(inParams){};
80 Teuchos::RCP<const Teuchos::ParameterList> GetValidParameterList()
const;
83 void SetParameterList(Teuchos::ParameterList& inParams) {params_ = inParams;}
89 void SetMueLuParameters(
const Teuchos::ParameterList & problemFeatures, Teuchos::ParameterList & mueluParams,
bool overwrite=
true)
const;
96 int checkBounds(std::string trialString, Teuchos::ArrayRCP<std::string> boundsString)
const;
98 int hybrid(
float * probabilities, std::vector<int> acceptableCombos)
const;
100 int highProb(
float * probabilities, std::vector<int> acceptableCombos)
const;
102 int lowCrash(
float * probabilities, std::vector<int> acceptableCombos)
const;
104 int weighted(
float * probabilities, std::vector<int> acceptableCombos)
const;
108 Teuchos::ArrayRCP<std::string> ReadFromFiles(
const char * param_name)
const;
109 void GenerateFeatureString(
const Teuchos::ParameterList & problemFeatures, std::string & featureString)
const;
110 std::string ParamsToString(
const std::vector<int> & indices)
const;
111 void SetIndices(
int id,std::vector<int> & indices)
const;
112 void GenerateMueLuParametersFromIndex(
int id,Teuchos::ParameterList & pl)
const;
113 void UnpackMueLuMapping();
116 Teuchos::RCP<const Teuchos::Comm<int> > comm_;
117 mutable Teuchos::ParameterList params_;
118 Teuchos::ArrayRCP<std::string> avatarStrings_;
119 Teuchos::ArrayRCP<std::string> namesStrings_;
120 Teuchos::Array<std::string> filestem_;
121 Teuchos::ArrayRCP<std::string> boundsString_;
122 int avatarGoodClass_;
126 Avatar_handle * avatarHandle_;
128 Teuchos::Array<std::string> mueluParameterName_;
129 Teuchos::Array<std::string> avatarParameterName_;
131 Teuchos::ArrayRCP<Teuchos::Array<double> > mueluParameterValues_;
132 Teuchos::ArrayRCP<Teuchos::Array<double> > avatarParameterValues_;
139 #endif// HAVE_MUELU_AVATAR 141 #endif // MUELU_AVATARINTERFACE_HPP
Namespace for MueLu classes and methods.