$extrastylesheet
libMesh::RBParametrized Class Reference

#include <rb_parametrized.h>

Inheritance diagram for libMesh::RBParametrized:

List of all members.

Public Member Functions

 RBParametrized ()
virtual ~RBParametrized ()
virtual void clear ()
void initialize_parameters (const RBParameters &mu_min_in, const RBParameters &mu_max_in, const std::map< std::string, std::vector< Real > > &discrete_parameter_values)
void initialize_parameters (const RBParametrized &rb_parametrized)
unsigned int get_n_params () const
unsigned int get_n_continuous_params () const
unsigned int get_n_discrete_params () const
std::set< std::string > get_parameter_names () const
const RBParametersget_parameters () const
void set_parameters (const RBParameters &params)
const RBParametersget_parameters_min () const
const RBParametersget_parameters_max () const
Real get_parameter_min (const std::string &param_name) const
Real get_parameter_max (const std::string &param_name) const
void print_parameters () const
void write_parameter_data_to_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool write_binary_data)
void read_parameter_data_from_files (const std::string &continuous_param_file_name, const std::string &discrete_param_file_name, const bool read_binary_data)
bool is_discrete_parameter (const std::string &mu_name) const
const std::map< std::string,
std::vector< Real > > & 
get_discrete_parameter_values () const
void print_discrete_parameter_values () const

Static Public Member Functions

static Real get_closest_value (Real value, const std::vector< Real > &list_of_values)
static std::string get_info ()
static void print_info (std::ostream &out=libMesh::out)
static unsigned int n_objects ()
static void enable_print_counter_info ()
static void disable_print_counter_info ()

Public Attributes

bool verbose_mode

Protected Types

typedef std::map< std::string,
std::pair< unsigned int,
unsigned int > > 
Counts

Protected Member Functions

void increment_constructor_count (const std::string &name)
void increment_destructor_count (const std::string &name)

Static Protected Attributes

static Counts _counts
static Threads::atomic
< unsigned int > 
_n_objects
static Threads::spin_mutex _mutex
static bool _enable_print_counter = true

Private Member Functions

void write_parameter_ranges_to_file (const std::string &file_name, const bool write_binary)
void write_discrete_parameter_values_to_file (const std::string &file_name, const bool write_binary_data)
void read_parameter_ranges_from_file (const std::string &file_name, const bool read_binary, RBParameters &param_min, RBParameters &param_max)
void read_discrete_parameter_values_from_file (const std::string &file_name, const bool read_binary_data, std::map< std::string, std::vector< Real > > &discrete_parameter_values_in)
bool valid_params (const RBParameters &params)

Static Private Member Functions

static bool is_value_in_list (Real value, const std::vector< Real > &list_of_values, Real tol)

Private Attributes

bool parameters_initialized
RBParameters parameters
RBParameters parameters_min
RBParameters parameters_max
std::map< std::string,
std::vector< Real > > 
_discrete_parameter_values

Detailed Description

This class is part of the rbOOmit framework.

This class defines basic functionality of a parametrized object.

Author:
David J. Knezevic, 2011

Definition at line 45 of file rb_parametrized.h.


Member Typedef Documentation

typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts [protected, inherited]

Data structure to log the information. The log is identified by the class name.

Definition at line 113 of file reference_counter.h.


Constructor & Destructor Documentation

Destructor.


Member Function Documentation

Methods to enable/disable the reference counter output from print_info()

Definition at line 100 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter.

{
  _enable_print_counter = true;
  return;
}
static Real libMesh::RBParametrized::get_closest_value ( Real  value,
const std::vector< Real > &  list_of_values 
) [static]

Helper function that returns the closest entry to value from list_of_values.

const std::map< std::string, std::vector<Real> >& libMesh::RBParametrized::get_discrete_parameter_values ( ) const

Get a const reference to the discrete parameter values.

std::string libMesh::ReferenceCounter::get_info ( ) [static, inherited]

Gets a string containing the reference information.

Definition at line 47 of file reference_counter.C.

References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().

Referenced by libMesh::ReferenceCounter::print_info().

{
#if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)

  std::ostringstream oss;

  oss << '\n'
      << " ---------------------------------------------------------------------------- \n"
      << "| Reference count information                                                |\n"
      << " ---------------------------------------------------------------------------- \n";

  for (Counts::iterator it = _counts.begin();
       it != _counts.end(); ++it)
    {
      const std::string name(it->first);
      const unsigned int creations    = it->second.first;
      const unsigned int destructions = it->second.second;

      oss << "| " << name << " reference count information:\n"
          << "|  Creations:    " << creations    << '\n'
          << "|  Destructions: " << destructions << '\n';
    }

  oss << " ---------------------------------------------------------------------------- \n";

  return oss.str();

#else

  return "";

#endif
}

Get the number of continuous parameters.

Get the number of discrete parameters.

unsigned int libMesh::RBParametrized::get_n_params ( ) const

Get the number of parameters.

Real libMesh::RBParametrized::get_parameter_max ( const std::string &  param_name) const

Get maximum allowable value of parameter param_name.

Real libMesh::RBParametrized::get_parameter_min ( const std::string &  param_name) const

Get minimum allowable value of parameter param_name.

std::set<std::string> libMesh::RBParametrized::get_parameter_names ( ) const

Get a set that stores the parameter names.

Get the current parameters.

Get an RBParameters object that specifies the maximum allowable value for each parameter.

Get an RBParameters object that specifies the minimum allowable value for each parameter.

void libMesh::ReferenceCounter::increment_constructor_count ( const std::string &  name) [inline, protected, inherited]

Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.

Definition at line 163 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.

Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().

{
  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
  std::pair<unsigned int, unsigned int>& p = _counts[name];

  p.first++;
}
void libMesh::ReferenceCounter::increment_destructor_count ( const std::string &  name) [inline, protected, inherited]

Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.

Definition at line 176 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.

Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().

{
  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
  std::pair<unsigned int, unsigned int>& p = _counts[name];

  p.second++;
}
void libMesh::RBParametrized::initialize_parameters ( const RBParameters mu_min_in,
const RBParameters mu_max_in,
const std::map< std::string, std::vector< Real > > &  discrete_parameter_values 
)

Initialize the parameter ranges and set current_parameters.

Initialize the parameter ranges and set current_parameters.

bool libMesh::RBParametrized::is_discrete_parameter ( const std::string &  mu_name) const

Is parameter mu_name discrete?

static bool libMesh::RBParametrized::is_value_in_list ( Real  value,
const std::vector< Real > &  list_of_values,
Real  tol 
) [static, private]

Helper function to check if the specified value is in the list of values (within a tolerance given by tol).

static unsigned int libMesh::ReferenceCounter::n_objects ( ) [inline, static, inherited]

Prints the number of outstanding (created, but not yet destroyed) objects.

Definition at line 79 of file reference_counter.h.

References libMesh::ReferenceCounter::_n_objects.

Referenced by libMesh::LibMeshInit::~LibMeshInit().

  { return _n_objects; }

Print out all the discrete parameter values.

void libMesh::ReferenceCounter::print_info ( std::ostream &  out = libMesh::out) [static, inherited]

Prints the reference information, by default to libMesh::out.

Definition at line 88 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().

Referenced by libMesh::LibMeshInit::~LibMeshInit().

Print the current parameters.

void libMesh::RBParametrized::read_discrete_parameter_values_from_file ( const std::string &  file_name,
const bool  read_binary_data,
std::map< std::string, std::vector< Real > > &  discrete_parameter_values_in 
) [private]

Read in the discrete parameter values from file, if we have any.

void libMesh::RBParametrized::read_parameter_data_from_files ( const std::string &  continuous_param_file_name,
const std::string &  discrete_param_file_name,
const bool  read_binary_data 
)

Read in the parameter ranges from files.

void libMesh::RBParametrized::read_parameter_ranges_from_file ( const std::string &  file_name,
const bool  read_binary,
RBParameters param_min,
RBParameters param_max 
) [private]

Read in the parameter ranges from file. Initialize parameters to the "minimum" parameter values.

Set the current parameters to params

bool libMesh::RBParametrized::valid_params ( const RBParameters params) [private]

Helper function to check that params is valid.

void libMesh::RBParametrized::write_discrete_parameter_values_to_file ( const std::string &  file_name,
const bool  write_binary_data 
) [private]

Write out the discrete parameter values to file.

void libMesh::RBParametrized::write_parameter_data_to_files ( const std::string &  continuous_param_file_name,
const std::string &  discrete_param_file_name,
const bool  write_binary_data 
)

Write out the parameter ranges to files.

void libMesh::RBParametrized::write_parameter_ranges_to_file ( const std::string &  file_name,
const bool  write_binary 
) [private]

Write out the parameter ranges to file.


Member Data Documentation

std::map< std::string, std::vector<Real> > libMesh::RBParametrized::_discrete_parameter_values [private]

Map that defines the allowable values of any discrete parameters.

Definition at line 237 of file rb_parametrized.h.

bool libMesh::ReferenceCounter::_enable_print_counter = true [static, protected, inherited]

Flag to control whether reference count information is printed when print_info is called.

Definition at line 137 of file reference_counter.h.

Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().

Mutual exclusion object to enable thread-safe reference counting.

Definition at line 131 of file reference_counter.h.

Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects [static, protected, inherited]

The number of objects. Print the reference count information when the number returns to 0.

Definition at line 126 of file reference_counter.h.

Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().

Vector storing the current parameters.

Definition at line 226 of file rb_parametrized.h.

Flag indicating whether the parameters have been initialized.

Definition at line 221 of file rb_parametrized.h.

Vectors that define the ranges (min and max) for the parameters.

Definition at line 231 of file rb_parametrized.h.

Public boolean to toggle verbose mode.

Definition at line 172 of file rb_parametrized.h.


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