libMesh::MeshfreeInterpolation Class Reference
#include <meshfree_interpolation.h>

Public Types | |
| enum | ParallelizationStrategy { SYNC_SOURCES = 0, INVALID_STRATEGY } |
Public Member Functions | |
| MeshfreeInterpolation () | |
| void | print_info (std::ostream &os=libMesh::out) const |
| virtual void | clear () |
| unsigned int | n_field_variables () const |
| void | set_field_variables (const std::vector< std::string > &names) |
| const std::vector< std::string > & | field_variables () const |
| std::vector< Point > & | get_source_points () |
| std::vector< Number > & | get_source_vals () |
| virtual void | add_field_data (const std::vector< std::string > &field_names, const std::vector< Point > &pts, const std::vector< Number > &vals) |
| virtual void | prepare_for_use () |
| virtual void | interpolate_field_data (const std::vector< std::string > &field_names, const std::vector< Point > &tgt_pts, std::vector< Number > &tgt_vals) const =0 |
Protected Member Functions | |
| virtual void | gather_remote_data () |
Protected Attributes | |
| ParallelizationStrategy | _parallelization_strategy |
| std::vector< std::string > | _names |
| std::vector< Point > | _src_pts |
| std::vector< Number > | _src_vals |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const MeshfreeInterpolation &mfi) |
Detailed Description
Base class to support various mesh-free interpolation methods. Such methods can be useful for example to pass data between two different domains which share a physical boundary, where that boundary may be discretized differently in each domain. This is the case for conjugate heat transfer applications where the common interface has overlapping but distinct boundary discretizations.
Definition at line 50 of file meshfree_interpolation.h.
Member Enumeration Documentation
"ParallelizationStrategy" to employ.
SYNC_SOURCES assumes that the data added on each processor are independent and relatively small. Calling the prepare_for_use() method with this ParallelizationStrategy will copy remote data from other processors, so all interpolation can be performed locally.
Other ParallelizationStrategy techniques will be implemented as needed.
Definition at line 66 of file meshfree_interpolation.h.
00066 { SYNC_SOURCES = 0, 00067 INVALID_STRATEGY};
Constructor & Destructor Documentation
| libMesh::MeshfreeInterpolation::MeshfreeInterpolation | ( | ) | [inline] |
Constructor.
Definition at line 71 of file meshfree_interpolation.h.
00071 : 00072 _parallelization_strategy (SYNC_SOURCES) 00073 {}
Member Function Documentation
| virtual void libMesh::MeshfreeInterpolation::add_field_data | ( | const std::vector< std::string > & | field_names, | |
| const std::vector< Point > & | pts, | |||
| const std::vector< Number > & | vals | |||
| ) | [virtual] |
Sets source data at specified points.
| virtual void libMesh::MeshfreeInterpolation::clear | ( | ) | [virtual] |
Clears all internal data structures and restores to a pristine state.
Reimplemented in libMesh::InverseDistanceInterpolation< KDDim >.
| const std::vector<std::string>& libMesh::MeshfreeInterpolation::field_variables | ( | ) | const [inline] |
- Returns:
- the field variables as a read-only reference.
Definition at line 109 of file meshfree_interpolation.h.
References _names.
00110 { return _names; }
| virtual void libMesh::MeshfreeInterpolation::gather_remote_data | ( | ) | [protected, virtual] |
Gathers source points and values that have been added on other processors. Note the user is responsible for adding points only once per processor if this method is called. No attempt is made to identify duplicate points.
This method is virtual so that it can be overwritten or extended as required in derived classes.
| std::vector<Point>& libMesh::MeshfreeInterpolation::get_source_points | ( | ) | [inline] |
- Returns:
- a writeable reference to the point list.
Definition at line 115 of file meshfree_interpolation.h.
References _src_pts.
00116 { return _src_pts; }
| std::vector<Number>& libMesh::MeshfreeInterpolation::get_source_vals | ( | ) | [inline] |
- Returns:
- a writeable reference to the point list.
Definition at line 121 of file meshfree_interpolation.h.
References _src_vals.
00122 { return _src_vals; }
| virtual void libMesh::MeshfreeInterpolation::interpolate_field_data | ( | const std::vector< std::string > & | field_names, | |
| const std::vector< Point > & | tgt_pts, | |||
| std::vector< Number > & | tgt_vals | |||
| ) | const [pure virtual] |
Interpolate source data at target points. Pure virtual, must be overriden in derived classes.
Implemented in libMesh::InverseDistanceInterpolation< KDDim >.
| unsigned int libMesh::MeshfreeInterpolation::n_field_variables | ( | ) | const [inline] |
The number of field variables.
Definition at line 96 of file meshfree_interpolation.h.
References _names.
00097 { return libmesh_cast_int<unsigned int>(_names.size()); }
| virtual void libMesh::MeshfreeInterpolation::prepare_for_use | ( | ) | [virtual] |
Prepares data structures for use.
This method is virtual so that it can be overwritten or extended as required in derived classes.
| void libMesh::MeshfreeInterpolation::print_info | ( | std::ostream & | os = libMesh::out |
) | const |
Prints information about this object, by default to libMesh::out.
| void libMesh::MeshfreeInterpolation::set_field_variables | ( | const std::vector< std::string > & | names | ) | [inline] |
Defines the field variable(s) we are responsible for, and importantly their assumed ordering.
Definition at line 103 of file meshfree_interpolation.h.
References _names.
00104 { _names = names; }
Friends And Related Function Documentation
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const MeshfreeInterpolation & | mfi | |||
| ) | [friend] |
Same as above, but allows you to also use stream syntax.
Member Data Documentation
std::vector<std::string> libMesh::MeshfreeInterpolation::_names [protected] |
Definition at line 160 of file meshfree_interpolation.h.
Referenced by field_variables(), n_field_variables(), and set_field_variables().
Definition at line 159 of file meshfree_interpolation.h.
std::vector<Point> libMesh::MeshfreeInterpolation::_src_pts [protected] |
Definition at line 161 of file meshfree_interpolation.h.
Referenced by get_source_points().
std::vector<Number> libMesh::MeshfreeInterpolation::_src_vals [protected] |
Definition at line 162 of file meshfree_interpolation.h.
Referenced by get_source_vals().
The documentation for this class was generated from the following file:
Site Created By: libMesh Developers
Last modified: February 05 2013 19:55:30 UTC
Hosted By: