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) |