From a4524149866e7d992d3f83c35e387f4c0fa97a2b Mon Sep 17 00:00:00 2001 From: Alex Fikl Date: Tue, 22 May 2018 20:37:44 -0500 Subject: [PATCH] docs: redo some of the graphics to be prettier --- doc/images/Makefile | 12 +++++++ doc/images/facial-adjacency-group.png | Bin 3478 -> 7933 bytes doc/images/facial-adjacency-group.tex | 14 ++++++++ doc/images/facial-adjacency-group.xoj | Bin 1796 -> 0 bytes doc/images/nodes-vertices.png | Bin 54152 -> 26441 bytes doc/images/nodes-vertices.tex | 45 ++++++++++++++++++++++++++ doc/images/nodes-vertices.xoj | Bin 25983 -> 0 bytes doc/mesh.rst | 4 ++- meshmode/mesh/__init__.py | 4 +++ 9 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 doc/images/Makefile create mode 100644 doc/images/facial-adjacency-group.tex delete mode 100644 doc/images/facial-adjacency-group.xoj create mode 100644 doc/images/nodes-vertices.tex delete mode 100644 doc/images/nodes-vertices.xoj diff --git a/doc/images/Makefile b/doc/images/Makefile new file mode 100644 index 00000000..eb6ec8ab --- /dev/null +++ b/doc/images/Makefile @@ -0,0 +1,12 @@ +SOURCES := $(shell find $(SOURCEDIR) -name '*.tex') +OBJS := $(SOURCES:%.tex=%.png) + +%.png: %.pdf + convert -density 300 $< -quality 90 $@ + +%.pdf: %.tex + pdflatex $< + +.PHONY: all +all: $(OBJS) + rm -rf *.pdf *.out *.aux *.log diff --git a/doc/images/facial-adjacency-group.png b/doc/images/facial-adjacency-group.png index a384da6432ecf50073ee30fb02430f7055a2cd6b..0b3f5233148a50e8fad2a4483c92851d88ba4b46 100644 GIT binary patch literal 7933 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 literal 3478 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 KG^;XokNY1SfqHEK diff --git a/doc/images/facial-adjacency-group.tex b/doc/images/facial-adjacency-group.tex new file mode 100644 index 00000000..9c2152a1 --- /dev/null +++ b/doc/images/facial-adjacency-group.tex @@ -0,0 +1,14 @@ +\documentclass{standalone} +\usepackage{tikz} + +\begin{document} +\begin{tikzpicture} +\draw [thick] (0, 2) rectangle node {$0$}(3, 4); +\draw [thick] (3, 2) rectangle node {$1$}(6, 4); +\draw [thick] (0, 0) rectangle node {$2$} (4, 2); +\draw [thick] (4, 0) rectangle node {$3$}(6, 2); +\draw [line width=3pt, line cap=round, orange] (4, 0) -- (6, 0) -- (6, 2); +\draw [line width=3pt, line cap=round, magenta] (4, 0) -- (4, 2); +\draw [line width=3pt, line cap=round, green!60!black] (4, 2) -- (6, 2); +\end{tikzpicture} +\end{document} diff --git a/doc/images/facial-adjacency-group.xoj b/doc/images/facial-adjacency-group.xoj deleted file mode 100644 index 6b8318eb268469ef96cd3e218f91f0bff5150c00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1796 zcmV+f2mAORiwFP!000001EpBYavMhsy!$J*c+Ya)kCfzmL@v3~)<$B5B3;xfmUGCr zr@JwvQ*u(}$7$6B7K6c~fz{0~FOP@m&*l8IKOJv3es-JbY26*~c8Ak(x!oL3n_u3( zxp_G~pO3qLDY`k$Z3D@=Uk}UM--i6|^#1vAIj+-B)6=p{59|8j=k4}!w?52|`*mLK zp0|JRp3kS}m+jN(_x0oMyljWvRyIvw_Ro9X@Oa5~>^K0fT%g_rqsfb7Fzw?A&CE#5oqJ}qZF zpVsr~k7Zg3BSDr7 z;h+Rr7D{*_LuS4t$TDPhdZsbR?DR~PGABE|;MmHb7=jEjNp^aL3WAdC^ooNJm1L(k z$Pkufrz1ulaYD$b=F!jBEURYQCsnm0i3 zySKTUO+122voo7WU2uK&&QO_xPs#*Q1?oyGQJX?Y3Nuj$>Iw<&i zA;Rh1DUn1t9nNR7iSmoi&DlKj87M3BL}iNJDc3|52niTA+Z2OS$cZ|T0zwqr6j8R$ zJVQ^#C}Tolipe^ttE(c*);zW`!(@#tFFyb;}iqX7`@7$b{?0N#hj@Djko5ZS8$^xZc$JOMoPk&y;K z_@Zm9L;{4(MN$v|!WFt0fB>xo0;oxV9nnPdRc%GuXaeXCGD_kAV1t8filzZsf*jcd zV4#48GC^aPic1O5>Nzqi0603N#u_4EqenI#07xpt#sm?-0AdiOR$w}a(E(7k0Wm8>>1w zin#e2lpit4m~K^c^dpqsMMz*wa$QXtT0}grtF?&eWK!D^p^jVE2m>PB_ay2f;@v>8 zrir2#WPmI{kh+Vsrm> zcYMM=zW)pB_*m*+@K@*3x|u%RZaR7C)qUSOd=|jQ*O&?|Akr68?h8}?8%#OQBboA< zv*5L@@C~+l)1R_M9)4{rUTytv@=xd8@qW2xAK56X{jQ2;;E<}CtP=(@*6YUn&6w?i z`ek9m3ju7|>SxqdHC;IO zLTjHo*2b$+qd)R+h79VQgOfC^1^N>}XZ%k#;S%erJDZgCa`T z4GLGxYOk>kdCd6ggh=`r^4hMFh6Sd)vn7hDh?UcYh=GcMvHYqFKjQ27xbD6zhGv_+ zK6QkgMtL3-Ry4~8+4-Ph9!%!!^T`cD8(*&RN?|3;wOuI;4N>Bi!g4UGtx99662IB@5)QNy7CUPz`%PaE7f zO%8>ws|oQ7s9tO`!(5k46GMU9BscUizQCiyrq<4Ov8j=WBIwuQ$;~xi$1GNbVUyn+ mSQUoNu~GB8;>)41z5LH&%YTjVIsR$#_RT-sljW_!5dZ*;WN}>p diff --git a/doc/images/nodes-vertices.png b/doc/images/nodes-vertices.png index 8ee30bd8e29ff657eb8f2a6c2193956c40f9969b..29b32d3ecdcf76e4e0c42e0c20d21e138d8121a3 100644 GIT binary patch literal 26441 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 literal 54152 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 diff --git a/doc/images/nodes-vertices.tex b/doc/images/nodes-vertices.tex new file mode 100644 index 00000000..7ec3bc40 --- /dev/null +++ b/doc/images/nodes-vertices.tex @@ -0,0 +1,45 @@ +\documentclass{standalone} +\usepackage{tikz} +\usetikzlibrary{decorations.markings} + +\tikzset{-node-/.style={decoration={ + markings, + mark=at position #1 with { + \draw[fill=green!60!black, line width=0.4] circle [radius=0.1];}}, + postaction={decorate}}} + +\begin{document} +\begin{tikzpicture} +\draw [thick, -node-=.33,-node-=0.66] (0, 0) to (3, 0); +\draw [thick, -node-=.33,-node-=0.66] (3, 0) to (0, 3); +\draw [thick, -node-=.33,-node-=0.66] (0, 3) to (0, 0); +\draw [fill=green!60!black] (0, 0) circle [radius=0.1]; +\draw [fill=green!60!black] (3, 0) circle [radius=0.1]; +\draw [fill=green!60!black] (0, 3) circle [radius=0.1]; +\draw [fill=green!60!black] (1, 1) circle [radius=0.1]; + +\draw [ultra thick,bend left,->] (1.5, 2.5) to (3.5, 2.5); + +\begin{scope}[shift={(4, 2)},rotate=-47] +\draw [thick, -node-=.33,-node-=0.66] (0, 0) to [bend left] (3, 0); +\draw [thick, -node-=.33,-node-=0.66] (3, 0) to [bend right] (0, 3); +\draw [thick, -node-=.33,-node-=0.66] (0, 3) to [bend right] (0, 0); +\draw [dashed] (3, 0) to [bend left] (5, 3); +\draw [dashed] (5, 3) to [bend right] (0, 3); + +\draw [fill=magenta!60] (0, 0) circle [radius=0.15]; +\draw [fill=magenta!60] (0, 3) circle [radius=0.15]; +\draw [fill=magenta!60] (3, 0) circle [radius=0.15]; +\draw [fill=green!60!black] (0.75, 1.5) circle [radius=0.1]; +\end{scope} + +\node at (1.5, -0.5) [below] {Reference Element}; +\draw [fill=green!60!black] (0.25, -1.5) circle [radius=0.1] + node [right] {~ unit nodes}; +\node at (6.5, -0.5) [below] {Mesh Element}; +\draw [fill=green!60!black] (5.5, -1.5) circle [radius=0.1] + node [right] {~ nodes (unique)}; +\draw [fill=magenta!60] (5.5, -2) circle [radius=0.15] + node [right] {~ vertices (shared)}; +\end{tikzpicture} +\end{document} diff --git a/doc/images/nodes-vertices.xoj b/doc/images/nodes-vertices.xoj deleted file mode 100644 index fc0bb2950f4eafb2f1adc226b0b23c2f52ba7fc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25983 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 diff --git a/doc/mesh.rst b/doc/mesh.rst index ccfba1e7..cbb32279 100644 --- a/doc/mesh.rst +++ b/doc/mesh.rst @@ -38,6 +38,8 @@ them. Consider the following picture: .. image:: images/nodes-vertices.png + :align: center + :width: 80% Mesh Data Structure ------------------- @@ -71,7 +73,7 @@ Mesh refinement .. automodule:: meshmode.mesh.refinement Mesh visualization ---------------- +------------------ .. automodule:: meshmode.mesh.visualization diff --git a/meshmode/mesh/__init__.py b/meshmode/mesh/__init__.py index 1f642bb0..1e1f9200 100644 --- a/meshmode/mesh/__init__.py +++ b/meshmode/mesh/__init__.py @@ -390,6 +390,8 @@ class FacialAdjacencyGroup(Record): of) a face. .. image:: images/facial-adjacency-group.png + :align: center + :width: 60% Represents (for example) *one* of the (colored) interfaces between :class:`MeshElementGroup` instances, or an interface between @@ -491,6 +493,8 @@ class Mesh(Record): :exc:`meshmode.DataUnavailable`. .. image:: images/facial-adjacency-group.png + :align: center + :width: 60% For example for the mesh in the figure, the following data structure would be present:: -- GitLab