annotate stencilEquation.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 184833fe4c0e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
660
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 % Find the equation for the stencil for d^k/dx^k
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 function [A,b] = stencilEquation(k, offsets, order)
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 q = sym('q', [1, length(offsets)]);
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 p = 0:(order-1+k);
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 v = vandermonde(offsets, p);
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 vdiff = vandermonde( 0, p-k);
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 eq = q*v == vdiff;
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 [A,b] = equationsToMatrix(eq, q);
184833fe4c0e Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 end