Mercurial > repos > public > sbplib
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 |
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 |