Canoe
Comprehensive Atmosphere N' Ocean Engine
Inversion Class Reference

#include <inversion.hpp>

Inheritance diagram for Inversion:
[legend]

Public Member Functions

 Inversion (MeshBlock *pmb, ParameterInput *pin, std::string name)
 Constructor and destructor. More...
 
virtual ~Inversion ()
 
virtual Real LogPosteriorProbability (Radiation *prad, Hydro *phydro, Real const *par, Real *val, int k) const
 
virtual void CalculateFitTarget (Radiation const *prad, Real *val, int nvalue, int k, int j) const
 
virtual void InitializePositions ()
 
virtual void UpdateHydro (Hydro *phydro, ParameterInput *pin) const
 
virtual int getX2Span () const
 
void InitializeChain (int nstep, int nwalker, int ndim, int nvalue)
 
void MakeMCMCOutputs (std::string fname)
 
void MCMCInit (Radiation *prad, Hydro *phydro)
 
void MCMCMove (Radiation *prad, Hydro *phydro)
 
void MCMCSave (Hydro *phydro)
 
void ResetChain ()
 
int GetDims () const
 
int GetValues () const
 
int GetWalkers () const
 
int GetSteps () const
 
void SetLogProbability (int k, Real lnp)
 
Real GetLogProbability (int k) const
 
void setX2Indices (int j)
 
bool ShouldFITSOutput (std::string variable_name) const override
 MeshOutputGroup functions. More...
 
void LoadFITSOutputData (OutputType *pod, int *num_vars) const override
 
- Public Member Functions inherited from NamedGroup
 NamedGroup (std::string name)
 
virtual ~NamedGroup ()
 
std::string GetName () const
 
- Public Member Functions inherited from FITSOutputGroup
virtual ~FITSOutputGroup ()
 

Protected Attributes

std::string name_
 
Eigen::VectorXd target_
 
Eigen::MatrixXd icov_
 
Real ** init_pos_
 
bool fit_differential_
 
int jl_
 
int ju_
 
MeshBlock const * pmy_block_
 pointer to parent MeshBlock More...
 

Private Attributes

mcmc_opts opts_
 
mcmc_recs recs_
 
bool mcmc_initialized_
 
Real * zz_
 
Real * par_
 

Detailed Description

Definition at line 29 of file inversion.hpp.

Constructor & Destructor Documentation

◆ Inversion()

Inversion::Inversion ( MeshBlock *  pmb,
ParameterInput *  pin,
std::string  name 
)

Constructor and destructor.

Definition at line 25 of file inversion.cpp.

◆ ~Inversion()

Inversion::~Inversion ( )
virtual

Definition at line 61 of file inversion.cpp.

Member Function Documentation

◆ LogPosteriorProbability()

virtual Real Inversion::LogPosteriorProbability ( Radiation prad,
Hydro *  phydro,
Real const *  par,
Real *  val,
int  k 
) const
inlinevirtual

Reimplemented in ProfileInversion.

Definition at line 37 of file inversion.hpp.

◆ CalculateFitTarget()

virtual void Inversion::CalculateFitTarget ( Radiation const *  prad,
Real *  val,
int  nvalue,
int  k,
int  j 
) const
inlinevirtual

Reimplemented in JunoProfileInversion, and VLAProfileInversion.

Definition at line 43 of file inversion.hpp.

◆ InitializePositions()

virtual void Inversion::InitializePositions ( )
inlinevirtual

Reimplemented in ProfileInversion, and ConcentrationInversion.

Definition at line 46 of file inversion.hpp.

◆ UpdateHydro()

virtual void Inversion::UpdateHydro ( Hydro *  phydro,
ParameterInput *  pin 
) const
inlinevirtual

Reimplemented in ProfileInversion.

Definition at line 48 of file inversion.hpp.

◆ getX2Span()

virtual int Inversion::getX2Span ( ) const
inlinevirtual

Reimplemented in ProfileInversion.

Definition at line 50 of file inversion.hpp.

◆ InitializeChain()

void Inversion::InitializeChain ( int  nstep,
int  nwalker,
int  ndim,
int  nvalue 
)

Definition at line 71 of file inversion.cpp.

◆ MakeMCMCOutputs()

void Inversion::MakeMCMCOutputs ( std::string  fname)

Definition at line 79 of file inversion.cpp.

◆ MCMCInit()

void Inversion::MCMCInit ( Radiation prad,
Hydro *  phydro 
)

Definition at line 25 of file mcmc_init.cpp.

◆ MCMCMove()

void Inversion::MCMCMove ( Radiation prad,
Hydro *  phydro 
)

Definition at line 25 of file mcmc_step.cpp.

◆ MCMCSave()

void Inversion::MCMCSave ( Hydro *  phydro)

Definition at line 53 of file mcmc_step.cpp.

◆ ResetChain()

void Inversion::ResetChain ( )

Definition at line 89 of file inversion.cpp.

◆ GetDims()

int Inversion::GetDims ( ) const
inline

Definition at line 61 of file inversion.hpp.

◆ GetValues()

int Inversion::GetValues ( ) const
inline

Definition at line 62 of file inversion.hpp.

◆ GetWalkers()

int Inversion::GetWalkers ( ) const
inline

Definition at line 63 of file inversion.hpp.

◆ GetSteps()

int Inversion::GetSteps ( ) const
inline

Definition at line 64 of file inversion.hpp.

◆ SetLogProbability()

void Inversion::SetLogProbability ( int  k,
Real  lnp 
)
inline

Definition at line 65 of file inversion.hpp.

◆ GetLogProbability()

Real Inversion::GetLogProbability ( int  k) const
inline

Definition at line 66 of file inversion.hpp.

◆ setX2Indices()

void Inversion::setX2Indices ( int  j)
inline

Definition at line 68 of file inversion.hpp.

◆ ShouldFITSOutput()

bool Inversion::ShouldFITSOutput ( std::string  variable_name) const
inlineoverridevirtual

MeshOutputGroup functions.

Implements FITSOutputGroup.

Definition at line 74 of file inversion.hpp.

◆ LoadFITSOutputData()

void Inversion::LoadFITSOutputData ( OutputType *  pod,
int *  num_vars 
) const
inlineoverridevirtual

Implements FITSOutputGroup.

Definition at line 77 of file inversion.hpp.

Member Data Documentation

◆ name_

std::string Inversion::name_
protected

Definition at line 81 of file inversion.hpp.

◆ target_

Eigen::VectorXd Inversion::target_
protected

Definition at line 84 of file inversion.hpp.

◆ icov_

Eigen::MatrixXd Inversion::icov_
protected

Definition at line 85 of file inversion.hpp.

◆ init_pos_

Real** Inversion::init_pos_
protected

Definition at line 88 of file inversion.hpp.

◆ fit_differential_

bool Inversion::fit_differential_
protected

Definition at line 91 of file inversion.hpp.

◆ jl_

int Inversion::jl_
protected

Definition at line 94 of file inversion.hpp.

◆ ju_

int Inversion::ju_
protected

Definition at line 94 of file inversion.hpp.

◆ pmy_block_

MeshBlock const* Inversion::pmy_block_
protected

pointer to parent MeshBlock

Definition at line 97 of file inversion.hpp.

◆ opts_

mcmc_opts Inversion::opts_
private

Definition at line 101 of file inversion.hpp.

◆ recs_

mcmc_recs Inversion::recs_
private

Definition at line 102 of file inversion.hpp.

◆ mcmc_initialized_

bool Inversion::mcmc_initialized_
private

Definition at line 103 of file inversion.hpp.

◆ zz_

Real* Inversion::zz_
private

Definition at line 106 of file inversion.hpp.

◆ par_

Real * Inversion::par_
private

Definition at line 106 of file inversion.hpp.


The documentation for this class was generated from the following files: