MUQ  0.4.3
FlowModelComponents.h
Go to the documentation of this file.
1 #ifndef FLOWMODELMICOMPONENTS_HPP_
2 #define FLOWMODELMICOMPONENTS_HPP_
3 
5 
7 
9 
10 #include "FlowEquation.h"
11 
12 struct Discretization {
13  Discretization(std::size_t const numCells);
14 
16  const std::size_t numCells;
17 
19  const std::size_t numNodes;
20 
22  const Eigen::VectorXd nodeLocs;
23 
25  const Eigen::VectorXd cellLocs;
26 };
27 
28 struct Data {
29  Data(Eigen::VectorXd const& x, Eigen::VectorXd const& soln, Eigen::VectorXd const& obsLoc, Eigen::VectorXd const& obs);
30 
32  const Eigen::VectorXd x;
33 
35  const Eigen::VectorXd soln;
36 
38  const Eigen::VectorXd obsLoc;
39 
41  const Eigen::VectorXd obs;
42 };
43 
45 
49 std::shared_ptr<muq::Modeling::LinearOperator> InterpolateOntoObs(Discretization const& mesh, Eigen::VectorXd const& obsLoc);
50 
55 Eigen::VectorXd GetRecharge(Discretization const& mesh);
56 
61 Eigen::VectorXd GetTrueLogConductivity(Discretization const& mesh);
62 
69 Data GenerateData(std::size_t const numCells, std::size_t const numObs, double const obsVar);
70 
75 std::vector<std::shared_ptr<muq::Modeling::ModPiece> > ConstructDensities(std::size_t const numLevels, std::size_t const baseRefinement);
76 
82 std::shared_ptr<muq::Modeling::ModPiece> ConstructDensity(std::size_t const numCells, Data const& data, double const likelihoodVar);
83 
84 #endif
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.