annotate src/BoundaryConditions/sat.jl @ 1602:3e7438e2a033 feature/boundary_conditions

Address review comments (1 left to be discussed)
author Vidar Stiernström <vidar.stiernstrom@gmail.com>
date Sat, 01 Jun 2024 17:39:54 -0700
parents 37b05221beda
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1135
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
1 """
1217
ea2e8254820a Update docstrings and start implementing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1167
diff changeset
2 sat_tensors(op, grid, bc::BoundaryCondition, params...)
1135
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
3
1483
abc5cc0aec94 Update docstrings
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1396
diff changeset
4 The tensor and boundary operator used to construct a simultaneous-approximation-term
abc5cc0aec94 Update docstrings
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1396
diff changeset
5 for imposing `bc` related to `op`.
abc5cc0aec94 Update docstrings
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1396
diff changeset
6
1602
3e7438e2a033 Address review comments (1 left to be discussed)
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1599
diff changeset
7 For `penalty_tensor, L = sat_tensors(...)` then `SAT = penalty_tensor*(L*u - g)` where `g`
1483
abc5cc0aec94 Update docstrings
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1396
diff changeset
8 is the boundary data.
1135
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
9 """
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
10 function sat_tensors end
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
11
1217
ea2e8254820a Update docstrings and start implementing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1167
diff changeset
12
1135
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
13 """
1602
3e7438e2a033 Address review comments (1 left to be discussed)
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1599
diff changeset
14 sat(op, grid, bc::BoundaryCondition; kwargs...)
1135
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
15
1483
abc5cc0aec94 Update docstrings
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1396
diff changeset
16 Simultaneous-Approximation-Term for a general `bc` to `op`.
abc5cc0aec94 Update docstrings
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1396
diff changeset
17 Returns a function `SAT(u,g)` weakly imposing `bc` when added to `op*u`.
1217
ea2e8254820a Update docstrings and start implementing tests
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1167
diff changeset
18
1483
abc5cc0aec94 Update docstrings
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1396
diff changeset
19 `op` must implement the function `sat_tensors`.
1135
05b1d6fd6401 Add functions for constructing SATs
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
diff changeset
20 """
1602
3e7438e2a033 Address review comments (1 left to be discussed)
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1599
diff changeset
21 function sat(op, grid, bc::BoundaryCondition; kwargs...)
3e7438e2a033 Address review comments (1 left to be discussed)
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1599
diff changeset
22 penalty_tensor, L = sat_tensors(op, grid, bc; kwargs...)
3e7438e2a033 Address review comments (1 left to be discussed)
Vidar Stiernström <vidar.stiernstrom@gmail.com>
parents: 1599
diff changeset
23 return SAT(u, g) = penalty_tensor*(L*u - g)
1599
Jonatan Werpers <jonatan@werpers.com>
parents: 1483
diff changeset
24 end