44 const Teuchos::ParameterList& pL = GetParameterList();
46 const std::string str_nf = pL.get<std::string>(
"Needs Fine");
47 const std::string str_nc = pL.get<std::string>(
"Needs Coarse");
50 for (
auto fineNeed : needsFine_) {
52 this->Input(fineLevel, fineNeed);
54 for (
auto coarseNeed : needsCoarse_) {
56 this->Input(coarseLevel, coarseNeed);
58 hasDeclaredInput_ =
true;
65 const Teuchos::ParameterList& pL = GetParameterList();
69 string needsFine = pL.get<
string>(
"Needs Fine");
70 string needsCoarse = pL.get<
string>(
"Needs Coarse");
71 vector<RCP<MuemexArg>> InputArgs = processNeeds<Scalar, LocalOrdinal, GlobalOrdinal, Node>(
this, needsFine, fineLevel);
72 vector<RCP<MuemexArg>> InputArgsCoarse = processNeeds<Scalar, LocalOrdinal, GlobalOrdinal, Node>(
this, needsCoarse, coarseLevel);
74 InputArgs.reserve(InputArgs.size() + InputArgsCoarse.size());
75 InputArgs.insert(InputArgs.begin(), InputArgsCoarse.begin(), InputArgsCoarse.end());
78 string provides = pL.get<
string>(
"Provides");
81 string matlabFunction = pL.get<
string>(
"Function");
82 if (!matlabFunction.length())
83 throw runtime_error(
"Invalid matlab function name");
84 vector<RCP<MuemexArg>> mexOutput =
callMatlab(matlabFunction, numProvides, InputArgs);
85 processProvides<Scalar, LocalOrdinal, GlobalOrdinal, Node>(mexOutput,
this, provides, coarseLevel);