Mercurial > repos > public > sbplib
annotate +noname/calcSol.m @ 1217:a3d9567d9004 feature/d2_compatible
Improve efficiency of construction of D2(b) by precomputing as much as possible
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Wed, 13 Nov 2019 14:54:22 -0800 |
parents | 127e562bd6d3 |
children |
rev | line source |
---|---|
243
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Calculates the solution of a discr at a given time using aligned timesteps. |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 % Returns the solution as a grid function as defined in +grid |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 function gf = calculateSolution(discr, T, tsOpt) |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 k_max = discr.getTimestep(tsOpt); |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 [k,N] = alignedTimestep(k_max,T); |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 tsOpt.k = k; |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 ts = discr.getTimestepper(tsOpt); |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 gf = ts.stepN(N-ts.n); |
127e562bd6d3
Added function to calculate a solution at a given time.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 end |