Time integrators for lagrangian methods
I'm working with lagrangian methods (vortex methods) and I need to investigate possible time integrators and their efficiency.
Being gridless methods without the CFL limit the time step can be increased to lower the computational cost but this leads to the need to find better time integrators than the simple 1st order Euler (with which the accumulation of error in long simulations is evident).
I've tried a Runge-Kutta 4th order with good results but a considerable increase in computational time.
I need to explore new solutions. I'm looking into symplectic integrators...
Do you have any other suggestion?
If you are dealing with discrete vortex equations, which form a hamiltonian system,
symplectic integrators are a good choice since they preserve H. You might also
consider designing your own scheme that preserves all the integrals of your discrete system.
yes symplectic integrators are definitely a possibility, I'm already going in that direction.
I was wondering if there were other options that I hadn't considered...
Symplectic integrators will work only in 2D vortex methods because, to the best of my knowledge, only the 2D equations are Hamiltonian. In 3D, a vortex monopole system is not Hamiltonian. You could, however, use vortex dipoles, or, equivalently, the impulse method (and equations), which is Hamiltonian in 3-D. However, despite the fact that the latter preserves energy, helicity, vorticity/circulation implicitly to machine precision everywhere in the domain, the method has some serious short-comings, which have made it into more of a curiosity than a practical tool.
First-order time integration is simply not acceptable in vortex methods. Second-order RK works perfectly well. 4th-order is higher in accuracy and will allow you take larger timestep sizes, which will probably be more than twice the timestep size you can use with 2nd-order time integration (that really depends on the problem), in which case, 4th-order would be more efficient overall even if it's twice more expensive.
Alternatively, if memory is not an issue and you just want to reduce cpu time, then you can use backward looking methods (adams-bashforth, etc) so that you use only one evaluation per timestep, but use info from previous steps to get higher order extrapolation to the future. A lot depends also on the remaining details of your implementation (is it purely inviscid, viscous requiring operator splitting, wall-bounded, etc)
so is there any progress in symplectic vortex methods? or is it as Adrin said that it is only for 2D vortex methods?
to Adrin: could you explain me a little further why 3D vortex methods is not Hamiltonian?
|All times are GMT -4. The time now is 23:16.|