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.