diff src/SbpOperators/volumeops/laplace/laplace.jl @ 1047:d12ab8120d29 feature/first_derivative

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 23 Mar 2022 12:43:03 +0100
parents 7fc8df5157a7
children b4ee47f2aafb 6530fceef37c
line wrap: on
line diff
--- a/src/SbpOperators/volumeops/laplace/laplace.jl	Wed Mar 23 12:39:35 2022 +0100
+++ b/src/SbpOperators/volumeops/laplace/laplace.jl	Wed Mar 23 12:43:03 2022 +0100
@@ -1,22 +1,23 @@
 """
-    Laplace{T, Dim, TM} <: TensorMapping{T, Dim, Dim}
+    Laplace{T, Dim, TM} <: LazyTensor{T, Dim, Dim}
 
 Implements the Laplace operator, approximating ∑d²/xᵢ² , i = 1,...,`Dim` as a
-`TensorMapping`. Additionally `Laplace` stores the stencil set (parsed from TOML) 
-used to construct the `TensorMapping`.
+`LazyTensor`. Additionally `Laplace` stores the `StencilSet`
+used to construct the `LazyTensor `.
 """
-struct Laplace{T, Dim, TM<:TensorMapping{T, Dim, Dim}} <: TensorMapping{T, Dim, Dim}
+struct Laplace{T, Dim, TM<:LazyTensor{T, Dim, Dim}} <: LazyTensor{T, Dim, Dim}
     D::TM       # Difference operator
-    stencil_set # Stencil set of the operator
+    stencil_set::StencilSet # Stencil set of the operator
 end
 
 """
     Laplace(grid::Equidistant, stencil_set)
 
-Creates the `Laplace` operator `Δ` on `grid` given a parsed TOML
-`stencil_set`. See also [`laplace`](@ref).
+Creates the `Laplace` operator `Δ` on `grid` given a `stencil_set`. 
+
+See also [`laplace`](@ref).
 """
-function Laplace(grid::EquidistantGrid, stencil_set)
+function Laplace(grid::EquidistantGrid, stencil_set::StencilSet)
     inner_stencil = parse_stencil(stencil_set["D2"]["inner_stencil"])
     closure_stencils = parse_stencil.(stencil_set["D2"]["closure_stencils"])
     Δ = laplace(grid, inner_stencil,closure_stencils)
@@ -27,13 +28,13 @@
 LazyTensors.domain_size(L::Laplace) = LazyTensors.domain_size(L.D)
 LazyTensors.apply(L::Laplace, v::AbstractArray, I...) = LazyTensors.apply(L.D,v,I...)
 
-# TODO: Implement pretty printing of Laplace once pretty printing of TensorMappings is implemented. 
+# TODO: Implement pretty printing of Laplace once pretty printing of LazyTensors is implemented.
 # Base.show(io::IO, L::Laplace) = ...
 
 """
     laplace(grid::EquidistantGrid, inner_stencil, closure_stencils)
 
-Creates the Laplace operator operator `Δ` as a `TensorMapping`
+Creates the Laplace operator operator `Δ` as a `LazyTensor`
 
 `Δ` approximates the Laplace operator ∑d²/xᵢ² , i = 1,...,`Dim` on `grid`, using
 the stencil `inner_stencil` in the interior and a set of stencils `closure_stencils`