Peano
Loading...
Searching...
No Matches
exahype2.api.VolumetricSource.VolumetricSource Class Reference

The algebraic, volume-distributed source term S(Q) of a hyperbolic PDE - as opposed to PointSource, which contributes only at isolated points. More...

Inheritance diagram for exahype2.api.VolumetricSource.VolumetricSource:
Collaboration diagram for exahype2.api.VolumetricSource.VolumetricSource:

Data Structures

class  Generator
 VolumetricSource-specific code generation. More...
 

Public Member Functions

 __init__ (self, str implementation=None, bool stateless=False)
 implementation: str A C++ snippet that becomes volumetricSource()'s body (the empty string is a valid, generated no-op body), or None (the default) to leave volumetricSource() pure virtual for you to implement by hand.
 
- Public Member Functions inherited from exahype2.api.PDETerm.PDETerm
str __repr__ (self)
 
str __str__ (self)
 
"PDETerm.Generator" generator (self)
 Code generator for this term: an instance of this term's own (possibly subclass-specific) Generator.
 

Static Public Attributes

tuple SIGNATURE
 
str NAME = "volumetricSource"
 
- Static Public Attributes inherited from exahype2.api.PDETerm.PDETerm
str NAME
 
str SIGNATURE
 

Additional Inherited Members

- Data Fields inherited from exahype2.api.PDETerm.PDETerm
 name
 
 implementation
 
 stateless
 

Detailed Description

The algebraic, volume-distributed source term S(Q) of a hyperbolic PDE - as opposed to PointSource, which contributes only at isolated points.

See python/exahype2/solvers/fv/riemann/kernels.py's sourceTerm(), which is not normal-dependent (a volumetric source has no notion of a face direction), so unlike Flux/MaxEigenvalue/MassMatrix/ NonconservativeProduct this term has no normal parameter to begin with. It depends on the position x and the time stamp t only, i.e. neither on the mesh size nor on the time step size. The signature matches exahype2::fv::rusanov::VolumetricSourceFunctor:

virtual void volumetricSource(
const double* __restrict__ Q, // Q[{{NUMBER_OF_UNKNOWNS}}+{{NUMBER_OF_AUXILIARY_VARIABLES}}]
const tarch::la::Vector<Dimensions, double>& x,
double t,
double* __restrict__ S // S[{{NUMBER_OF_UNKNOWNS}}]
);

Definition at line 8 of file VolumetricSource.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.api.VolumetricSource.VolumetricSource.__init__ (   self,
str   implementation = None,
bool   stateless = False 
)

Field Documentation

◆ NAME

◆ SIGNATURE

tuple exahype2.api.VolumetricSource.VolumetricSource.SIGNATURE
static
Initial value:
= (
"const double* __restrict__ Q, "
"const tarch::la::Vector<Dimensions, double>& x, "
"double t, "
"double* __restrict__ S"
)

Definition at line 33 of file VolumetricSource.py.


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