ConvexRelaxationRungeKutta

ConvexRelaxationRungeKutta: Relaxation Runge-Kutta Methods for Convex Functionals. Relaxation Runge-Kutta methods are modifications of Runge-Kutta methods that enforce conservation, dissipation, or other solution properties with respect to any convex functional by the addition of a relaxation parameter that multiplies the Runge-Kutta update at each time step. Moreover, other desirable stability (such as strong stability preservation) and efficiency (such as low storage requirements) properties are preserved. The technique can be applied to both explicit and implicit Runge-Kutta methods and requires only a small modification to existing implementations. The computational cost at each step is the solution of one additional scalar algebraic equation for which a good initial guess is available.