version 3.9-dev
Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType > Class Template Reference

An integration point source class with an identifier to attach data and a quadrature weight and integration element.

#include <dumux/multidomain/embedded/integrationpointsource.hh>

Inheritance diagram for Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >:

Public Types

using IdType = std::size_t
 export the id type More...
 
using GlobalPosition = GlobalPosition
 Export the position type. More...
 
using Values = SourceValues
 Export the value type. More...
 

Public Member Functions

 IntegrationPointSource (GlobalPosition pos, SourceValues values, IdType id, Scalar qpweight, Scalar integrationElement, std::size_t elementIndex)
 Constructor for integration point sources. More...
 
 IntegrationPointSource (GlobalPosition pos, IdType id, Scalar qpweight, Scalar integrationElement, std::size_t elementIndex)
 
Scalar quadratureWeight () const
 
Scalar integrationElement () const
 
void setQuadratureWeight (const Scalar qpWeight)
 
void setIntegrationElement (const Scalar ie)
 
std::size_t elementIndex () const
 The index of the element this integration point source is associated with. More...
 
IntegrationPointSourceoperator= (const SourceValues &values)
 Convenience = operator overload modifying only the values. More...
 
IntegrationPointSourceoperator= (Scalar s)
 Convenience = operator overload modifying only the values. More...
 
IdType id () const
 return the sources identifier 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

◆ IdType

using Dumux::IdPointSource< GlobalPosition, SourceValues, std::size_t >::IdType = std::size_t
inherited

◆ Values

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

Constructor & Destructor Documentation

◆ IntegrationPointSource() [1/2]

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::IntegrationPointSource ( GlobalPosition  pos,
SourceValues  values,
IdType  id,
Scalar  qpweight,
Scalar  integrationElement,
std::size_t  elementIndex 
)
inline

◆ IntegrationPointSource() [2/2]

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::IntegrationPointSource ( GlobalPosition  pos,
IdType  id,
Scalar  qpweight,
Scalar  integrationElement,
std::size_t  elementIndex 
)
inline

Constructor for integration point sources, when there is no value known at the time of initialization

Member Function Documentation

◆ elementIndex()

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
std::size_t Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::elementIndex ( ) const
inline

◆ embeddings()

std::size_t Dumux::PointSource< GlobalPosition , SourceValues >::embeddings ( ) const
inlineinherited
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()

IdType Dumux::IdPointSource< GlobalPosition, SourceValues, std::size_t >::id ( ) const
inlineinherited

◆ integrationElement()

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
Scalar Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::integrationElement ( ) const
inline

◆ operator*=()

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

◆ operator+=()

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

◆ operator-=()

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

◆ operator/=()

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

◆ operator=() [1/2]

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
IntegrationPointSource & Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::operator= ( const SourceValues &  values)
inline

◆ operator=() [2/2]

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
IntegrationPointSource & Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::operator= ( Scalar  s)
inline

◆ position()

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

◆ quadratureWeight()

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
Scalar Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::quadratureWeight ( ) const
inline

◆ setEmbeddings()

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

◆ setIntegrationElement()

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
void Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::setIntegrationElement ( const Scalar  ie)
inline

◆ setQuadratureWeight()

template<class GlobalPosition , class SourceValues , typename IdType = std::size_t>
void Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >::setQuadratureWeight ( const Scalar  qpWeight)
inline

◆ 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

◆ values()

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

Member Data Documentation

◆ values_

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

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