Flow123d  release_2.2.0-914-gf1a3a4f
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes | List of all members
FieldInterpolatedP0< spacedim, Value > Class Template Reference

#include <field_interpolated_p0.hh>

Inheritance diagram for FieldInterpolatedP0< spacedim, Value >:
Inheritance graph
[legend]
Collaboration diagram for FieldInterpolatedP0< spacedim, Value >:
Collaboration graph
[legend]

Public Types

typedef FieldAlgorithmBase< spacedim, Value >::Point Point
 
typedef FieldAlgorithmBase< spacedim, ValueFactoryBaseType
 
- Public Types inherited from FieldAlgorithmBase< spacedim, Value >
typedef Space< spacedim >::Point Point
 

Public Member Functions

 FieldInterpolatedP0 (unsigned int n_comp=0)
 
virtual void init_from_input (const Input::Record &rec, const struct FieldAlgoBaseInitData &init_data)
 
bool set_time (const TimeStep &time) override
 
virtual Value::return_type const & value (const Point &p, const ElementAccessor< spacedim > &elm)
 
virtual void value_list (const std::vector< Point > &point_list, const ElementAccessor< spacedim > &elm, std::vector< typename Value::return_type > &value_list)
 
- Public Member Functions inherited from FieldAlgorithmBase< spacedim, Value >
 FieldAlgorithmBase (unsigned int n_comp=0)
 
virtual void set_mesh (const Mesh *mesh, bool boundary_domain)
 
void set_component_idx (unsigned int idx)
 
unsigned int n_comp () const
 
FieldResult field_result () const
 
virtual double next_change_time ()
 
virtual ~FieldAlgorithmBase ()
 

Static Public Member Functions

static const Input::Type::Recordget_input_type ()
 
- Static Public Member Functions inherited from FieldAlgorithmBase< spacedim, Value >
static std::string template_name ()
 
static Input::Type::Abstractget_input_type ()
 
static const Input::Type::Instanceget_input_type_instance (Input::Type::Selection value_selection=Input::Type::Selection())
 
static const Input::Type::Recordget_field_algo_common_keys ()
 
static std::shared_ptr< FieldAlgorithmBase< spacedim, Value > > function_factory (const Input::AbstractRecord &rec, const struct FieldAlgoBaseInitData &init_data)
 

Protected Member Functions

void scale_data ()
 Multiply data_ with unit_conversion_coefficient_. More...
 
- Protected Member Functions inherited from FieldAlgorithmBase< spacedim, Value >
void init_unit_conversion_coefficient (const Input::Record &rec, const struct FieldAlgoBaseInitData &init_data)
 Init value of unit_conversion_coefficient_ from input. More...
 

Protected Attributes

std::shared_ptr< Meshsource_mesh_
 mesh, which is interpolated More...
 
FilePath reader_file_
 mesh reader file More...
 
std::shared_ptr< std::vector< typename Value::element_type > > data_
 Raw buffer of n_entities rows each containing Value::size() doubles. More...
 
std::vector< unsigned int > searched_elements_
 vector stored suspect elements in calculating the intersection More...
 
std::string field_name_
 field name read from input More...
 
BIHTreebih_tree_
 tree of mesh elements More...
 
unsigned int computed_elm_idx_ = numeric_limits<unsigned int>::max()
 stored index to last computed element More...
 
unsigned int computed_elm_boundary_
 stored flag if last computed element is boundary More...
 
ngh::TTetrahedron tetrahedron_
 3D (tetrahedron) element, used for computing intersection More...
 
ngh::TTriangle triangle_
 2D (triangle) element, used for computing intersection More...
 
ngh::TAbscissa abscissa_
 1D (abscissa) element, used for computing intersection More...
 
ngh::TPoint point_
 0D (point) element, used for computing intersection More...
 
- Protected Attributes inherited from FieldAlgorithmBase< spacedim, Value >
TimeStep time_
 Actual time level; initial value is -infinity. More...
 
Value value_
 Last value, prevents passing large values (vectors) by value. More...
 
Value::return_type r_value_
 
FieldResult field_result_
 Indicator of particular values (zero, one) constant over space. More...
 
unsigned int component_idx_
 Specify if the field is part of a MultiField and which component it is. More...
 
double unit_conversion_coefficient_
 Coeficient of conversion of user-defined unit. More...
 

Static Private Attributes

static const int registrar
 Registrar of class to factory. More...
 

Additional Inherited Members

- Static Public Attributes inherited from FieldAlgorithmBase< spacedim, Value >
static const unsigned int spacedim_ =spacedim
 
static constexpr bool is_enum_valued = boost::is_same<typename Value::element_type, FieldEnum>::value
 

Detailed Description

template<int spacedim, class Value>
class FieldInterpolatedP0< spacedim, Value >

Definition at line 32 of file field_interpolated_p0.hh.

Member Typedef Documentation

template<int spacedim, class Value >
typedef FieldAlgorithmBase<spacedim, Value> FieldInterpolatedP0< spacedim, Value >::FactoryBaseType

Definition at line 36 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
typedef FieldAlgorithmBase<spacedim, Value>::Point FieldInterpolatedP0< spacedim, Value >::Point

Definition at line 35 of file field_interpolated_p0.hh.

Constructor & Destructor Documentation

template<int spacedim, class Value >
FieldInterpolatedP0< spacedim, Value >::FieldInterpolatedP0 ( unsigned int  n_comp = 0)

Constructor

Definition at line 60 of file field_interpolated_p0.cc.

Member Function Documentation

template<int spacedim, class Value >
const Input::Type::Record & FieldInterpolatedP0< spacedim, Value >::get_input_type ( )
static

Declare Input type.

Definition at line 37 of file field_interpolated_p0.cc.

template<int spacedim, class Value >
void FieldInterpolatedP0< spacedim, Value >::init_from_input ( const Input::Record rec,
const struct FieldAlgoBaseInitData init_data 
)
virtual

Initialization from the input interface.

Reimplemented from FieldAlgorithmBase< spacedim, Value >.

Definition at line 67 of file field_interpolated_p0.cc.

template<int spacedim, class Value >
void FieldInterpolatedP0< spacedim, Value >::scale_data ( )
protected

Multiply data_ with unit_conversion_coefficient_.

Definition at line 233 of file field_interpolated_p0.cc.

Here is the caller graph for this function:

template<int spacedim, class Value >
bool FieldInterpolatedP0< spacedim, Value >::set_time ( const TimeStep time)
overridevirtual

Update time and possibly update data from GMSH file.

Reimplemented from FieldAlgorithmBase< spacedim, Value >.

Definition at line 91 of file field_interpolated_p0.cc.

template<int spacedim, class Value >
Value::return_type const & FieldInterpolatedP0< spacedim, Value >::value ( const Point p,
const ElementAccessor< spacedim > &  elm 
)
virtual

Returns one value in one given point. ResultType can be used to avoid some costly calculation if the result is trivial.

Implements FieldAlgorithmBase< spacedim, Value >.

Definition at line 115 of file field_interpolated_p0.cc.

template<int spacedim, class Value >
void FieldInterpolatedP0< spacedim, Value >::value_list ( const std::vector< Point > &  point_list,
const ElementAccessor< spacedim > &  elm,
std::vector< typename Value::return_type > &  value_list 
)
virtual

Returns std::vector of scalar values in several points at once.

Implements FieldAlgorithmBase< spacedim, Value >.

Definition at line 223 of file field_interpolated_p0.cc.

Member Data Documentation

template<int spacedim, class Value >
ngh::TAbscissa FieldInterpolatedP0< spacedim, Value >::abscissa_
protected

1D (abscissa) element, used for computing intersection

Definition at line 104 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
BIHTree* FieldInterpolatedP0< spacedim, Value >::bih_tree_
protected

tree of mesh elements

Definition at line 89 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
unsigned int FieldInterpolatedP0< spacedim, Value >::computed_elm_boundary_
protected

stored flag if last computed element is boundary

Definition at line 95 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
unsigned int FieldInterpolatedP0< spacedim, Value >::computed_elm_idx_ = numeric_limits<unsigned int>::max()
protected

stored index to last computed element

Definition at line 92 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
std::shared_ptr< std::vector<typename Value::element_type> > FieldInterpolatedP0< spacedim, Value >::data_
protected

Raw buffer of n_entities rows each containing Value::size() doubles.

Definition at line 80 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
std::string FieldInterpolatedP0< spacedim, Value >::field_name_
protected

field name read from input

Definition at line 86 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
ngh::TPoint FieldInterpolatedP0< spacedim, Value >::point_
protected

0D (point) element, used for computing intersection

Definition at line 107 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
FilePath FieldInterpolatedP0< spacedim, Value >::reader_file_
protected

mesh reader file

Definition at line 77 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
const int FieldInterpolatedP0< spacedim, Value >::registrar
staticprivate
Initial value:
=
Input::register_class< FieldInterpolatedP0<spacedim, Value>, unsigned int >("FieldInterpolatedP0") +

Registrar of class to factory.

Definition at line 111 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
std::vector<unsigned int> FieldInterpolatedP0< spacedim, Value >::searched_elements_
protected

vector stored suspect elements in calculating the intersection

Definition at line 83 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
std::shared_ptr<Mesh> FieldInterpolatedP0< spacedim, Value >::source_mesh_
protected

mesh, which is interpolated

Definition at line 74 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
ngh::TTetrahedron FieldInterpolatedP0< spacedim, Value >::tetrahedron_
protected

3D (tetrahedron) element, used for computing intersection

Definition at line 98 of file field_interpolated_p0.hh.

template<int spacedim, class Value >
ngh::TTriangle FieldInterpolatedP0< spacedim, Value >::triangle_
protected

2D (triangle) element, used for computing intersection

Definition at line 101 of file field_interpolated_p0.hh.


The documentation for this class was generated from the following files: