|
| template<typename TElem , typename TAAPos , typename TFVGeom > |
| bool | corresponds_to (TElem *elem, Grid &grid, TAAPos &aaPos, const TFVGeom &geo, size_t co, MathVector< dim > &ls, MathVector< dim > &le) |
| | test whether a source/sink point corresponds to a given corner of the element
|
| |
| const MathVector< dim > & | from_position () |
| | returns the beginning of the line segment
|
| |
| | FVLineSourceOrSink (const MathVector< dim > &_point1, const MathVector< dim > &_point2) |
| | class constructor (with the default constructor for data)
|
| |
| | FVLineSourceOrSink (const MathVector< dim > &_point1, const MathVector< dim > &_point2, const TData &_data) |
| | class constructor (with the copy constructor for data)
|
| |
| | FVLineSourceOrSink (const std::vector< number > &_point1, const std::vector< number > &_point2) |
| | class constructor (with the default constructor for data)
|
| |
| const MathVector< dim > & | to_position () |
| | returns the end of the line segment
|
| |
template<int dim, typename TData>
class ug::FVLineSourceOrSink< dim, TData >
Base class for line sources and sinks.
template<int dim, typename TData >
template<typename TElem , typename TAAPos , typename TFVGeom >
test whether a source/sink point corresponds to a given corner of the element
Test whether a line source/sink corresponds to a given corner of an element. If yes, the function returns true and sets ls and le to the beginning and the end of the subsegment of the source/sink.
Note that TElem must specify the dimensionality of the element. Thus, GridObject is not a proper type for TElem. It should be at least Edge, Face, Volume or derived classes.
- Todo:
- This function works only for there is only one scv per corner. This is not true for pyramids!
- Parameters
-
| [in] | elem | the element |
| [in] | grid | the grid |
| [in] | aaPos | position of the vertices |
| [in] | geo | FV geometry (initialized for 'elem') |
| [in] | co | corner to get the contribution for |
| [out] | ls | beginning of the subsegment |
| [out] | le | end of the subsegment |
References ug::ContainsPoint(), p, ug::RayElementIntersection(), ug::ReferenceElementDimension(), ug::SMALL, UG_THROW, ug::VecDot(), ug::VecScaleAdd(), and ug::VecSubtract().