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

The maximum absolute eigenvalue of the flux Jacobian in a given direction, i.e. More...

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

Data Structures

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

Public Member Functions

 __init__ (self, str implementation=None, bool stateless=False)
 implementation: str A C++ snippet that becomes maxEigenvalue()'s body (the empty string is a valid, generated no-op body), or None (the default) to leave maxEigenvalue() 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 = "maxEigenvalue"
 
- 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 maximum absolute eigenvalue of the flux Jacobian in a given direction, i.e.

the spectral radius used by Rusanov-type numerical fluxes and by the CFL-driven admissible time step size.

See python/exahype2/solvers/fv/riemann/kernels.py's eigenvalues(), which returns the full eigenvalue vector L rather than just its maximum - this new API deliberately asks for the reduced quantity solvers actually need for their numerical flux, and reduces the legacy signature the same way Flux does:

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

Definition at line 8 of file MaxEigenvalue.py.

Constructor & Destructor Documentation

◆ __init__()

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

Field Documentation

◆ NAME

◆ SIGNATURE

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

Definition at line 32 of file MaxEigenvalue.py.


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