queso-0.51.1
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
QUESO::InfiniteDimensionalMCMCSamplerOptions Class Reference

This class defines the options that specify the behaviour of the MCMC sampler. More...

#include <InfiniteDimensionalMCMCSamplerOptions.h>

Collaboration diagram for QUESO::InfiniteDimensionalMCMCSamplerOptions:
Collaboration graph
[legend]

Public Member Functions

 InfiniteDimensionalMCMCSamplerOptions (const BaseEnvironment &env, const char *prefix)
 Given prefix, read the input file for parameters named prefix_*. More...
 
 ~InfiniteDimensionalMCMCSamplerOptions ()
 Destructor. More...
 
void scanOptionsValues ()
 Scans the input file for options prefixed with prefix. More...
 
void print (std::ostream &os) const
 Prints this to os. More...
 
const BaseEnvironmentenv () const
 Returns the QUESO environment. More...
 

Public Attributes

std::string m_prefix
 The prefix to look for in the input file. More...
 
std::string m_dataOutputDirName
 Name of the output dir to save infinite dimensional output files to. More...
 
std::string m_dataOutputFileName
 Name of the HDF5 output file to store chain statistics. More...
 
unsigned int m_num_iters
 The total number of iterations to do. More...
 
unsigned int m_save_freq
 The frequency at which to save the state of the chain. More...
 
double m_rwmh_step
 The proposal step size. More...
 

Private Member Functions

void defineMyOptions (po::options_description &optionsDesc) const
 
void getMyOptionValues (po::options_description &optionsDesc)
 

Private Attributes

const BaseEnvironmentm_env
 
po::options_description * m_optionsDesc
 
std::string m_option_help
 
std::string m_option_dataOutputDirName
 
std::string m_option_dataOutputFileName
 
std::string m_option_num_iters
 
std::string m_option_save_freq
 
std::string m_option_rwmh_step
 

Detailed Description

This class defines the options that specify the behaviour of the MCMC sampler.

Definition at line 39 of file InfiniteDimensionalMCMCSamplerOptions.h.

Constructor & Destructor Documentation

QUESO::InfiniteDimensionalMCMCSamplerOptions::InfiniteDimensionalMCMCSamplerOptions ( const BaseEnvironment env,
const char *  prefix 
)

Given prefix, read the input file for parameters named prefix_*.

Definition at line 35 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_env, QUESO::BaseEnvironment::optionsInputFileName(), UQ_FATAL_TEST_MACRO, and QUESO::BaseEnvironment::worldRank().

38  : m_prefix((std::string)(prefix) + "infmcmc_"),
39  m_env(env),
40  m_optionsDesc(new po::options_description("Infinite Dimensional MCMC Sampler options")),
41  m_option_help(m_prefix + "help"),
42  m_option_dataOutputDirName(m_prefix + "dataOutputDirName"),
43  m_option_dataOutputFileName(m_prefix + "dataOutputFileName"),
44  m_option_num_iters(m_prefix + "num_iters"),
45  m_option_save_freq(m_prefix + "save_freq"),
46  m_option_rwmh_step(m_prefix + "rwmh_step")
47 {
49  m_env.worldRank(),
50  "InfiniteDimensionalMCMCSamplerOptions::constructor(1)",
51  "this constructor is incompatible with the abscense of an options input file");
52 }
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
Definition: Environment.C:341
std::string m_prefix
The prefix to look for in the input file.
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
const BaseEnvironment & env() const
Returns the QUESO environment.
QUESO::InfiniteDimensionalMCMCSamplerOptions::~InfiniteDimensionalMCMCSamplerOptions ( )

Destructor.

Definition at line 54 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_optionsDesc.

55 {
56  if (m_optionsDesc) {
57  delete m_optionsDesc;
58  }
59 }

Member Function Documentation

void QUESO::InfiniteDimensionalMCMCSamplerOptions::defineMyOptions ( po::options_description &  optionsDesc) const
private

Definition at line 82 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_option_dataOutputDirName, m_option_dataOutputFileName, m_option_help, m_option_num_iters, m_option_rwmh_step, m_option_save_freq, UQ_INF_DATA_OUTPUT_DIR_NAME_ODV, UQ_INF_DATA_OUTPUT_FILE_NAME_ODV, UQ_INF_NUM_ITERS_ODV, UQ_INF_RWMH_STEP_ODV, and UQ_INF_SAVE_FREQ_ODV.

Referenced by scanOptionsValues().

84 {
85  optionsDesc.add_options()
86  (m_option_help.c_str(), "produce help message for infinite dimensional sampler")
87  (m_option_dataOutputDirName.c_str(), po::value<std::string>()->default_value(UQ_INF_DATA_OUTPUT_DIR_NAME_ODV), "name of data output dir")
88  (m_option_dataOutputFileName.c_str(), po::value<std::string>()->default_value(UQ_INF_DATA_OUTPUT_FILE_NAME_ODV), "name of data output file (HDF5)")
89  (m_option_num_iters.c_str(), po::value<int>()->default_value(UQ_INF_NUM_ITERS_ODV), "number of mcmc iterations to do")
90  (m_option_save_freq.c_str(), po::value<int>()->default_value(UQ_INF_SAVE_FREQ_ODV), "the frequency at which to save the chain state")
91  (m_option_rwmh_step.c_str(), po::value<double>()->default_value(UQ_INF_RWMH_STEP_ODV), "the step-size in the random-walk Metropolis proposal");
92  return;
93 }
#define UQ_INF_DATA_OUTPUT_DIR_NAME_ODV
#define UQ_INF_DATA_OUTPUT_FILE_NAME_ODV
const BaseEnvironment & QUESO::InfiniteDimensionalMCMCSamplerOptions::env ( ) const

Returns the QUESO environment.

Definition at line 147 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_env.

148 {
149  return this->m_env;
150 }
void QUESO::InfiniteDimensionalMCMCSamplerOptions::getMyOptionValues ( po::options_description &  optionsDesc)
private

Definition at line 95 of file InfiniteDimensionalMCMCSamplerOptions.C.

References QUESO::BaseEnvironment::allOptionsMap(), m_dataOutputDirName, m_dataOutputFileName, m_env, m_num_iters, m_option_dataOutputDirName, m_option_dataOutputFileName, m_option_help, m_option_num_iters, m_option_rwmh_step, m_option_save_freq, m_rwmh_step, m_save_freq, and QUESO::BaseEnvironment::subDisplayFile().

Referenced by scanOptionsValues().

97 {
98  if (m_env.allOptionsMap().count(m_option_help)) {
99  if (m_env.subDisplayFile()) {
100  *m_env.subDisplayFile() << optionsDesc
101  << std::endl;
102  }
103  }
104 
106  this->m_dataOutputDirName = ((const po::variable_value&) m_env.allOptionsMap()[m_option_dataOutputDirName]).as<std::string>();
107  }
108 
110  this->m_dataOutputFileName = ((const po::variable_value&) m_env.allOptionsMap()[m_option_dataOutputFileName]).as<std::string>();
111  }
112 
113  if (m_env.allOptionsMap().count(m_option_num_iters)) {
114  this->m_num_iters = ((const po::variable_value&) m_env.allOptionsMap()[m_option_num_iters]).as<int>();
115  }
116 
117  if (m_env.allOptionsMap().count(m_option_save_freq)) {
118  this->m_save_freq = ((const po::variable_value&) m_env.allOptionsMap()[m_option_save_freq]).as<int>();
119  }
120 
121  if (m_env.allOptionsMap().count(m_option_rwmh_step)) {
122  this->m_rwmh_step = ((const po::variable_value&) m_env.allOptionsMap()[m_option_rwmh_step]).as<double>();
123  }
124 
125  return;
126 }
std::string m_dataOutputFileName
Name of the HDF5 output file to store chain statistics.
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:305
po::variables_map & allOptionsMap() const
Definition: Environment.C:368
unsigned int m_save_freq
The frequency at which to save the state of the chain.
std::string m_dataOutputDirName
Name of the output dir to save infinite dimensional output files to.
unsigned int m_num_iters
The total number of iterations to do.
void QUESO::InfiniteDimensionalMCMCSamplerOptions::print ( std::ostream &  os) const

Prints this to os.

Definition at line 128 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_dataOutputDirName, m_dataOutputFileName, m_num_iters, m_option_dataOutputDirName, m_option_dataOutputFileName, m_option_num_iters, m_option_rwmh_step, m_option_save_freq, m_rwmh_step, and m_save_freq.

Referenced by QUESO::operator<<().

129 {
130  os << "\n" << this->m_option_dataOutputDirName << " = " << this->m_dataOutputDirName;
131  os << "\n" << this->m_option_dataOutputFileName << " = " << this->m_dataOutputFileName;
132  os << "\n" << this->m_option_num_iters << " = " << this->m_num_iters;
133  os << "\n" << this->m_option_save_freq << " = " << this->m_save_freq;
134  os << "\n" << this->m_option_rwmh_step << " = " << this->m_rwmh_step;
135  os << std::endl;
136  return;
137 }
std::string m_dataOutputFileName
Name of the HDF5 output file to store chain statistics.
unsigned int m_save_freq
The frequency at which to save the state of the chain.
std::string m_dataOutputDirName
Name of the output dir to save infinite dimensional output files to.
unsigned int m_num_iters
The total number of iterations to do.
void QUESO::InfiniteDimensionalMCMCSamplerOptions::scanOptionsValues ( )

Scans the input file for options prefixed with prefix.

Definition at line 61 of file InfiniteDimensionalMCMCSamplerOptions.C.

References defineMyOptions(), getMyOptionValues(), m_env, m_optionsDesc, m_prefix, QUESO::BaseEnvironment::scanInputFileForMyOptions(), QUESO::BaseEnvironment::subDisplayFile(), UQ_FATAL_TEST_MACRO, and QUESO::BaseEnvironment::worldRank().

62 {
64  m_env.worldRank(),
65  "InfiniteDimensionalMCMCSamplerOptions::scanOptionsValues()",
66  "m_optionsDesc variable is NULL");
67 
71 
72  if (m_env.subDisplayFile() != NULL) {
73  *m_env.subDisplayFile() << "In InfiniteDimensionalMCMCSamplerOptions::scanOptionsValues()"
74  << ": after reading values of options with prefix '" << m_prefix
75  << "', state of object is:"
76  << "\n" << *this
77  << std::endl;
78  }
79  return;
80 }
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:305
void getMyOptionValues(po::options_description &optionsDesc)
std::string m_prefix
The prefix to look for in the input file.
void defineMyOptions(po::options_description &optionsDesc) const
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
void scanInputFileForMyOptions(const po::options_description &optionsDesc) const
This method scans the input file provided by the user to QUESO.
Definition: Environment.C:378

Member Data Documentation

std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_dataOutputDirName

Name of the output dir to save infinite dimensional output files to.

For example, if m_dataOutputDirName is set to 'outputData/chain' then a series of folders will be created, one for each QUESO subenvironment, called 'outputData/chain0', 'outputData/chain1', etc. Inside these folders, output data from the infinite dimensional chain will be saved as an HDF5 file.

Definition at line 65 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by getMyOptionValues(), and print().

std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_dataOutputFileName

Name of the HDF5 output file to store chain statistics.

Definition at line 68 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by getMyOptionValues(), and print().

const BaseEnvironment& QUESO::InfiniteDimensionalMCMCSamplerOptions::m_env
private
unsigned int QUESO::InfiniteDimensionalMCMCSamplerOptions::m_num_iters

The total number of iterations to do.

Definition at line 71 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by getMyOptionValues(), and print().

std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_dataOutputDirName
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_dataOutputFileName
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_help
private

Definition at line 89 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by defineMyOptions(), and getMyOptionValues().

std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_num_iters
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_rwmh_step
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_save_freq
private
po::options_description* QUESO::InfiniteDimensionalMCMCSamplerOptions::m_optionsDesc
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_prefix

The prefix to look for in the input file.

Definition at line 55 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by scanOptionsValues().

double QUESO::InfiniteDimensionalMCMCSamplerOptions::m_rwmh_step

The proposal step size.

Definition at line 77 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by getMyOptionValues(), and print().

unsigned int QUESO::InfiniteDimensionalMCMCSamplerOptions::m_save_freq

The frequency at which to save the state of the chain.

Definition at line 74 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by getMyOptionValues(), and print().


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

Generated on Thu Apr 23 2015 19:26:16 for queso-0.51.1 by  doxygen 1.8.5