Open eschnett opened 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.
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.
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.