8 #ifndef SRC_IO_OBSERVE_HH_ 9 #define SRC_IO_OBSERVE_HH_ 30 <<
"Failed to find the element containing the initial observe point.\n");
34 <<
"Failed to find the observe element with snap region: " << EI_RegionName::qval
35 <<
" close to the initial observe point. Using maximal number of neighbour levels: " << EI_NLevels::val <<
"\n");
75 template <
int ele_dim>
103 void output(ostream &out,
unsigned int indent_spaces,
unsigned int precision);
179 {
return observed_element_indices_;}
184 void output_header();
189 void output_time_frame(
double time);
209 template <
typename T>
210 ElementDataCache<T> & prepare_compute_data(std::string field_name,
double field_time,
unsigned int n_rows,
unsigned int n_cols);
244 bool no_fields_warning=
false;
std::vector< ObservePoint > points_
Full information about observe points.
OutputDataFieldMap observe_field_values_
Stored field values.
std::ofstream observe_file_
Output file stream.
arma::vec3 input_point_
Input coordinates of the initial position of the observation point.
const std::vector< ObservePoint > & points() const
static const Input::Type::Record & get_input_type()
bool have_observe_element()
TYPEDEF_ERR_INFO(EI_RegionName, std::string)
void output(ostream &out, unsigned int indent_spaces, unsigned int precision)
std::string time_unit_str_
String representation of the time unit.
std::string observe_name_
Basic time management class.
Input::Record in_rec_
Index in the input array.
unsigned int element_idx() const
unsigned int precision_
Precision of float output.
void find_observe_point(Mesh &mesh)
friend class Observe
Only Observe should use this class directly.
void snap_to_subelement()
std::string name_
Observation point name.
std::vector< unsigned int > observed_element_indices_
Elements of the o_points.
double observe_values_time_
Common evaluation time of the fields for single time frame.
const std::vector< unsigned int > & observed_elements() const
arma::vec3 global_coords_
Global coordinates of the observation point.
arma::vec local_coords_
Local (barycentric) coordinates on the element.
void update_projection(unsigned int i_elm, arma::vec local_coords, arma::vec3 global_coords)
double time_unit_seconds_
Time unit in seconds.
std::map< string, OutputDataPtr > OutputDataFieldMap
std::shared_ptr< ElementDataCacheBase > OutputDataPtr
unsigned int element_idx_
Final element of the observe point. The index in the mesh.
arma::vec3 global_coords() const
DECLARE_INPUT_EXCEPTION(ExcNoInitialPoint,<< "Failed to find the element containing the initial observe point.\n")