annotate docs/src/grids_and_grid_functions.md @ 1354:150313ed2cae

Merge refactor/grids (missed delete of a note) Changes from previous merge: * `EquidistantGrid` is now only a 1D thing. * Higher dimensions are supported through `TensorGrid`. * The old behavior of `EquidistantGrid` has been moved to the function `equidistant_grid`. * Grids embedded in higher dimensions are now supported through tensor products with `ZeroDimGrid`s. * Vector valued grid functions are now supported and the default element type is `SVector`. * Grids are now expected to support Julia's indexing and iteration interface. * `eval_on` can be called with both `f(x,y,...)` and `f(x̄)`.
author Jonatan Werpers <jonatan@werpers.com>
date Sat, 20 May 2023 14:19:20 +0200
parents 08f06bfacd5c
children ee3fc2d83c73
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
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 ## To write about
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 <!-- # TODO: -->
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 * Grid functions
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 * Basic structure
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 * Indexing
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 * Curvilinear
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 * Multiblock
5761f4060f2b Start adding general info about grids to docs
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 * Vector valued grid functions