20 lines
687 B
Matlab
20 lines
687 B
Matlab
function new_u_barre = calcul_structure_3(u_barre, u, Dx, Dy, phi, epsilon, mu_prime, gamma)
|
|
|
|
bidule_12 = ifft2( phi' .* (fftshift(fft2(u_barre)) - fftshift(fft2(u))) );
|
|
|
|
u_barre_reshaped = reshape(u_barre,[], 1);
|
|
|
|
ux = Dx * u_barre_reshaped;
|
|
uy = Dy * u_barre_reshaped;
|
|
uxx = - Dx' * Dx * u_barre_reshaped;
|
|
uxy = - Dx' * Dy * u_barre_reshaped;
|
|
uyy = - Dy' * Dy * u_barre_reshaped;
|
|
|
|
bidule_14 = (uxx.*(uy.^2 + epsilon) + uyy.*(ux.^2+epsilon) - 2.*ux.*uy.*uxy) ./ (ux.^2 + uy.^2 + epsilon) .^ (3/2);
|
|
bidule_14 = reshape(bidule_14, size(u_barre));
|
|
|
|
bidule_13 = bidule_12 - mu_prime * bidule_14;
|
|
|
|
new_u_barre = u_barre - gamma * bidule_13;
|
|
|
|
end |