Mercurial > repos > public > sbplib
diff +scheme/Burgers1D.m @ 832:5573913a0949 feature/burgers1d
Merged with default, and updated +scheme/Burgers1D accordingly
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Tue, 11 Sep 2018 15:58:35 +0200 |
parents | d0934d1143b7 |
children | 9f4c45a2d271 |
line wrap: on
line diff
--- a/+scheme/Burgers1D.m Tue Sep 11 13:24:08 2018 +0200 +++ b/+scheme/Burgers1D.m Tue Sep 11 15:58:35 2018 +0200 @@ -1,9 +1,8 @@ classdef Burgers1D < scheme.Scheme properties - m % Number of points in each direction, possibly a vector - h % Grid spacing - x % Grid + grid % Physical grid order % Order accuracy for the approximation + params D % Non-stabalized scheme operator @@ -17,8 +16,12 @@ end methods - function obj = Burgers1D(pde_form, operator_type, order, m, lim, params) - [x, h] = util.get_grid(lim{:},m); + function obj = Burgers1D(grid, pde_form, operator_type, order, params) + assert(grid.D == 1); + assert(grid.size() == length(params.eps)); + m = grid.size(); + h = grid.scaling(); + lim = grid.lim{1}; % Ugly, and only applicable for cartesian grids. default_arg('pde_form','skew-symmetric'); default_arg('operator_type','narrow'); @@ -38,10 +41,8 @@ D = @(v, viscosity) -1/2*D1*v.^2 + D2(params.eps + viscosity)*v; end - obj.m = m; - obj.h = h; + obj.grid = grid; obj.order = order; - obj.x = x; obj.params = params; %% TODO: Figure out how to evaluate viscosity as viscosity(v,t) here instead of parametrizing D on the viscosity. @@ -107,8 +108,7 @@ end function N = size(obj) - N = obj.m; + N = obj.grid.m; end - end end \ No newline at end of file