A point source base class. More...
#include <dumux/common/pointsource.hh>
| PositionType | the position type |
| ValueType | the a vector type storing the source for all equations |
Public Types | |
| using | Scalar = std::decay_t<decltype(std::declval<ValueType>()[0])> |
| Export the scalar type. | |
| using | GlobalPosition = PositionType |
| Export the position type. | |
| using | Values = ValueType |
| Export the value type. | |
Public Member Functions | |
| PointSource (GlobalPosition pos, Values values) | |
| Constructor for constant point sources. | |
| PointSource (GlobalPosition pos) | |
| Constructor for sol dependent point sources, when there is no. | |
| PointSource & | operator+= (Scalar s) |
| Convenience += operator overload modifying only the values. | |
| PointSource & | operator-= (Scalar s) |
| Convenience -= operator overload modifying only the values. | |
| PointSource & | operator*= (Scalar s) |
| Convenience *= operator overload modifying only the values. | |
| PointSource & | operator/= (Scalar s) |
| Convenience /= operator overload modifying only the values. | |
| PointSource & | operator= (const Values &values) |
| Convenience = operator overload modifying only the values. | |
| PointSource & | operator= (Scalar s) |
| Convenience = operator overload modifying only the values. | |
| Values | values () const |
| return the source values | |
| const GlobalPosition & | position () const |
| return the source position | |
| template<class Problem, class FVElementGeometry, class ElementVolumeVariables> | |
| void | update (const Problem &problem, const typename FVElementGeometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const typename FVElementGeometry::SubControlVolume &scv) |
| an update function called before adding the value | |
| void | setEmbeddings (std::size_t embeddings) |
| set the number of embeddings for this point source | |
| std::size_t | embeddings () const |
| get the number of embeddings for this point source | |
Protected Attributes | |
| Values | values_ |
| value of the point source for each equation | |
| using Dumux::PointSource< PositionType, ValueType >::GlobalPosition = PositionType |
| using Dumux::PointSource< PositionType, ValueType >::Scalar = std::decay_t<decltype(std::declval<ValueType>()[0])> |
| using Dumux::PointSource< PositionType, ValueType >::Values = ValueType |
|
inline |
|
inline |
|
inline |
embeddings returns the number of neighboring scvs. Example: If I want to inject 1kg/s at a location that is on the inner face of an scv the point source exists in both scvs. Both have a value of 1kg/s. We then divide the value by the number of embeddings to not inject 2kg/s but 1kg/s.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |