Mercurial > repos > public > sbplib_julia
view grid.jl @ 15:3d032081832d
mergemania
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 17 Dec 2018 14:50:23 +0100 |
parents | b11b67c02d1a 99591b5c34a6 |
children | c61af27cb67a |
line wrap: on
line source
module grid abstract type Grid end function numberOfDimensions(grid::Grid) error("Not yet implemented"); end function numberOfPoints(grid::Grid) error("Not yet implemented"); end function points(grid::Grid) error("Not yet implemented"); end abstract type BoundaryId end # Move to seperate file. struct EquidistantGrid <: Grid numberOfDimensions::UInt; numberOfPoints::Vector(UInt); limits::Vector{Pair{Real, Real}}; function EquidistantGrid(nDims, nPoints, lims) @assert nDims == size(nPoints); return new(nDims, nPoints, lims); end end # Getter functions for public properties? function numberOfDimensions(grid::EquidistantGrid) return grid.numberOfDimensions; end function numberOfPoints(grid::EquidistantGrid) return grid.numberOfPoints; end function points(grid::EquidistantGrid) points::Array{Real,3}(undef, numberOfPoints(grid)); # for i ∈ eachindex(points) # points(i) = i/ # end return points; end function limitsForDimension(grid::EquidistantGrid, dim::UInt) @assert dim <= 3 @assert dim >= 1 return grid.limits(dim); end