Skip to content
This repository has been archived by the owner on Oct 6, 2018. It is now read-only.

Commit

Permalink
Docs: Add a preliminary Developer Docs page to the website
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Lange committed Oct 6, 2017
1 parent 590ce5b commit 64a1a8a
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 1 deletion.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
*.pyc
*.json
*.pdf

.cache

Expand Down
18 changes: 18 additions & 0 deletions docs/developer.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Developer documentation
=======================

This page provides an introduction into the internal workings of
Devito and is aimed at new developers and people who want to
contribute to the project. We will give a brief glimpse under the hood
to provide some context for the various design and implementation
choices.

If you are only interested in learning how to use Devito, please start
with the :doc:`tutorials and examples </tutorials>`.

*Please note that this page is currently still under ongoing development.*

Core data structures
--------------------

.. image:: figures/data_structures.png
Binary file added docs/figures/data_structures.pdf
Binary file not shown.
Binary file added docs/figures/data_structures.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
71 changes: 71 additions & 0 deletions docs/figures/data_structures.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
\documentclass{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{arrows,chains,positioning,fit,backgrounds,calc,shapes,
shadows,scopes,decorations.markings,plotmarks}

\begin{document}


\tikzset{
line/.style={
draw, very thick, dashed
},
box/.style={
draw, thick, rectangle, rounded corners,
font=\sffamily\large,
minimum height=2em, minimum width=8em,
},
internal/.style={
box, fill=black!5,
},
external/.style={
box, fill=black!25,
}
}

\begin{tikzpicture}[font=\sf\small, node distance=4em]

\node (abstract) [internal] {AbstractSymbol};
\node (sym_data) [internal, below left=of abstract] {SymbolicData};
\node (sym_func) [internal, below right=of abstract] {SymbolicFunction};

\node (scalar) [internal, below left=of sym_data.south] {Scalar};
\node (array) [internal, below right=of sym_data.south] {Array};

\node (constant) [external, below left=of sym_func.south] {Constant};
\node (tensor_f) [internal, below right=of sym_func.south] {TensorFunction};

\node (function) [external, below left=of tensor_f] {Function};
\node (time_func) [external, below=2.8em of tensor_f] {TimeFunction};
\node (composite) [internal, below right=of tensor_f] {CompositeFunction};
\node (sparse_f) [external, below=2.8em of composite] {SparseFunction};

%% Connector lines
\draw[line] (abstract.south) -- ([shift={(0.,-.5)}] abstract.south) --
([shift={(0.,.5)}] sym_data.north) -- (sym_data.north);
\draw[line] ([shift={(0.,-.5)}] abstract.south) --
([shift={(0.,.5)}] sym_func.north) -- (sym_func.north);

\draw[line] (sym_data.south) -- ([shift={(0.,-.5)}] sym_data.south) --
([shift={(0.,.5)}] scalar.north) -- (scalar.north);
\draw[line] ([shift={(0.,-.5)}] sym_data.south) --
([shift={(0.,.5)}] array.north) -- (array.north);

\draw[line] (sym_func.south) -- ([shift={(0.,-.5)}] sym_func.south) --
([shift={(0.,.5)}] constant.north) -- (constant.north);
\draw[line] ([shift={(0.,-.5)}] sym_func.south) --
([shift={(0.,.5)}] tensor_f.north) -- (tensor_f.north);

\draw[line] (tensor_f.south) -- ([shift={(0.,-.5)}] tensor_f.south) --
([shift={(0.,.5)}] function.north) -- (function.north);
\draw[line] ([shift={(0.,-.5)}] tensor_f.south) -- (time_func.north);
\draw[line] ([shift={(0.,-.5)}] tensor_f.south) --
([shift={(0.,.5)}] composite.north) -- (composite.north);
\draw[line] (composite.south) -- (sparse_f.north);

\end{tikzpicture}

\end{document}

1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ You can find the API Documentation :doc:`here </devito>`.

Download <download>
Tutorials <tutorials>
Developer Documentation <developer>
Example Documentation <examples>
API Documentation <devito>

Expand Down

0 comments on commit 64a1a8a

Please sign in to comment.