Flow123d
master-f44eb46
|
#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, const std::shared_ptr< TimeUnitConversion > &time_unit_conv) | |
~Observe () | |
Destructor, must close the file. More... | |
const std::vector< unsigned int > & | observed_elements () const |
void | output_header () |
void | output_time_frame (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... | |
OutputDataPtr | prepare_compute_data (std::string field_name, double field_time, unsigned int n_shape) |
OutputDataPtr | get_output_cache (std::string field_name) |
PatchPointVec & | patch_point_data () |
Getter of patch_point_data. More... | |
Protected Member Functions | |
void | flush_values () |
Effectively writes the data into the observe stream. More... | |
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... | |
unsigned int | precision_ |
Precision of float output. More... | |
std::shared_ptr< TimeUnitConversion > | time_unit_conversion_ |
Time unit conversion object. 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... | |
PatchPointVec | patch_point_data_ |
Holds observe data of eval points on patch. 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 228 of file observe.hh.
typedef std::map< string, OutputDataPtr > Observe::OutputDataFieldMap |
Definition at line 232 of file observe.hh.
typedef std::shared_ptr<ElementDataCacheBase> Observe::OutputDataPtr |
Definition at line 231 of file observe.hh.
Observe::Observe | ( | string | observe_name, |
Mesh & | mesh, | ||
Input::Array | in_array, | ||
unsigned int | precision, | ||
const std::shared_ptr< TimeUnitConversion > & | time_unit_conv | ||
) |
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 340 of file observe.cc.
Observe::~Observe | ( | ) |
Destructor, must close the file.
Definition at line 394 of file observe.cc.
|
protected |
Effectively writes the data into the observe stream.
Definition at line 432 of file observe.cc.
|
inline |
Return pointer to ElementDataCache of given field.
field_name | Quantity name of founding ElementDataCache |
Definition at line 300 of file observe.hh.
Range< ObservePointAccessor > Observe::local_range | ( | ) | const |
Returns local range of observe points.
Definition at line 488 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 253 of file observe.hh.
void Observe::output_header | ( | ) |
Output file header.
Definition at line 420 of file observe.cc.
void Observe::output_time_frame | ( | 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 463 of file observe.cc.
|
inline |
Getter of patch_point_data.
Definition at line 307 of file observe.hh.
|
inline |
Return point distribution
Definition at line 276 of file observe.hh.
|
inline |
Return points_
vector
Definition at line 270 of file observe.hh.
Observe::OutputDataPtr Observe::prepare_compute_data | ( | std::string | field_name, |
double | field_time, | ||
unsigned int | n_shape | ||
) |
Prepare data for computing observe values.
Method:
field_name | Quantity name of founding ElementDataCache |
field_time | Actual computing time |
n_shape | Count of rows * cols of data cache (used only if new cache is created) |
Definition at line 401 of file observe.cc.
|
friend |
Definition at line 361 of file observe.hh.
|
staticprotected |
Maximal size of observe values times vector.
Definition at line 318 of file observe.hh.
|
protected |
Definition at line 347 of file observe.hh.
|
protected |
Stored field values.
Definition at line 329 of file observe.hh.
|
protected |
Output file stream.
Definition at line 339 of file observe.hh.
|
protected |
Definition at line 336 of file observe.hh.
|
protected |
Index of actual (last) time in observe_values_time_
vector.
Definition at line 356 of file observe.hh.
|
protected |
Common evaluation time of the fields for single time frame.
Definition at line 333 of file observe.hh.
|
protected |
Elements of the o_points.
Definition at line 326 of file observe.hh.
|
protected |
Holds observe data of eval points on patch.
Definition at line 359 of file observe.hh.
|
protected |
Index set assigning to local point index its global index.
Definition at line 350 of file observe.hh.
|
protected |
Parallel distribution of observe points.
Definition at line 353 of file observe.hh.
|
protected |
Full information about observe points.
Definition at line 324 of file observe.hh.
|
protected |
Precision of float output.
Definition at line 342 of file observe.hh.
|
protected |
Definition at line 321 of file observe.hh.
|
protected |
Time unit conversion object.
Definition at line 344 of file observe.hh.