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 ~AvatarInterface(){Cleanup();}
82 Teuchos::RCP<const Teuchos::ParameterList> GetValidParameterList()
const;
85 void SetParameterList(Teuchos::ParameterList& inParams) {params_ = inParams;}
91 void SetMueLuParameters(
const Teuchos::ParameterList & problemFeatures, Teuchos::ParameterList & mueluParams,
bool overwrite=
true)
const;
98 int checkBounds(std::string trialString, Teuchos::ArrayRCP<std::string> boundsString)
const;
100 int hybrid(
float * probabilities, std::vector<int> acceptableCombos)
const;
102 int highProb(
float * probabilities, std::vector<int> acceptableCombos)
const;
104 int lowCrash(
float * probabilities, std::vector<int> acceptableCombos)
const;
106 int weighted(
float * probabilities, std::vector<int> acceptableCombos)
const;
110 Teuchos::ArrayRCP<std::string> ReadFromFiles(
const char * param_name)
const;
111 void GenerateFeatureString(
const Teuchos::ParameterList & problemFeatures, std::string & featureString)
const;
112 std::string ParamsToString(
const std::vector<int> & indices)
const;
113 void SetIndices(
int id,std::vector<int> & indices)
const;
114 void GenerateMueLuParametersFromIndex(
int id,Teuchos::ParameterList & pl)
const;
115 void UnpackMueLuMapping();
118 Teuchos::RCP<const Teuchos::Comm<int> > comm_;
119 mutable Teuchos::ParameterList params_;
120 Teuchos::ArrayRCP<std::string> avatarStrings_;
121 Teuchos::ArrayRCP<std::string> namesStrings_;
122 Teuchos::Array<std::string> filestem_;
123 Teuchos::ArrayRCP<std::string> boundsString_;
124 int avatarGoodClass_;
128 Avatar_handle * avatarHandle_;
130 Teuchos::Array<std::string> mueluParameterName_;
131 Teuchos::Array<std::string> avatarParameterName_;
133 Teuchos::ArrayRCP<Teuchos::Array<double> > mueluParameterValues_;
134 Teuchos::ArrayRCP<Teuchos::Array<double> > avatarParameterValues_;
141 #endif// HAVE_MUELU_AVATAR 143 #endif // MUELU_AVATARINTERFACE_HPP
Namespace for MueLu classes and methods.