diff +multiblock/local2globalPenalty.m @ 864:c51b3f945c65 bcSetupExperiment

Add functions for taking local closures and penalties global
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 25 Jul 2018 15:24:37 -0700
parents
children ba10f24bf476
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/+multiblock/local2globalPenalty.m	Wed Jul 25 15:24:37 2018 -0700
@@ -0,0 +1,11 @@
+% Takes the local penalty for ice or water and turns it into a penalty for the whole system
+%   local -- The local penalty
+%   div   -- block matrix division for the diffOp
+%   I     -- Index of blockmatrix block
+function penalty = local2globalPenalty(local, div, I)
+    penaltyDiv = {div{1}, size(local,2)};
+    penalty_bm = blockmatrix.zero(penaltyDiv);
+    penalty_bm{I,1} = local;
+
+    penalty = blockmatrix.toMatrix(penalty_bm);
+end