view src/Grids/Grids.jl @ 1659:3bbcd496e021 feature/grids/curvilinear

Add function for computing the normal at the boundary of a mapped grid as a grid function
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 28 Jun 2024 17:02:47 +0200
parents b02917bcd7d5
children 6d196fb85133 51f0c5f895fb
line wrap: on
line source

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

using Sbplib.RegionIndices
using Sbplib.LazyTensors
using StaticArrays

# 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 coarsen
export refine
export eval_on
export componentview
export ArrayComponentView
export normal

export BoundaryIdentifier
export TensorGridBoundary
export CartesianBoundary

export TensorGrid
export ZeroDimGrid

export EquidistantGrid
export inverse_spacing
export spacing
export equidistant_grid


# MappedGrid
export MappedGrid
export jacobian
export logicalgrid
export mapped_grid
export jacobian_determinant
export geometric_tensor
export geometric_tensor_inverse

abstract type BoundaryIdentifier end

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

end # module