Mercurial > repos > public > sbplib_julia
diff diffOp.jl @ 145:e0c8f5cf3a3f boundary_conditions
Rename boundary indentifiers and use them inte the sat functions
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 25 Feb 2019 10:19:11 -0800 |
parents | 755246142200 |
children | f54dd4408fa7 |
line wrap: on
line diff
--- a/diffOp.jl Fri Feb 22 15:21:39 2019 +0100 +++ b/diffOp.jl Mon Feb 25 10:19:11 2019 -0800 @@ -166,19 +166,20 @@ """ abstract type BoundaryCondition end -struct Dirichlet{Id<:BoundaryIdentifier} <: BoundaryCondition +struct Dirichlet{Bid<:BoundaryIdentifier} <: BoundaryCondition tau::Float64 end -struct Neumann{Id<:BoundaryIdentifier} <: BoundaryCondition +struct Neumann{Bid<:BoundaryIdentifier} <: BoundaryCondition end -function sat(L::Laplace{2}, bc::Neumann, v::AbstractArray{T,2} where T, g::AbstractVector{T}, i::CartesianIndex{2}) +function sat(L::Laplace{2}, bc::Neumann{CartesianBoundary{1,R}}, v::AbstractArray{T,2} where T, g::AbstractVector{T}, i::CartesianIndex{2}) where R + # Hi * e * H_gamma * (d'*v - g) # e, d, H_gamma applied based on bc.boundaryId end -function sat(L::Laplace{2}, bc::Dirichlet, v::AbstractArray{T,2} where T, g::AbstractVector{T}, i::CartesianIndex{2}) +function sat(L::Laplace{2}, bc::Dirichlet{CartesianBoundary{1,R}}, v::AbstractArray{T,2} where T, g::AbstractVector{T}, i::CartesianIndex{2}) # Hi * (tau/h*e + sig*d) * H_gamma * (e'*v - g) # e, d, H_gamma applied based on bc.boundaryId end