Mercurial > repos > public > sbplib
annotate +scheme/bcSetup.m @ 870:fb91d12093f8 bcSetupExperiment
Change some naming of functions
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 01 Nov 2018 10:41:36 +0100 |
parents | d356f1a22d4f |
children | 526b039c0ecc |
rev | line source |
---|---|
619
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % function [closure, S] = bcSetup(diffOp, bc) |
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 % Takes a diffOp and a cell array of boundary condition definitions. |
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 % Each bc is a struct with the fields |
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 % * type -- Type of boundary condition |
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 % * boundary -- Boundary identifier |
749
1de60c4d462d
Allow gird functions as data in bcSetup
Jonatan Werpers <jonatan@werpers.com>
parents:
723
diff
changeset
|
6 % * data -- A function_handle for a function which provides boundary data.(see below) |
619
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 % Also takes S_sign which modifies the sign of S, [-1,1] |
749
1de60c4d462d
Allow gird functions as data in bcSetup
Jonatan Werpers <jonatan@werpers.com>
parents:
723
diff
changeset
|
8 % Returns a closure matrix and a forcing function S. |
1de60c4d462d
Allow gird functions as data in bcSetup
Jonatan Werpers <jonatan@werpers.com>
parents:
723
diff
changeset
|
9 % |
1de60c4d462d
Allow gird functions as data in bcSetup
Jonatan Werpers <jonatan@werpers.com>
parents:
723
diff
changeset
|
10 % The boundary data function can either be a function of time or a function of time and space coordinates. |
1de60c4d462d
Allow gird functions as data in bcSetup
Jonatan Werpers <jonatan@werpers.com>
parents:
723
diff
changeset
|
11 % In the case where it only depends on time it should return the data as grid function for the boundary. |
1de60c4d462d
Allow gird functions as data in bcSetup
Jonatan Werpers <jonatan@werpers.com>
parents:
723
diff
changeset
|
12 % In the case where it also takes space coordinates the number of space coordinates should match the number of dimensions of the problem domain. |
1de60c4d462d
Allow gird functions as data in bcSetup
Jonatan Werpers <jonatan@werpers.com>
parents:
723
diff
changeset
|
13 % For example in the 2D case: f(t,x,y). |
785
c02b6d03c77c
Change name from bc to bcs
Jonatan Werpers <jonatan@werpers.com>
parents:
777
diff
changeset
|
14 function [closure, S] = bcSetup(diffOp, bcs, S_sign) |
619
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 default_arg('S_sign', 1); |
785
c02b6d03c77c
Change name from bc to bcs
Jonatan Werpers <jonatan@werpers.com>
parents:
777
diff
changeset
|
16 assertType(bcs, 'cell'); |
619
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 assert(S_sign == 1 || S_sign == -1, 'S_sign must be either 1 or -1'); |
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 |
870
fb91d12093f8
Change some naming of functions
Jonatan Werpers <jonatan@werpers.com>
parents:
869
diff
changeset
|
19 [closure, penalties] = scheme.bc.closureSetup(diffOp, bcs); |
fb91d12093f8
Change some naming of functions
Jonatan Werpers <jonatan@werpers.com>
parents:
869
diff
changeset
|
20 S = scheme.bc.forcingSetup(diffOp, penalties, bcs, S_sign); |
619
9dd49d622a4c
Add a function for easily applying many boundary conditions at the same time
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 end |
785
c02b6d03c77c
Change name from bc to bcs
Jonatan Werpers <jonatan@werpers.com>
parents:
777
diff
changeset
|
22 |
869
d356f1a22d4f
Start organizing the code
Jonatan Werpers <jonatan@werpers.com>
parents:
868
diff
changeset
|
23 %%% NOTES |
792 | 24 % Borde man använda eval on här?? |
25 % Borde man dela upp bcSetup i bcSetupSymbolic(name?) och bcSetupGridData | |
26 % och sen skriva en wrapper som sorterar och wrappar de två andra?? | |
27 | |
867 | 28 % Borde man ha en separat funktion för closure penalty generering |
29 % och en separat för att bygga ihop penaltyn med data? | |
30 | |
792 | 31 % Erbjuda en separat function for att validera en bc specifikation? |
32 % alltid kräva alla fields? | |
33 % literal struct improvement? |