Flow123d
build_with_4.0.3-4b79837
|
#include <observe.hh>
Public Member Functions | |
DECLARE_INPUT_EXCEPTION (ExcNoInitialPoint,<< "Failed to find the element containing the initial observe point.\n") | |
TYPEDEF_ERR_INFO (EI_RegionName, std::string) | |
TYPEDEF_ERR_INFO (EI_PointName, std::string) | |
TYPEDEF_ERR_INFO (EI_Point, arma::vec3) | |
TYPEDEF_ERR_INFO (EI_ClosestEle, ObservePointData) | |
DECLARE_INPUT_EXCEPTION (ExcNoObserveElementCandidates,<< "Failed to find any element in the search radius of the observe point "<< EI_PointName::qval<< " with given coordinates "<< field_value_to_yaml(EI_Point::ref(*this))<< ".\n"<< "The closest element has index "<< EI_ClosestEle::ref(*this).element_idx_<< ", its distance is "<< EI_ClosestEle::ref(*this).distance_<< ".\n"<< "Solution: check the position of the observe point, possibly increase the maximal snapping distance "<< "(keys: observe_points:search_radius, mesh:global_snap_radius)"<< "\n") | |
DECLARE_INPUT_EXCEPTION (ExcNoObserveElement,<< "Failed to find any element in the search radius of the observe point"<< EI_PointName::qval<< " inside the snap region: "<< EI_RegionName::qval<< ".\n"<< "The observe point coordinates are "<< field_value_to_yaml(EI_Point::ref(*this))<< ".\n"<< "The closest element (outside the snap region) has index "<< EI_ClosestEle::ref(*this).element_idx_<< ", its distance is "<< EI_ClosestEle::ref(*this).distance_<< ".\n"<< "Solution: check the position/region of the observe point, possibly increase the maximal snapping distance "<< "(keys: observe_points:search_radius, mesh:global_snap_radius)"<< "\n") | |
unsigned int | element_idx () const |
arma::vec | local_coords () const |
arma::vec3 | global_coords () const |
Static Public Member Functions | |
static const Input::Type::Record & | get_input_type () |
Protected Member Functions | |
ObservePoint () | |
ObservePoint (Input::Record in_rec, Mesh &mesh, unsigned int point_idx) | |
bool | have_observe_element () |
void | snap (Mesh &mesh) |
void | find_observe_point (Mesh &mesh) |
void | output (ostream &out, unsigned int indent_spaces, unsigned int precision) |
ObservePointData | point_projection (unsigned int i_elm, ElementAccessor< 3 > elm) |
Project point to given element by dimension of this element. More... | |
Protected Attributes | |
Input::Record | in_rec_ |
Index in the input array. More... | |
std::string | name_ |
Observation point name. More... | |
unsigned int | snap_dim_ |
string | snap_region_name_ |
double | max_search_radius_ |
arma::vec3 | input_point_ |
Input coordinates of the initial position of the observation point. More... | |
ObservePointData | observe_data_ |
Helper object stored projection data. More... | |
Friends | |
class | Observe |
Only Observe should use this class directly. More... | |
Class representing single observe point, used internally by the class Observe. Members: input_pos_, snap_dim_, snap_region_name_ are set in constructor. Should be checked before passed in. Members: element_idx_, global_coords_, local_coords_ are derived, set in Observe::find_observe_points.
Definition at line 99 of file observe.hh.
|
protected |
Default constructor just for testing.
Definition at line 138 of file observe.cc.
|
protected |
Constructor. Read from input.
Definition at line 142 of file observe.cc.
ObservePoint::DECLARE_INPUT_EXCEPTION | ( | ExcNoInitialPoint | , |
<< "Failed to find the element containing the initial observe point.\n" | |||
) |
ObservePoint::DECLARE_INPUT_EXCEPTION | ( | ExcNoObserveElement | , |
<< "Failed to find any element in the search radius of the observe point"<< EI_PointName::qval<< " inside the snap region: "<< EI_RegionName::qval<< ".\n"<< "The observe point coordinates are "<< field_value_to_yaml(EI_Point::ref(*this))<< ".\n"<< "The closest element (outside the snap region) has index "<< EI_ClosestEle::ref *this.element_idx_<< " | , | ||
its distance is "<< EI_ClosestEle::ref*this.distance_<< ".\n"<< "Solution:check the position/region of the observe | point, | ||
possibly increase the maximal snapping distance "<< "(keys:observe_points:search_radius, mesh:global_snap_radius)"<< "\n" | |||
) |
ObservePoint::DECLARE_INPUT_EXCEPTION | ( | ExcNoObserveElementCandidates | , |
<< "Failed to find any element in the search radius of the observe point "<< EI_PointName::qval<< " with given coordinates "<< field_value_to_yaml(EI_Point::ref(*this))<< ".\n"<< "The closest element has index "<< EI_ClosestEle::ref *this.element_idx_<< " | , | ||
its distance is "<< EI_ClosestEle::ref*this.distance_<< ".\n"<< "Solution:check the position of the observe | point, | ||
possibly increase the maximal snapping distance "<< "(keys:observe_points:search_radius, mesh:global_snap_radius)"<< "\n" | |||
) |
|
inline |
Return index of observation point in the mesh.
Definition at line 127 of file observe.hh.
|
protected |
Find the observe element and the definitive observe point.
Algorithm:
Definition at line 198 of file observe.cc.
|
static |
|
inline |
Return global coordinates of the observation point.
Definition at line 139 of file observe.hh.
|
protected |
Returns true if we have already found any observe element.
Definition at line 164 of file observe.cc.
|
inline |
Return Local coordinates of the observation point.
Definition at line 133 of file observe.hh.
|
protected |
Output the observe point information into a YAML formated stream, indent by given number of spaces + "- ".
Definition at line 292 of file observe.cc.
|
protected |
Project point to given element by dimension of this element.
Definition at line 303 of file observe.cc.
|
protected |
Snap to the center of closest subelement with dimension snap_dim_. This makes final adjustment of global_coords_ and local_coords_.
Definition at line 170 of file observe.cc.
ObservePoint::TYPEDEF_ERR_INFO | ( | EI_ClosestEle | , |
ObservePointData | |||
) |
ObservePoint::TYPEDEF_ERR_INFO | ( | EI_Point | , |
arma::vec3 | |||
) |
ObservePoint::TYPEDEF_ERR_INFO | ( | EI_PointName | , |
std::string | |||
) |
ObservePoint::TYPEDEF_ERR_INFO | ( | EI_RegionName | , |
std::string | |||
) |
|
friend |
Only Observe should use this class directly.
Definition at line 217 of file observe.hh.
|
protected |
Index in the input array.
Definition at line 189 of file observe.hh.
|
protected |
Input coordinates of the initial position of the observation point.
Definition at line 211 of file observe.hh.
|
protected |
Maximal distance of observe element from input point.
Definition at line 208 of file observe.hh.
|
protected |
Observation point name.
Definition at line 192 of file observe.hh.
|
protected |
Helper object stored projection data.
Definition at line 214 of file observe.hh.
|
protected |
Snap to the center of the object of given dimension. Value 4 and greater means no snapping.
Definition at line 198 of file observe.hh.
|
protected |
Region of the snapping element.
Definition at line 203 of file observe.hh.