view src/Grids/Grids.jl @ 1779:2a8a2b52a112 feature/grids/manifolds

Refactor Interval to its own type. This allows the user better control of the coordinate type of 1d grids
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 16 Sep 2024 08:33:43 +0200
parents 819ab806960f
children 96f8cad255b4 2b5f81e288f1
line wrap: on
line source

# TODO: Double check that the interfaces for indexing and iterating are fully implemented and tested for all grids.
# Review: Address this todo?
module Grids

using Diffinitive.LazyTensors
using StaticArrays
using LinearAlgebra

export ParameterSpace
export HyperBox
export Simplex
export Interval
export Rectangle
export Box
export Triangle
export Tetrahedron

export limits
export unitinterval
export unitsquare
export unitcube
export unithyperbox

export verticies
export unittriangle
export unittetrahedron
export unitsimplex

export Chart
export ConcreteChart
export parameterspace

# Grid
export Grid
export coordinate_size
export component_type
export grid_id
export boundary_id
export boundary_indices
export boundary_identifiers
export boundary_grid
export min_spacing
export coarsen
export refine
export eval_on
export componentview
export ArrayComponentView
export normal

export BoundaryIdentifier
export TensorGridBoundary
export CartesianBoundary
export LowerBoundary
export UpperBoundary

export TensorGrid
export ZeroDimGrid

export EquidistantGrid
export inverse_spacing
export spacing
export equidistant_grid


# MappedGrid
export MappedGrid
export jacobian
export logical_grid
export mapped_grid
export metric_tensor
export metric_tensor_inverse

include("manifolds.jl")
include("grid.jl")
include("tensor_grid.jl")
include("equidistant_grid.jl")
include("zero_dim_grid.jl")
include("mapped_grid.jl")

end # module