1 #ifndef FLOWMODELMICOMPONENTS_HPP_ 
    2 #define FLOWMODELMICOMPONENTS_HPP_ 
   10 #include "FlowEquation.h" 
   12 struct Discretization {
 
   13   Discretization(std::size_t 
const numCells);
 
   16   const std::size_t numCells;
 
   19   const std::size_t numNodes;
 
   22   const Eigen::VectorXd nodeLocs;
 
   25   const Eigen::VectorXd cellLocs;
 
   29   Data(Eigen::VectorXd 
const& 
x, Eigen::VectorXd 
const& 
soln, Eigen::VectorXd 
const& 
obsLoc, Eigen::VectorXd 
const& 
obs);
 
   32   const Eigen::VectorXd 
x;
 
   35   const Eigen::VectorXd 
soln;
 
   41   const Eigen::VectorXd 
obs;
 
   49 std::shared_ptr<muq::Modeling::LinearOperator> 
InterpolateOntoObs(Discretization 
const& mesh, Eigen::VectorXd 
const& obsLoc);
 
   55 Eigen::VectorXd 
GetRecharge(Discretization 
const& mesh);
 
   69 Data GenerateData(std::size_t 
const numCells, std::size_t 
const numObs, 
double const obsVar);
 
   75 std::vector<std::shared_ptr<muq::Modeling::ModPiece> > 
ConstructDensities(std::size_t 
const numLevels, std::size_t 
const baseRefinement);
 
   82 std::shared_ptr<muq::Modeling::ModPiece> 
ConstructDensity(std::size_t 
const numCells, 
Data const& data, 
double const likelihoodVar);
 
Data GenerateData(std::size_t const numCells, std::size_t const numObs, double const obsVar)
 
std::shared_ptr< muq::Modeling::LinearOperator > InterpolateOntoObs(Discretization const &mesh, Eigen::VectorXd const &obsLoc)
Interpolate the model solution onto the observation points.
 
std::shared_ptr< muq::Modeling::ModPiece > ConstructDensity(std::size_t const numCells, Data const &data, double const likelihoodVar)
 
Eigen::VectorXd GetTrueLogConductivity(Discretization const &mesh)
 
std::vector< std::shared_ptr< muq::Modeling::ModPiece > > ConstructDensities(std::size_t const numLevels, std::size_t const baseRefinement)
 
Eigen::VectorXd GetRecharge(Discretization const &mesh)
 
Data(Eigen::VectorXd const &x, Eigen::VectorXd const &soln, Eigen::VectorXd const &obsLoc, Eigen::VectorXd const &obs)
 
const Eigen::VectorXd soln
The true solution.
 
const Eigen::VectorXd obs
The observations.
 
const Eigen::VectorXd x
The locations where we have computed the true solution.
 
const Eigen::VectorXd obsLoc
The locations where we have made observations.