82 const Teuchos::ParameterList& pL = GetParameterList();
84 const std::string str_nf = pL.get<std::string>(
"Needs Fine");
85 const std::string str_nc = pL.get<std::string>(
"Needs Coarse");
88 for(
auto fineNeed : needsFine_)
91 this->Input(fineLevel, fineNeed);
93 for(
auto coarseNeed : needsCoarse_)
96 this->Input(coarseLevel, coarseNeed);
98 hasDeclaredInput_ =
true;
105 const Teuchos::ParameterList& pL = GetParameterList();
109 string needsFine = pL.get<
string>(
"Needs Fine");
110 string needsCoarse = pL.get<
string>(
"Needs Coarse");
111 vector<RCP<MuemexArg>> InputArgs = processNeeds<Scalar, LocalOrdinal, GlobalOrdinal, Node>(
this, needsFine, fineLevel);
112 vector<RCP<MuemexArg>> InputArgsCoarse = processNeeds<Scalar, LocalOrdinal, GlobalOrdinal, Node>(
this, needsCoarse, coarseLevel);
114 InputArgs.reserve(InputArgs.size() + InputArgsCoarse.size());
115 InputArgs.insert(InputArgs.begin(), InputArgsCoarse.begin(), InputArgsCoarse.end());
118 string provides = pL.get<
string>(
"Provides");
121 string matlabFunction = pL.get<
string>(
"Function");
122 if(!matlabFunction.length())
123 throw runtime_error(
"Invalid matlab function name");
124 vector<RCP<MuemexArg>> mexOutput =
callMatlab(matlabFunction, numProvides, InputArgs);
125 processProvides<Scalar, LocalOrdinal, GlobalOrdinal, Node>(mexOutput,
this, provides, coarseLevel);