10#ifndef MUELU_AVATARINTERFACE_HPP
11#define MUELU_AVATARINTERFACE_HPP
14#include "Teuchos_Comm.hpp"
15#include "Teuchos_RCP.hpp"
16#include "Teuchos_ArrayRCP.hpp"
17#include "Teuchos_ParameterList.hpp"
20#ifdef HAVE_MUELU_AVATAR
24typedef struct Avatar_struct Avatar_handle;
34class AvatarInterface :
public BaseClass {
39 AvatarInterface(Teuchos::RCP<
const Teuchos::Comm<int> >& comm, Teuchos::ParameterList& inParams)
41 , params_(inParams){};
43 ~AvatarInterface() { Cleanup(); }
45 Teuchos::RCP<const Teuchos::ParameterList> GetValidParameterList()
const;
48 void SetParameterList(Teuchos::ParameterList& inParams) { params_ = inParams; }
54 void SetMueLuParameters(
const Teuchos::ParameterList& problemFeatures, Teuchos::ParameterList& mueluParams,
bool overwrite =
true)
const;
61 int checkBounds(std::string trialString, Teuchos::ArrayRCP<std::string> boundsString)
const;
63 int hybrid(
float* probabilities, std::vector<int> acceptableCombos)
const;
65 int highProb(
float* probabilities, std::vector<int> acceptableCombos)
const;
67 int lowCrash(
float* probabilities, std::vector<int> acceptableCombos)
const;
69 int weighted(
float* probabilities, std::vector<int> acceptableCombos)
const;
73 Teuchos::ArrayRCP<std::string> ReadFromFiles(
const char* param_name)
const;
74 void GenerateFeatureString(
const Teuchos::ParameterList& problemFeatures, std::string& featureString)
const;
75 std::string ParamsToString(
const std::vector<int>& indices)
const;
76 void SetIndices(
int id, std::vector<int>& indices)
const;
77 void GenerateMueLuParametersFromIndex(
int id, Teuchos::ParameterList& pl)
const;
78 void UnpackMueLuMapping();
81 Teuchos::RCP<const Teuchos::Comm<int> > comm_;
82 mutable Teuchos::ParameterList params_;
83 Teuchos::ArrayRCP<std::string> avatarStrings_;
84 Teuchos::ArrayRCP<std::string> namesStrings_;
85 Teuchos::Array<std::string> filestem_;
86 Teuchos::ArrayRCP<std::string> boundsString_;
91 Avatar_handle* avatarHandle_;
93 Teuchos::Array<std::string> mueluParameterName_;
94 Teuchos::Array<std::string> avatarParameterName_;
96 Teuchos::ArrayRCP<Teuchos::Array<double> > mueluParameterValues_;
97 Teuchos::ArrayRCP<Teuchos::Array<double> > avatarParameterValues_;
Namespace for MueLu classes and methods.