diff +rv/+diffops/addClosuresToDiffOp.m @ 1163:65a577db5ca0 feature/rv

Move all functions in constructDiffOps to subpackage and refactor
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 27 Jun 2019 11:04:34 +0200
parents
children 79618b58b0a0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/+rv/+diffops/addClosuresToDiffOp.m	Thu Jun 27 11:04:34 2019 +0200
@@ -0,0 +1,12 @@
+function [D, penalties] = addClosuresToDiffOp(diffOp, D, BCs)
+    penalties = cell(size(BCs));
+    for i = 1:size(BCs,1)
+        for j = 1:size(BCs,2)
+            [closure, penalties{i,j}] = diffOp.boundary_condition(BCs{i,j}.boundary, BCs{i,j}.type);
+            if ~isa(closure, 'function_handle')
+                closure = @(v) closure*v;
+            end
+            D = @(v) D(v) + closure(v);
+        end
+    end
+end
\ No newline at end of file