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 |
