COOLFluiD
Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
|
Stores History of variables. More...
#include <History.hpp>
Inherits Component.
Public Member Functions | |
History (const std::string &name) | |
Contructor. More... | |
virtual | ~History () |
Virtual destructor. More... | |
void | write_file (boost::filesystem::fstream &file) |
Write the history to file. More... | |
void | read_file (boost::filesystem::fstream &file) |
Read the history from file. More... | |
Handle< common::Table< Real > const > | table () |
Read access to the table storing the history. More... | |
Handle< math::VariablesDescriptor const > | variables () const |
Information of every variable stored in history. More... | |
void | flush () |
Flush the buffer in the table. More... | |
HistoryEntry | entry () const |
make a Entry object that can be written to any output stream More... | |
High level API | |
void | set (const std::string &var_name, const Real &var_values) |
Set in the current entry the variable with given name to a given value. More... | |
void | set (const std::string &var_name, const std::vector< Real > &var_values) |
Set in the current entry the vector of variables with given name to a given value. More... | |
void | save_entry () |
Finalize an entry in history, save it, and write it optionally (default=ON) to file. More... | |
SIGNALS | |
void | signal_write (common::SignalArgs &args) |
Write the history to file, signal. More... | |
void | signature_write (common::SignalArgs &args) |
Write the history to file, signature. More... | |
void | signal_read (common::SignalArgs &args) |
Read the history from file, signal. More... | |
void | signature_read (common::SignalArgs &args) |
Read the history from file, signature. More... | |
Public Member Functions inherited from Component | |
Component (const std::string &name) | |
virtual | ~Component () |
Virtual destructor. More... | |
const std::string & | name () const |
Access the name of the component. More... | |
void | rename (const std::string &name) |
Rename the component. More... | |
URI | uri () const |
Construct the full path. More... | |
void | complete_path (URI &path) const |
Handle< Component > | access_component (const URI &path) const |
Handle< Component > | access_component_checked (const URI &path) |
Handle< Component const > | access_component_checked (const URI &path) const |
Handle< Component > | handle () |
Get a handle to the component. More... | |
Handle< Component const > | handle () const |
template<typename ComponentT > | |
Handle< ComponentT > | handle () |
template<typename ComponentT > | |
Handle< ComponentT const > | handle () const |
Handle< Component > | parent () const |
Handle< Component const > | root () const |
Handle< Component > | root () |
Handle< Component > | get_child (const std::string &name) |
Handle< Component const > | get_child (const std::string &name) const |
Handle< Component > | get_child_checked (const std::string &name) |
Handle< Component const > | get_child_checked (const std::string &name) const |
Handle< Component > | create_component (const std::string &name, const std::string &builder) |
Build a (sub)component of this component using the extended type_name of the component. More... | |
template<typename T > | |
Handle< T > | create_component (const std::string &name) |
Create a (sub)component of this component automatically cast to the specified type. More... | |
template<typename T > | |
Handle< T > | create_static_component (const std::string &name) |
Create a static "always there" subcomponent. More... | |
Component & | add_component (const boost::shared_ptr< Component > &subcomp) |
Add the passed component as a subcomponent. More... | |
void | add_link (Component &linked_component) |
boost::shared_ptr< Component > | remove_component (const std::string &name) |
Remove a (sub)component of this component. More... | |
boost::shared_ptr< Component > | remove_component (Component &subcomp) |
Remove a (sub)component of this component. More... | |
void | clear () |
Remove all sub-components of this component, except for the static ones. More... | |
void | move_to (Component &to_parent) |
std::string | tree (bool basic_mode=false, Uint depth=0, Uint recursion_level=0) const |
std::string | info (const std::string &what=std::string("cospt")) const |
size_t | count_children () const |
virtual std::string | derived_type_name () const =0 |
PropertyList & | properties () |
const PropertyList & | properties () const |
OptionList & | options () |
const OptionList & | options () const |
void | reset_options () |
Reset all options to their default value. More... | |
void | configure_option_recursively (const std::string &optname, const boost::any &val) |
Component & | mark_basic () |
marks this component as basic. More... | |
template<typename ComponentT > | |
void | put_components (std::vector< boost::shared_ptr< ComponentT > > &vec, const bool recurse) |
template<typename ComponentT > | |
void | put_components (std::vector< boost::shared_ptr< ComponentT const > > &vec, const bool recurse) const |
template<> | |
void | put_components (std::vector< boost::shared_ptr< Component > > &vec, const bool recurse) |
template<> | |
void | put_components (std::vector< boost::shared_ptr< Component const > > &vec, const bool recurse) const |
Component::iterator | begin () |
The begin iterator for a range containing Components. More... | |
Component::iterator | end () |
The end iterator for a range containing Components. More... | |
Component::const_iterator | begin () const |
The begin iterator for a range containing Components (const version) More... | |
Component::const_iterator | end () const |
The end iterator for a range containing Components (const version) More... | |
Component::iterator | recursive_begin () |
The begin iterator for a recursive range containing Components. More... | |
Component::iterator | recursive_end () |
The end iterator for a recursive range containing Components. More... | |
Component::const_iterator | recursive_begin () const |
The begin iterator for a recursive range containing Components (const version) More... | |
Component::const_iterator | recursive_end () const |
The end iterator for a recursive range containing Components (const version) More... | |
template<typename T > | |
Handle< T > | create_component (const std::string &name, const std::string &builder) |
Create a component using the reduced builder name. More... | |
void | signal_configure (SignalArgs &args) |
configures all the options on this class More... | |
void | signal_create_component (SignalArgs &args) |
creates a component from this component More... | |
void | signal_delete_component (SignalArgs &args) |
delete this component More... | |
void | signal_move_component (SignalArgs &args) |
moves a component from this component to another More... | |
void | signal_list_tree (SignalArgs &args) const |
lists the sub components and puts them on the xml_tree More... | |
void | signal_list_tree_recursive (SignalArgs &args) const |
prints tree recursively More... | |
void | signal_list_properties (SignalArgs &args) const |
lists the properties of this component More... | |
void | signal_list_options (SignalArgs &args) const |
lists the properties of this component More... | |
void | signal_list_options_recursive (SignalArgs &args) const |
prints all options recursive More... | |
void | signal_list_signals (SignalArgs &args) const |
lists the signals of this component More... | |
void | signal_list_signals_recursive (SignalArgs &args) const |
prints all signals recursive More... | |
void | signal_print_info (SignalArgs &args) const |
gets info on this component More... | |
void | signal_print_tree (SignalArgs &args) const |
signal to print the tree More... | |
void | signature_print_tree (SignalArgs &args) const |
signature to signal_print_tree More... | |
void | signal_rename_component (SignalArgs &args) |
renames this component More... | |
void | signal_save_tree (SignalArgs &args) |
dumps the tree to a file More... | |
void | signal_list_content (SignalArgs &args) |
gives information about this component such as options, signals, ... More... | |
void | signal_signature (SignalArgs &args) |
Gives a signal signature, if any. More... | |
void | signature_create_component (SignalArgs &args) |
void | signature_rename_component (SignalArgs &args) |
void | signature_move_component (SignalArgs &args) |
void | signal_store_timings (SignalArgs &args) |
Signal to store the timings (if enabled) into properties, i.e. for readout from python or the GUI. More... | |
void | signal_clear (SignalArgs &args) |
Signal to remove all sub-components. More... | |
void | signal_reset_options (SignalArgs &args) |
Signal to set all options to their default value. More... | |
void | signal_add_tag (SignalArgs &args) |
Signal to add a tag. More... | |
void | signature_add_tag (SignalArgs &args) |
Public Member Functions inherited from SignalHandler | |
~SignalHandler () | |
const storage_t & | signal_list () const |
SignalPtr | signal (const SignalID &sname) |
SignalCPtr | signal (const SignalID &sname) const |
SignalRet | call_signal (const SignalID &sname, SignalArgs &sinput) |
Calls the signal by providing its name and input. More... | |
SignalRet | call_signal (const SignalID &sname, std::vector< std::string > &sinput) |
Calls the signal by providing its name and input. More... | |
bool | signal_exists (const SignalID &sname) const |
Checks if a signal exists or not. More... | |
Signal & | regist_signal (const SignalID &sname) |
Regist signal. More... | |
void | unregist_signal (const SignalID &sname) |
Unregist signal. More... | |
Public Member Functions inherited from ConnectionManager | |
~ConnectionManager () | |
destructor closes all connections More... | |
Connection * | connection (const std::string &name) |
Connection * | manage_connection (const std::string &name) |
manages a connection (creates if necessary) More... | |
Public Member Functions inherited from TaggedObject | |
TaggedObject () | |
Constructor. More... | |
bool | has_tag (const std::string &tag) const |
void | add_tag (const std::string &tag) |
std::vector< std::string > | get_tags () const |
void | remove_tag (const std::string &tag) |
Static Public Member Functions | |
static std::string | type_name () |
Get the class name. More... | |
Static Public Member Functions inherited from Component | |
static std::string | type_name () |
Get the class name. More... | |
Private Member Functions | |
bool | resize_if_necessary () |
resize table and rebuild buffer if needed More... | |
std::string | file_header () const |
return the log-file header in string format More... | |
Static Private Member Functions | |
static void | open_read_access_file (boost::filesystem::fstream &file, const common::URI &file_uri) |
open a file with given URI More... | |
static void | open_write_access_file (boost::filesystem::fstream &file, const common::URI &file_uri) |
Private Attributes | |
bool | m_logging |
Flag to check if the history has to be logged. More... | |
boost::filesystem::fstream | m_file |
Log file handle. More... | |
Handle< common::Table< Real > > | m_table |
Handle to the table. More... | |
boost::shared_ptr< common::Table< Real >::Buffer > | m_buffer |
The buffer to manipulate m_table. More... | |
Handle< math::VariablesDescriptor > | m_variables |
Description of the variables. More... | |
bool | m_table_needs_resize |
Additional Inherited Members | |
Public Types inherited from Component | |
typedef ComponentIterator< Component > | iterator |
type of the iterator to Component More... | |
typedef ComponentIterator< Component const > | const_iterator |
type of the iterator to constant Component More... | |
Public Types inherited from SignalHandler | |
typedef std::vector< SignalPtr > | storage_t |
storage type for signals More... | |
Public Attributes inherited from SignalHandler | |
storage_t | m_signals |
storage of the signals More... | |
Protected Member Functions inherited from Component | |
Component & | add_static_component (const boost::shared_ptr< Component > &subcomp) |
Add a static (sub)component of this component. More... | |
void | raise_tree_updated_event () |
raise event that the path has changed More... | |
Stores History of variables.
An API is offered to easily store the history of Real variables, or vectors of Real variables, and log to file.
History is stored internally using a common::Table<Real> . An optional (default=ON) logging facility is provided to log the history to file at every new entry. The file format is Tab Separated Values (extension tsv)
Any number of variables can be added after logging started. This will cause The history file to be rewritten, including the new variables, putting zero's for the non-existent past entries.
Example:
Definition at line 57 of file History.hpp.
History | ( | const std::string & | name | ) |
|
virtual |
Virtual destructor.
Definition at line 64 of file History.cpp.
HistoryEntry entry | ( | ) | const |
make a Entry object that can be written to any output stream
Definition at line 329 of file History.cpp.
|
private |
return the log-file header in string format
Definition at line 257 of file History.cpp.
void flush | ( | ) |
Flush the buffer in the table.
Definition at line 159 of file History.cpp.
|
staticprivate |
open a file with given URI
Definition at line 230 of file History.cpp.
|
staticprivate |
Definition at line 243 of file History.cpp.
void read_file | ( | boost::filesystem::fstream & | file | ) |
Read the history from file.
Definition at line 304 of file History.cpp.
|
private |
resize table and rebuild buffer if needed
Definition at line 104 of file History.cpp.
void save_entry | ( | ) |
Finalize an entry in history, save it, and write it optionally (default=ON) to file.
Definition at line 126 of file History.cpp.
void set | ( | const std::string & | var_name, |
const Real & | var_values | ||
) |
Set in the current entry the variable with given name to a given value.
Variables are saved as properties in this component This function can be called multiple times per entry.
Definition at line 74 of file History.cpp.
void set | ( | const std::string & | var_name, |
const std::vector< Real > & | var_values | ||
) |
Set in the current entry the vector of variables with given name to a given value.
Variables are saved as properties in this component This function can be called multiple times per entry.
Definition at line 94 of file History.cpp.
void signal_read | ( | common::SignalArgs & | args | ) |
Read the history from file, signal.
Definition at line 216 of file History.cpp.
void signal_write | ( | common::SignalArgs & | args | ) |
Write the history to file, signal.
Definition at line 191 of file History.cpp.
void signature_read | ( | common::SignalArgs & | args | ) |
Read the history from file, signature.
Definition at line 207 of file History.cpp.
void signature_write | ( | common::SignalArgs & | args | ) |
Write the history to file, signature.
Definition at line 182 of file History.cpp.
Read access to the table storing the history.
Definition at line 167 of file History.cpp.
|
inlinestatic |
Get the class name.
Definition at line 69 of file History.hpp.
Handle< math::VariablesDescriptor const > variables | ( | ) | const |
Information of every variable stored in history.
Definition at line 175 of file History.cpp.
void write_file | ( | boost::filesystem::fstream & | file | ) |
Write the history to file.
Definition at line 282 of file History.cpp.
|
private |
The buffer to manipulate m_table.
Definition at line 155 of file History.hpp.
|
private |
Log file handle.
Definition at line 149 of file History.hpp.
|
private |
Flag to check if the history has to be logged.
Definition at line 146 of file History.hpp.
|
private |
Handle to the table.
Definition at line 152 of file History.hpp.
|
private |
Flag to check if variables have been added. If so, the table needs to be resized.
Definition at line 162 of file History.hpp.
|
private |
Description of the variables.
Definition at line 158 of file History.hpp.
Send comments to: COOLFluiD Web Admin |