Flow123d
release_3.0.0-1141-g4222d07
|
#include <observe.hh>
Public Types | |
typedef std::shared_ptr< ElementDataCacheBase > | OutputDataPtr |
typedef std::map< string, OutputDataPtr > | OutputDataFieldMap |
Public Member Functions | |
Observe (string observe_name, Mesh &mesh, Input::Array in_array, unsigned int precision, std::string unit_str) | |
~Observe () | |
Destructor, must close the file. More... | |
const std::vector< unsigned int > & | observed_elements () const |
void | output_header () |
void | output_time_frame (double time, bool flush) |
const std::vector< ObservePoint > & | points () const |
const Distribution * | point_ds () const |
Range< ObservePointAccessor > | local_range () const |
Returns local range of observe points. More... | |
template<typename T > | |
ElementDataCache< T > & | prepare_compute_data (std::string field_name, double field_time, unsigned int n_rows, unsigned int n_cols) |
Protected Attributes | |
int | rank_ |
std::vector< ObservePoint > | points_ |
Full information about observe points. More... | |
std::vector< unsigned int > | observed_element_indices_ |
Elements of the o_points. More... | |
OutputDataFieldMap | observe_field_values_ |
Stored field values. More... | |
std::vector< double > | observe_values_time_ |
Common evaluation time of the fields for single time frame. More... | |
std::string | observe_name_ |
std::ofstream | observe_file_ |
Output file stream. More... | |
std::string | time_unit_str_ |
String representation of the time unit. More... | |
double | time_unit_seconds_ |
Time unit in seconds. More... | |
unsigned int | precision_ |
Precision of float output. More... | |
bool | no_fields_warning =false |
std::vector< LongIdx > | point_4_loc_ |
Index set assigning to local point index its global index. More... | |
Distribution * | point_ds_ |
Parallel distribution of observe points. More... | |
unsigned int | observe_time_idx_ |
Index of actual (last) time in observe_values_time_ vector. More... | |
Static Protected Attributes | |
static const unsigned int | max_observe_value_time = 1000 |
Maximal size of observe values times vector. More... | |
Friends | |
class | ObservePointAccessor |
This class takes care about the observe points in the output stream, storing observe values of the fields and their output in the YAML format.
Definition at line 197 of file observe.hh.
typedef std::map< string, OutputDataPtr > Observe::OutputDataFieldMap |
Definition at line 201 of file observe.hh.
typedef std::shared_ptr<ElementDataCacheBase> Observe::OutputDataPtr |
Definition at line 200 of file observe.hh.
Observe::Observe | ( | string | observe_name, |
Mesh & | mesh, | ||
Input::Array | in_array, | ||
unsigned int | precision, | ||
std::string | unit_str | ||
) |
Construct the observation object.
observe_name - base name of the output file, the equation name. mesh - the mesh used for search for the observe points in_array - the array of observe points
Definition at line 344 of file observe.cc.
Observe::~Observe | ( | ) |
Destructor, must close the file.
Definition at line 394 of file observe.cc.
Range< ObservePointAccessor > Observe::local_range | ( | ) | const |
Returns local range of observe points.
Definition at line 492 of file observe.cc.
|
inline |
Provides a vector of element indices on which the observation values are evaluated. This can be used to evaluate derived fields only on these elements in the times not selected to full output.
Definition at line 221 of file observe.hh.
void Observe::output_header | ( | ) |
Output file header.
Definition at line 429 of file observe.cc.
void Observe::output_time_frame | ( | double | time, |
bool | flush | ||
) |
Sets next output time frame of observe. If the table is full, writes field values to the output file. Using the YAML format. Argument flush starts writing to output file explicitly.
Definition at line 441 of file observe.cc.
|
inline |
Return point distribution
Definition at line 244 of file observe.hh.
|
inline |
Return points_
vector
Definition at line 238 of file observe.hh.
ElementDataCache< T > & Observe::prepare_compute_data | ( | std::string | field_name, |
double | field_time, | ||
unsigned int | n_rows, | ||
unsigned int | n_cols | ||
) |
Prepare data for computing observe values.
Method:
field_name | Quantity name of founding ElementDataCache |
field_time | Actual computing time |
n_rows | Count of rows of data cache (used only if new cache is created) |
n_cols | Count of columns of data cache (used only if new cache is created) |
Definition at line 401 of file observe.cc.
|
friend |
Definition at line 311 of file observe.hh.
|
staticprotected |
Maximal size of observe values times vector.
Definition at line 269 of file observe.hh.
|
protected |
Definition at line 300 of file observe.hh.
|
protected |
Stored field values.
Definition at line 280 of file observe.hh.
|
protected |
Output file stream.
Definition at line 290 of file observe.hh.
|
protected |
Definition at line 287 of file observe.hh.
|
protected |
Index of actual (last) time in observe_values_time_
vector.
Definition at line 309 of file observe.hh.
|
protected |
Common evaluation time of the fields for single time frame.
Definition at line 284 of file observe.hh.
|
protected |
Elements of the o_points.
Definition at line 277 of file observe.hh.
|
protected |
Index set assigning to local point index its global index.
Definition at line 303 of file observe.hh.
|
protected |
Parallel distribution of observe points.
Definition at line 306 of file observe.hh.
|
protected |
Full information about observe points.
Definition at line 275 of file observe.hh.
|
protected |
Precision of float output.
Definition at line 297 of file observe.hh.
|
protected |
Definition at line 272 of file observe.hh.
|
protected |
Time unit in seconds.
Definition at line 295 of file observe.hh.
|
protected |
String representation of the time unit.
Definition at line 293 of file observe.hh.