changeset 1193:921595039ab8 feature/rv

Add options for postprocessing RV
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Mon, 29 Jul 2019 16:44:21 +0200
parents b3c47a716d57
children bd5383809917
files +rv/ResidualViscosity.m
diffstat 1 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/+rv/ResidualViscosity.m	Mon Jul 29 16:43:39 2019 +0200
+++ b/+rv/ResidualViscosity.m	Mon Jul 29 16:44:21 2019 +0200
@@ -14,11 +14,11 @@
     end
 
     methods
+        % TODO: pass opt struct with waveSpeed, normalization etc.
         %  TBD: Decide on how to treat waveSpeed. It would be nice to just pass a constant value without
         %       wrapping it in a function.
         function obj = ResidualViscosity(g, Df, waveSpeed, Cmax, Cres, h, normalization, postProcess)
-            default_arg('normalization',@(v)abs(obj.minmaxDiffNeighborhood1d(v)-norm(v-mean(v),inf)));
-            default_arg('postProcess','maximum neighbors');
+            %default_arg('normalization',@(v)abs(obj.minmaxDiffNeighborhood1d(v)-norm(v-mean(v),inf)));
             obj.Df = Df;
             obj.waveSpeed = waveSpeed;
             obj.h = h;
@@ -30,14 +30,15 @@
             obj.Mres = obj.Cres*obj.h^2;
             obj.Mfirst = obj.Cmax*obj.h;
             switch postProcess
-                case 'none'
+                case {'', 'none'}
                     obj.fRes = @(v,dvdt) obj.Mres*abs(dvdt + obj.Df(v))./obj.normalization(v);
-                case 'filter'
-                    order = 4;
+                case {'filt', 'filter'}
+                    % TBD: Keep?
+                    order = 
                     F = obj.shapiroFilter(obj.g, order);
                     obj.Mres = F*obj.Mres;
                     obj.fRes = @(v,dvdt) obj.Mres*abs(dvdt + obj.Df(v))./obj.normalization(v);
-                case 'maximum neighbors'
+                case {'max', 'maximum neighbors'}
                     switch g.D()
                         case 1
                             obj.fRes = @(v,dvdt) movmax(obj.Mres*abs(dvdt + obj.Df(v))./obj.normalization(v),3);