annotate docs/src/grids_and_grid_functions.md @ 2005:52e5ab4a96d5

Merge feature/grids/parameter_spaces/in
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 01 May 2025 14:57:09 +0200
parents ee3fc2d83c73
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1341
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 # Grids and grid functions
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2
1347
08f06bfacd5c Fix typos and formatting of documentation
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents: 1341
diff changeset
3 The submodule `Grids` aims to provide types and logic for all types of grids that are useful for implementing summation-by-parts difference methods. It provides an abstract top level type `Grid` which defines a broad interface for how a general grid is supposed to work. Currently only equidistant grids are supported, but the basic structure supports implementations of curvilinear grids, multi-block grids, periodic grids and much more.
1341
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 The module also has functionality for creating and working with grid functions.
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 ## Interface for grids
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 All grids are expected to work as a grid function for the coordinate function, and thus implements Julia's Indexing- and Iteration-interfaces. Notably they are *not* abstract arrays because that inteface is too restrictive for the types of grids we wish to implement.
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9
1631
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
10
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
11 ## Plotting
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
12 Plotting of grids and grid functions is supported through a package extension with Makie.jl.
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
13
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
14 For grids we have:
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
15 * `plot(::Grid{<:Any,2})` (same as `lines`)
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
16 * `lines(::Grid{<:Any,2})`
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
17 * `scatter(::Grid{<:Any,2})`
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
18
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
19 For 1D grid functions we have:
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
20 * `plot(::Grid{<:Any,1}, ::AbstractVector)` (same as `lines`)
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
21 * `lines(::Grid{<:Any,1}, ::AbstractVector)`
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
22 * `scatter(::Grid{<:Any,1}, ::AbstractVector)`
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
23
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
24 For 2D grid functions we have:
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
25 * `plot(::Grid{<:Any,2}, ::AbstractArray{<:Any,2})` (constructs a 2d mesh)
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
26 * `surface(::Grid{<:Any,2}, ::AbstractArray{<:Any,2})`
ee3fc2d83c73 Write out available plot methods in docs
Jonatan Werpers <jonatan@werpers.com>
parents: 1347
diff changeset
27
1341
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 ## To write about
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 <!-- # TODO: -->
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 * Grid functions
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 * Basic structure
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 * Indexing
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 * Curvilinear
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 * Multiblock
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 * Vector valued grid functions