Mercurial > repos > public > sbplib
annotate operator_def/assemble_op.m @ 830:e15a667ffde2 feature/operator_files
Add quadrature stencils and operator assembly. Add tests
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 10 Sep 2018 19:27:27 +0200 |
parents | d1e5143d67ed |
children |
rev | line source |
---|---|
827
d1e5143d67ed
add testfor D2 and sign in assemble_op
Ylva Rydin <ylva.rydin@telia.com>
parents:
821
diff
changeset
|
1 function [D] = assemble_op(inner_stencil,boundary_block,m,sign) |
821
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
2 [height_b, width_b] = size(boundary_block); |
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
3 width_i = length(inner_stencil); |
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
4 |
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
5 max_offset = floor(width_i/2); |
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
6 diags = -max_offset:max_offset; |
827
d1e5143d67ed
add testfor D2 and sign in assemble_op
Ylva Rydin <ylva.rydin@telia.com>
parents:
821
diff
changeset
|
7 |
821
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
8 D = stripeMatrix(inner_stencil, diags, m); |
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
9 |
95c26000c0ba
Add files for parsing operator data stencil file
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
10 D(1:height_b,1:width_b) = boundary_block; |
827
d1e5143d67ed
add testfor D2 and sign in assemble_op
Ylva Rydin <ylva.rydin@telia.com>
parents:
821
diff
changeset
|
11 D(m-height_b+1:m,m-width_b+1:m) = rot90( sign*boundary_block ,2); |
830
e15a667ffde2
Add quadrature stencils and operator assembly. Add tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
827
diff
changeset
|
12 end |