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

The (possibly Q-dependent) mass matrix M(Q) multiplying the input in a given direction, i.e. More...

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

Data Structures

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

Public Member Functions

 __init__ (self, str implementation=None, bool stateless=False)
 implementation: str A C++ snippet that becomes massMatrix()'s body (the empty string is a valid, generated no-op body), or None (the default) to leave massMatrix() 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 = "massMatrix"
 
- 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 (possibly Q-dependent) mass matrix M(Q) multiplying the input in a given direction, i.e.

MTimesQ = M(Q) * Q. There is no direct legacy equivalent named "mass matrix" - the closest relative is aderdg's multiplyMaterialParameterMatrix() in python/exahype2/solvers/aderdg/AbstractSolverDeclarations.py, which is also normal-dependent, so this term follows the same reduced-signature pattern as Flux/MaxEigenvalue:

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

Definition at line 8 of file MassMatrix.py.

Constructor & Destructor Documentation

◆ __init__()

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

Field Documentation

◆ NAME

◆ SIGNATURE

tuple exahype2.api.MassMatrix.MassMatrix.SIGNATURE
static
Initial value:
= (
"const double* __restrict__ Q, "
"const tarch::la::Vector<Dimensions, double>& x, "
"int normal, "
"double* __restrict__ MTimesQ"
)

Definition at line 30 of file MassMatrix.py.


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