MUQ  0.4.3
FlowModelComponents.cpp File Reference

Go to the source code of this file.

Functions

Eigen::VectorXd GetTrueLogConductivity (Discretization const &mesh)
 
Eigen::VectorXd GetRecharge (Discretization const &mesh)
 
std::shared_ptr< LinearOperatorInterpolateOntoObs (Discretization const &mesh, Eigen::VectorXd const &obsLoc)
 Interpolate the model solution onto the observation points. More...
 
Data GenerateData (std::size_t const numCells, std::size_t const numObs, double const obsVar)
 
std::shared_ptr< ModPieceConstructDensity (std::size_t const numCells, Data const &data, double const likelihoodVar)
 
std::vector< std::shared_ptr< ModPiece > > ConstructDensities (std::size_t const numLevels, std::size_t const baseRefinement)
 

Function Documentation

◆ ConstructDensities()

std::vector<std::shared_ptr<ModPiece> > ConstructDensities ( std::size_t const  numLevels,
std::size_t const  baseRefinement 
)
Parameters
[in]numLevelsThe number of multi level MCMC chains
[in]baseRefinementThe number of cells in the coarsest model

Definition at line 138 of file FlowModelComponents.cpp.

References ConstructDensity(), GenerateData(), Data::obs, Data::obsLoc, Data::soln, and Data::x.

◆ ConstructDensity()

std::shared_ptr<ModPiece> ConstructDensity ( std::size_t const  numCells,
Data const &  data,
double const  likelihoodVar 
)
Parameters
[in]numCellsThe number of cells in the model associated with this density
[in]dataThe observations
[in]likelihoodVarThe variance of the likelihood

Definition at line 73 of file FlowModelComponents.cpp.

References muq::Approximation::GaussQuadrature::Compute(), muq::Approximation::KarhunenLoeveExpansion::GetModes(), GetRecharge(), InterpolateOntoObs(), Data::obs, Data::obsLoc, muq::Approximation::Quadrature::Points(), and muq::Approximation::Quadrature::Weights().

Referenced by ConstructDensities().

◆ GenerateData()

Data GenerateData ( std::size_t const  numCells,
std::size_t const  numObs,
double const  obsVar 
)
Parameters
[in]numCellsThe number of cells on the very fine mesh used to generate the data
[in]numObsThe number of observations
[in]obsVarThe variance of the observation noise
Returns
The observations

Definition at line 58 of file FlowModelComponents.cpp.

References GetRecharge(), GetTrueLogConductivity(), and InterpolateOntoObs().

Referenced by ConstructDensities().

◆ GetRecharge()

Eigen::VectorXd GetRecharge ( Discretization const &  mesh)
Parameters
[in]meshEvaluate the recharge (source terms) on the cell locations of this mesh
Returns
The recharge on the cell locations of this mesh

Definition at line 37 of file FlowModelComponents.cpp.

Referenced by ConstructDensity(), and GenerateData().

◆ GetTrueLogConductivity()

Eigen::VectorXd GetTrueLogConductivity ( Discretization const &  mesh)
Parameters
[in]meshEvaluate the true log conductivity on the cell locations of this mesh
Returns
The true log conductivity on the cell locations of this mesh

Definition at line 33 of file FlowModelComponents.cpp.

Referenced by GenerateData().

◆ InterpolateOntoObs()

std::shared_ptr<LinearOperator> InterpolateOntoObs ( Discretization const &  mesh,
Eigen::VectorXd const &  obsLoc 
)

Interpolate the model solution onto the observation points.

Parameters
[in]meshThe mesh used to solve the model
[in]obsLocThe locations where we want are making observations

Definition at line 41 of file FlowModelComponents.cpp.

Referenced by ConstructDensity(), and GenerateData().