9 #include <configure.hpp>
15 #include <athena/hydro/hydro.hpp>
16 #include <athena/mesh/mesh.hpp>
19 #include <application/application.hpp>
30 Application::Logger app(
"inversion");
40 for (
int k = 0; k < nwalker; ++k) {
45 while (std::isnan(
recs_.
lnp[0][k]) &&
53 app->Error(
"Starting point iteration > 10 times");
57 for (
int d = 0; d < ndim; ++d)
recs_.
par[0][k][d] = par[k][d];
67 for (
int n = 0; n < NHYDRO; ++n)
69 for (
int i = is; i <= ie; ++i) {
70 phydro->w1(n, ks + k,
j, i) = phydro->w(n, ks + k,
j, i);
void MCMCInit(Radiation *prad, Hydro *phydro)
virtual Real LogPosteriorProbability(Radiation *prad, Hydro *phydro, Real const *par, Real *val, int k) const
MeshBlock const * pmy_block_
pointer to parent MeshBlock
void mcmc_report(mcmc_opts *opts, mcmc_recs *recs, char const *mode)
double mcmc_stretch_move(double *newp, double **oldp, int iwalker, int nwalker, int ndim, mcmc_opts *opts)
This file contains data structure and subroutines implementing Markov Chain Monte Carlo sampler.