This PR implements boundary conditions on the shift operators.
This allows one to call stencil(s, bit_map; dimension, left_boundary, right_boundary, kwargs...)or Laplacian(...; left_boundary, right_boundary) or derivative_operator(...; left_boundary, right_boundary)
Where left_boundary corresponds to x = 0 in the corresponding dimension and right_boundary corresponds to the x = 1 in the corresponding dimension.
The options for left_boundary and right_boundary are
The Default val (if unspecified): "Dirichlet" f(x = boundary_val) = 0
This PR implements boundary conditions on the shift operators.
This allows one to call
stencil(s, bit_map; dimension, left_boundary, right_boundary, kwargs...)
orLaplacian(...; left_boundary, right_boundary)
orderivative_operator(...; left_boundary, right_boundary)
Where
left_boundary
corresponds tox = 0
in the correspondingdimension
andright_boundary
corresponds to thex = 1
in the correspondingdimension
.The options for
left_boundary
andright_boundary
aref(x = boundary_val) = 0
d/dx [f(x = boundary_val)] = 0
f(x = boundary_val) = f(x =opposite_boundary_val)
Tests are added. Example using these to solve a differential equation forthcoming.