changeset 1341:5761f4060f2b refactor/grids

Start adding general info about grids to docs
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 08 May 2023 17:37:24 +0200
parents c0da6ea50732
children c0c1189c5f2e
files docs/make.jl docs/src/grids_and_grid_functions.md grid_refactor.md
diffstat 3 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/docs/make.jl	Mon May 08 17:36:55 2023 +0200
+++ b/docs/make.jl	Mon May 08 17:37:24 2023 +0200
@@ -26,6 +26,7 @@
 pages = [
     "Home" => "index.md",
     "operator_file_format.md",
+    "grids_and_grid_functions.md",
     "Submodules" => [
         "submodules/grids.md",
         "submodules/diff_ops.md",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/src/grids_and_grid_functions.md	Mon May 08 17:37:24 2023 +0200
@@ -0,0 +1,17 @@
+# Grids and grid functions
+
+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, peridic grids and much more.
+
+The module also has functionality for creating and working with grid functions.
+
+## Interface for grids
+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.
+
+## To write about
+<!-- # TODO: -->
+* Grid functions
+  * Basic structure
+     * Indexing
+  * Curvilinear
+  * Multiblock
+  * Vector valued grid functions
--- a/grid_refactor.md	Mon May 08 17:36:55 2023 +0200
+++ b/grid_refactor.md	Mon May 08 17:37:24 2023 +0200
@@ -17,8 +17,6 @@
 ## TODO
 * Add benchmarks or allocation tests for eval_on and indexing grids.
 * Add benchmarks for range type in EquidistantGrid. (LinRange vs StepRange)
-* Document the expected behavior of grid functions
-* Write down the thinking around Grid being an AbstractArray. Why it doesn't work.
 * Write about the design choices in the docs.
 * Merge and run benchmarks