Mercurial > repos > public > sbplib_julia
comparison src/Grids/mapped_grid.jl @ 1743:49bd573ab07f feature/grids/curvilinear
Implement checking of sizes for inputs to MappedGrid
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Wed, 11 Sep 2024 13:46:33 +0200 |
| parents | 248304f88e49 |
| children | c38eead8be17 |
comparison
equal
deleted
inserted
replaced
| 1742:c9c601678a14 | 1743:49bd573ab07f |
|---|---|
| 1 struct MappedGrid{T,D, GT<:Grid{<:Any,D}, CT<:AbstractArray{T,D}, JT<:AbstractArray{<:AbstractArray{<:Any, 2}, D}} <: Grid{T,D} | 1 struct MappedGrid{T,D, GT<:Grid{<:Any,D}, CT<:AbstractArray{T,D}, JT<:AbstractArray{<:AbstractArray{<:Any, 2}, D}} <: Grid{T,D} |
| 2 logicalgrid::GT | 2 logicalgrid::GT |
| 3 physicalcoordinates::CT | 3 physicalcoordinates::CT |
| 4 jacobian::JT | 4 jacobian::JT |
| 5 | |
| 6 function MappedGrid(logicalgrid::GT, physicalcoordinates::CT, jacobian::JT) where {T,D, GT<:Grid{<:Any,D}, CT<:AbstractArray{T,D}, JT<:AbstractArray{<:AbstractArray{<:Any, 2}, D}} | |
| 7 if !(size(logicalgrid) == size(physicalcoordinates) == size(jacobian)) | |
| 8 throw(ArgumentError("Sizes must match")) | |
| 9 end | |
| 10 | |
| 11 return new{T,D,GT,CT,JT}(logicalgrid, physicalcoordinates, jacobian) | |
| 12 end | |
| 5 end | 13 end |
| 6 | 14 |
| 7 function Base.:(==)(a::MappedGrid, b::MappedGrid) | 15 function Base.:(==)(a::MappedGrid, b::MappedGrid) |
| 8 same_logicalgrid = logicalgrid(a) == logicalgrid(b) | 16 same_logicalgrid = logicalgrid(a) == logicalgrid(b) |
| 9 same_coordinates = collect(a) == collect(b) | 17 same_coordinates = collect(a) == collect(b) |
