view four.m @ 1012:1e437c9e5132 feature/advectionRV

Create residual viscosity package +rv and generalize the ResidualViscosity class - Generalize residual viscosity, by passing user-defined flux and calculating the time derivative outside of the update. - Create separate RungekuttaRV specifically using interior RV updates - Separate the artifical dissipation operator from the scheme AdvectionRV1D so that the same scheme can be reused for creating the diff op used by the ResidualViscosity class
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Wed, 05 Dec 2018 13:44:10 +0100
parents f6ada1719420
children
line wrap: on
line source

% four returns the fourier transform u_hat of the function u and the frequencies w
function [w, u_hat] = four(x, u)
    u_hat = fft(u);

    N = length(x);
    L = x(end) - x(1);

    k = shift_k(0:N-1);

    u_hat = fftshift(u_hat);

    dw = 2*pi/L;
    w = dw*k;
end

function k_shifted = shift_k(k)
    N = length(k);
    k_shifted = [-floor(N/2):-1, 0, 1:ceil(N/2)-1];
end