conservation-laws / ryujin

High-performance high-order finite element solver for hyperbolic conservation equations
https://conservation-laws.org
Other
103 stars 25 forks source link

`HyperbolicModule`: change vector `U` to a compound tuple storing state, precomputed values and additional states #76

Closed tamiko closed 4 months ago

tamiko commented 4 months ago

We should consider refactoring our vector_type U interfaces to a compound state composed of a tuple of all data associated with a time point:

std::tuple<vector_type /*U*/, precomputed_vector_type /*precomputed*/, BlockVector /*additional state*/>

This would allow us to simplify the interface in TimeIntegrator considerably and chain through additional state vector components without sacrificing performance on the hyperbolic system.

tamiko commented 4 months ago

Added in #85