3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Protected Attributes | List of all members
Dumux::IdPointSource< GlobalPosition, SourceValues, I > Class Template Reference

A point source class with an identifier to attach data. More...

#include <dumux/common/pointsource.hh>

Inheritance diagram for Dumux::IdPointSource< GlobalPosition, SourceValues, I >:
Inheritance graph

Description

template<class GlobalPosition, class SourceValues, class I>
class Dumux::IdPointSource< GlobalPosition, SourceValues, I >

A point source class with an identifier to attach data.

Template Parameters
GlobalPositionthe position type
SourceValuesthe a vector type storing the source for all equations
Ithe ID type

Public Types

using IdType = I
 export the id type More...
 
using GlobalPosition = GlobalPosition
 Export the position type. More...
 
using Values = SourceValues
 Export the value type. More...
 

Public Member Functions

 IdPointSource (GlobalPosition pos, SourceValues values, IdType id)
 Constructor for constant point sources. More...
 
 IdPointSource (GlobalPosition pos, IdType id)
 Constructor for sol dependent point sources, when there is no. More...
 
IdType id () const
 return the sources identifier More...
 
IdPointSourceoperator= (const SourceValues &values)
 Convenience = operator overload modifying only the values. More...
 
IdPointSourceoperator= (Scalar s)
 Convenience = operator overload modifying only the values. More...
 
PointSourceoperator+= (Scalar s)
 Convenience += operator overload modifying only the values. More...
 
PointSourceoperator-= (Scalar s)
 Convenience -= operator overload modifying only the values. More...
 
PointSourceoperator*= (Scalar s)
 Convenience *= operator overload modifying only the values. More...
 
PointSourceoperator/= (Scalar s)
 Convenience /= operator overload modifying only the values. More...
 
Values values () const
 return the source values More...
 
const GlobalPositionposition () const
 return the source position More...
 
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 More...
 
void setEmbeddings (std::size_t embeddings)
 set the number of embeddings for this point source More...
 
std::size_t embeddings () const
 get the number of embeddings for this point source More...
 

Protected Attributes

Values values_
 value of the point source for each equation More...
 

Member Typedef Documentation

◆ GlobalPosition

using Dumux::PointSource< GlobalPosition , SourceValues >::GlobalPosition = GlobalPosition
inherited

Export the position type.

◆ IdType

template<class GlobalPosition , class SourceValues , class I >
using Dumux::IdPointSource< GlobalPosition, SourceValues, I >::IdType = I

export the id type

◆ Values

using Dumux::PointSource< GlobalPosition , SourceValues >::Values = SourceValues
inherited

Export the value type.

Constructor & Destructor Documentation

◆ IdPointSource() [1/2]

template<class GlobalPosition , class SourceValues , class I >
Dumux::IdPointSource< GlobalPosition, SourceValues, I >::IdPointSource ( GlobalPosition  pos,
SourceValues  values,
IdType  id 
)
inline

Constructor for constant point sources.

◆ IdPointSource() [2/2]

template<class GlobalPosition , class SourceValues , class I >
Dumux::IdPointSource< GlobalPosition, SourceValues, I >::IdPointSource ( GlobalPosition  pos,
IdType  id 
)
inline

Constructor for sol dependent point sources, when there is no.

Member Function Documentation

◆ embeddings()

std::size_t Dumux::PointSource< GlobalPosition , SourceValues >::embeddings ( ) const
inlineinherited

get the number of embeddings for this point source

Note
A point source might be located on the intersection between several scvs. If so, there are point sources for every neighboring scv with the same position. 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.
This division is done in the problem.scvPointSources() if this behaviour is not explicitly changed by e.g. overloading this function in the problem implementation.

◆ id()

template<class GlobalPosition , class SourceValues , class I >
IdType Dumux::IdPointSource< GlobalPosition, SourceValues, I >::id ( ) const
inline

return the sources identifier

◆ operator*=()

PointSource & Dumux::PointSource< GlobalPosition , SourceValues >::operator*= ( Scalar  s)
inlineinherited

Convenience *= operator overload modifying only the values.

◆ operator+=()

PointSource & Dumux::PointSource< GlobalPosition , SourceValues >::operator+= ( Scalar  s)
inlineinherited

Convenience += operator overload modifying only the values.

◆ operator-=()

PointSource & Dumux::PointSource< GlobalPosition , SourceValues >::operator-= ( Scalar  s)
inlineinherited

Convenience -= operator overload modifying only the values.

◆ operator/=()

PointSource & Dumux::PointSource< GlobalPosition , SourceValues >::operator/= ( Scalar  s)
inlineinherited

Convenience /= operator overload modifying only the values.

◆ operator=() [1/2]

template<class GlobalPosition , class SourceValues , class I >
IdPointSource & Dumux::IdPointSource< GlobalPosition, SourceValues, I >::operator= ( const SourceValues &  values)
inline

Convenience = operator overload modifying only the values.

◆ operator=() [2/2]

template<class GlobalPosition , class SourceValues , class I >
IdPointSource & Dumux::IdPointSource< GlobalPosition, SourceValues, I >::operator= ( Scalar  s)
inline

Convenience = operator overload modifying only the values.

◆ position()

const GlobalPosition & Dumux::PointSource< GlobalPosition , SourceValues >::position ( ) const
inlineinherited

return the source position

◆ setEmbeddings()

void Dumux::PointSource< GlobalPosition , SourceValues >::setEmbeddings ( std::size_t  embeddings)
inlineinherited

set the number of embeddings for this point source

◆ update()

void Dumux::PointSource< GlobalPosition , SourceValues >::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 
)
inlineinherited

an update function called before adding the value

◆ values()

Values Dumux::PointSource< GlobalPosition , SourceValues >::values ( ) const
inlineinherited

return the source values

Member Data Documentation

◆ values_

Values Dumux::PointSource< GlobalPosition , SourceValues >::values_
protectedinherited

value of the point source for each equation


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