ianhinder / Kranc

A Mathematica package for generating code for solving time dependent partial differential equations
http://kranccode.org
GNU General Public License v2.0
28 stars 10 forks source link

Automatically test stability #74

Open eschnett opened 12 years ago

eschnett commented 12 years ago

Given a generalised energy (a scalar defined in terms of the state vector), and given evolution equations for the state vector, Kranc should check whether the (discrete) time evolution of the energy is non-positive. This requires calculating the time derivative of the energy, inserting the evolution equations into the energy, and simplifying the result.

ianhinder commented 12 years ago

The complications are (1) choosing the energy, and (2) case discriminations for parameters. This is a much higher-level feature than is currently available in Kranc. Would it be better in an external package? I think we should have a general finite-differencing package for Mathematica which Kranc would then include. It could have this feature.

eschnett commented 12 years ago

Arpack can calculate eigenvalues if the operator is given as a routine. We could use this library to evaluate the eigenvalues of RHS+dissipation (+boundaries+multiblock-interpolation), and examine stability this way.