Mercurial > repos > public > sbplib
annotate +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 |
rev | line source |
---|---|
864
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Takes the local penalty for ice or water and turns it into a penalty for the whole system |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 % local -- The local penalty |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 % div -- block matrix division for the diffOp |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 % I -- Index of blockmatrix block |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function penalty = local2globalPenalty(local, div, I) |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 penaltyDiv = {div{1}, size(local,2)}; |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 penalty_bm = blockmatrix.zero(penaltyDiv); |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 penalty_bm{I,1} = local; |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 penalty = blockmatrix.toMatrix(penalty_bm); |
c51b3f945c65
Add functions for taking local closures and penalties global
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 end |