diff options
Diffstat (limited to 'docs/nstrophy_doc')
-rw-r--r-- | docs/nstrophy_doc/Makefile | 70 | ||||
-rw-r--r-- | docs/nstrophy_doc/bibliography/conf.BBlog | 6 | ||||
-rw-r--r-- | docs/nstrophy_doc/libs/ian.cls | 659 | ||||
-rw-r--r-- | docs/nstrophy_doc/libs/iantheo.sty | 162 | ||||
-rw-r--r-- | docs/nstrophy_doc/libs/largearray.sty | 19 | ||||
-rw-r--r-- | docs/nstrophy_doc/libs/point.sty | 106 | ||||
-rw-r--r-- | docs/nstrophy_doc/nstrophy_doc.tex | 336 |
7 files changed, 0 insertions, 1358 deletions
diff --git a/docs/nstrophy_doc/Makefile b/docs/nstrophy_doc/Makefile deleted file mode 100644 index c63e53f..0000000 --- a/docs/nstrophy_doc/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -PROJECTNAME=$(basename $(wildcard *.tex)) -LIBS=$(notdir $(wildcard libs/*)) -FIGS=$(notdir $(wildcard figs/*.fig)) - -PDFS=$(addsuffix .pdf, $(PROJECTNAME)) -SYNCTEXS=$(addsuffix .synctex.gz, $(PROJECTNAME)) - -all: $(PROJECTNAME) - -$(PROJECTNAME): $(LIBS) $(FIGS) - pdflatex -file-line-error $@.tex - pdflatex -file-line-error $@.tex - pdflatex -synctex=1 $@.tex - -$(PROJECTNAME).aux: $(LIBS) $(FIGS) - pdflatex -file-line-error -draftmode $(PROJECTNAME).tex - - -$(SYNCTEXS): $(LIBS) $(FIGS) - pdflatex -synctex=1 $(patsubst %.synctex.gz, %.tex, $@) - -install: $(PROJECTNAME) - cp $^.pdf $(INSTALLDIR)/ - -install-synctex: $(SYNCTEXS) - cp $^ $(INSTALLDIR)/ - -install-bibliography: bibliography/bibliography.tex - cp bibliography/bibliography.tex $(INSTALLDIR)/bibliography/ - - -libs: $(LIBS) - -$(LIBS): - ln -fs libs/$@ ./ - -bibliography/bibliography.tex: $(PROJECTNAME).aux - BBlog -c bibliography/conf.BBlog -d $(BIBLIOGRAPHY) -b bibliography/bibliography.tex - -figs: $(FIGS) - -$(FIGS): - make -C figs/$@ - ln -fs figs/$@/*.pdf ./ - - -clean-aux: clean-figs-aux - rm -f $(addsuffix .aux, $(PROJECTNAME)) - rm -f $(addsuffix .log, $(PROJECTNAME)) - rm -f $(addsuffix .out, $(PROJECTNAME)) - rm -f $(addsuffix .toc, $(PROJECTNAME)) - -clean-libs: - rm -f $(LIBS) - -clean-figs: - $(foreach fig,$(addprefix figs/, $(FIGS)), make -C $(fig) clean; ) - rm -f $(notdir $(wildcard figs/*.fig/*.pdf)) - -clean-figs-aux: - $(foreach fig,$(addprefix figs/, $(FIGS)), make -C $(fig) clean-aux; ) - - -clean-tex: - rm -f $(PDFS) $(SYNCTEXS) - -clean-bibliography: - rm -f bibliography/bibliography.tex - -clean: clean-aux clean-tex clean-libs clean-figs diff --git a/docs/nstrophy_doc/bibliography/conf.BBlog b/docs/nstrophy_doc/bibliography/conf.BBlog deleted file mode 100644 index abe5ad4..0000000 --- a/docs/nstrophy_doc/bibliography/conf.BBlog +++ /dev/null @@ -1,6 +0,0 @@ -format: \bibitem[%token%]{%citeref%}%author:auth% - {\it %title%}, %journal%, %year%|doi?,\par\penalty10000%n%doi:{\tt\color{blue}\href{http://dx.doi.org/%doi%}{%doi%}}||arxiv?, arxiv:{\tt\color{blue}\href{http://arxiv.org/abs/%arxiv%}{%arxiv%}}|.\par\medskip%n% %n% -out_file: bibliography.tex -filter:auth: s/([A-Z])[^, ]* /\1. /g; s/ ([^ ,]*),/_\1,_/g; s/ ([^ ,]*)$/_\1/g; s/ //g; s/_/ /g; -filter:journal: s/([a-zA-Z]) ([0-9]+)/\1~\\-\2/g; -aux_cmd: \\citation{ -extra: Gallavotti2022:Ga22:Ga22:\bibitem[%token%]{%citeref%}G.\-~Gallavotti - {\it Navier-Stokes and equivalence conjectures}, preprint, 2022\par\penalty10000%n%arxiv:{\tt\color{blue}\href{https://arxiv.org/abs/2211.02961}{2211.02961}}%n%%n% diff --git a/docs/nstrophy_doc/libs/ian.cls b/docs/nstrophy_doc/libs/ian.cls deleted file mode 100644 index 538a108..0000000 --- a/docs/nstrophy_doc/libs/ian.cls +++ /dev/null @@ -1,659 +0,0 @@ -%% -%% Ian's class file -%% - -%% TeX format -\NeedsTeXFormat{LaTeX2e}[1995/12/01] - -%% class name -\ProvidesClass{ian}[2017/09/29] - -%% boolean to signal that this class is being used -\newif\ifianclass - -%% options -% no section numbering in equations -\DeclareOption{section_in_eq}{\sectionsineqtrue} -\DeclareOption{section_in_fig}{\sectionsinfigtrue} -\DeclareOption{section_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}} -\DeclareOption{section_in_all}{\sectionsineqtrue\sectionsinfigtrue\PassOptionsToPackage{section_in_theo}{iantheo}} -\DeclareOption{subsection_in_eq}{\subsectionsineqtrue} -\DeclareOption{subsection_in_fig}{\subsectionsinfigtrue} -\DeclareOption{subsection_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}} -\DeclareOption{subsection_in_all}{\subsectionsineqtrue\subsectionsinfigtrue\PassOptionsToPackage{subsection_in_theo}{iantheo}} -\DeclareOption{no_section_in_eq}{\sectionsineqfalse} -\DeclareOption{no_section_in_fig}{\sectionsinfigfalse} -\DeclareOption{no_section_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}} -\DeclareOption{no_section_in_all}{\sectionsineqfalse\sectionsinfigfalse\PassOptionsToPackage{no_section_in_theo}{iantheo}} -\DeclareOption{no_subsection_in_eq}{\subsectionsineqfalse} -\DeclareOption{no_subsection_in_fig}{\subsectionsinfigfalse} -\DeclareOption{no_subsection_in_theo}{\PassOptionsToPackage{\CurrentOption}{iantheo}} -\DeclareOption{no_subsection_in_all}{\subsectionsineqfalse\subsectionsinfigfalse\PassOptionsToPackage{no_subsection_in_theo}{iantheo}} -% reset point -\DeclareOption{point_reset_at_section}{\PassOptionsToPackage{reset_at_section}{point}} -\DeclareOption{point_no_reset_at_section}{\PassOptionsToPackage{no_reset_at_section}{point}} -\DeclareOption{point_reset_at_theo}{\PassOptionsToPackage{reset_at_theo}{point}} -\DeclareOption{point_no_reset_at_theo}{\PassOptionsToPackage{no_reset_at_theo}{point}} - -\def\ian@defaultoptions{ - \ExecuteOptions{section_in_all, no_subsection_in_all} - \ProcessOptions - - %% required packages - \RequirePackage{iantheo} - \RequirePackage{point} - \RequirePackage{color} - \RequirePackage{marginnote} - \RequirePackage{amssymb} - \PassOptionsToPackage{hidelinks}{hyperref} - \RequirePackage{hyperref} -} - -%% paper dimensions -\setlength\paperheight{297mm} -\setlength\paperwidth{210mm} - -%% fonts -\input{size11.clo} -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} - -%% text dimensions -\hoffset=-50pt -\voffset=-72pt -\textwidth=460pt -\textheight=704pt - - -%% remove default indentation -\parindent=0pt -%% indent command -\def\indent{\hskip20pt} - -%% something is wrong with \thepage, redefine it -\gdef\thepage{\the\c@page} - -%% array lines (to use the array environment) -\setlength\arraycolsep{5\p@} -\setlength\arrayrulewidth{.4\p@} - - -%% correct vertical alignment at the end of a document -\AtEndDocument{ - \vfill - \eject -} - - -%% hyperlinks -% hyperlinkcounter -\newcounter{lncount} -% hyperref anchor -\def\hrefanchor{% -\stepcounter{lncount}% -\hypertarget{ln.\thelncount}{}% -} - -%% define a command and write it to aux file -\def\outdef#1#2{% - % define command% - \expandafter\xdef\csname #1\endcsname{#2}% - % hyperlink number% - \expandafter\xdef\csname #1@hl\endcsname{\thelncount}% - % write command to aux% - \immediate\write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname #1\endcsname{\csname #1\endcsname}}% - \immediate\write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname #1@hl\endcsname{\thelncount}}% -} - -%% can call commands even when they are not defined -\def\safe#1{% - \ifdefined#1% - #1% - \else% - {\color{red}\bf?}% - \fi% -} - -%% define a label for the latest tag -%% label defines a command containing the string stored in \tag -\def\deflabel{ - \def\label##1{\expandafter\outdef{label@##1}{\safe\tag}} - - \def\ref##1{% - % check whether the label is defined (hyperlink runs into errors if this check is omitted) - \ifcsname label@##1@hl\endcsname% - \hyperlink{ln.\csname label@##1@hl\endcsname}{{\color{blue}\safe\csname label@##1\endcsname}}% - \else% - \ifcsname label@##1\endcsname% - {\color{blue}\csname ##1\endcsname}% - \else% - {\bf ??}% - \fi% - \fi% - } -} - - -%% make a custom link at any given location in the document -\def\makelink#1#2{% - \hrefanchor% - \outdef{label@#1}{#2}% -} - - -%% section command -% counter -\newcounter{sectioncount} -% space before section -\newlength\secskip -\setlength\secskip{40pt} -% a prefix to put before the section number, e.g. A for appendices -\def\sectionprefix{} -% define some lengths -\newlength\secnumwidth -\newlength\sectitlewidth -\def\section#1{ - % reset counters - \stepcounter{sectioncount} - \setcounter{subsectioncount}{0} - \ifsectionsineq - \setcounter{seqcount}0 - \fi - \ifsectionsinfig - \setcounter{figcount}0 - \fi - - % space before section (if not first) - \ifnum\thesectioncount>1 - \vskip\secskip - \penalty-1000 - \fi - - % hyperref anchor - \hrefanchor - % define tag (for \label) - \xdef\tag{\sectionprefix\thesectioncount} - - % get widths - \def\@secnum{{\bf\Large\sectionprefix\thesectioncount.\hskip10pt}} - \settowidth\secnumwidth{\@secnum} - \setlength\sectitlewidth\textwidth - \addtolength\sectitlewidth{-\secnumwidth} - - % print name - \parbox{\textwidth}{ - \@secnum - \parbox[t]{\sectitlewidth}{\Large\bf #1}} - - % write to table of contents - \iftoc - % save lncount in aux variable which is written to toc - \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@sec.\thesectioncount\endcsname{\thelncount}} - \write\tocoutput{\noexpand\tocsection{#1}{\thepage}} - \fi - - %space - \par\penalty10000 - \bigskip\penalty10000 -} - -%% subsection -% counter -\newcounter{subsectioncount} -% space before subsection -\newlength\subsecskip -\setlength\subsecskip{30pt} -\def\subsection#1{ - % counters - \stepcounter{subsectioncount} - \setcounter{subsubsectioncount}{0} - \ifsubsectionsineq - \setcounter{seqcount}0 - \fi - \ifsubsectionsinfig - \setcounter{figcount}0 - \fi - - % space before subsection (if not first) - \ifnum\thesubsectioncount>1 - \vskip\subsecskip - \penalty-500 - \fi - - % hyperref anchor - \hrefanchor - % define tag (for \label) - \xdef\tag{\sectionprefix\thesectioncount.\thesubsectioncount} - - % get widths - \def\@secnum{{\bf\large\hskip.5cm\sectionprefix\thesectioncount.\thesubsectioncount.\hskip5pt}} - \settowidth\secnumwidth{\@secnum} - \setlength\sectitlewidth\textwidth - \addtolength\sectitlewidth{-\secnumwidth} - % print name - \parbox{\textwidth}{ - \@secnum - \parbox[t]{\sectitlewidth}{\large\bf #1}} - - % write to table of contents - \iftoc - % save lncount in aux variable which is written to toc - \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@subsec.\thesectioncount.\thesubsectioncount\endcsname{\thelncount}} - \write\tocoutput{\noexpand\tocsubsection{#1}{\thepage}} - \fi - - % space - \par\penalty10000 - \medskip\penalty10000 -} - -%% subsubsection -% counter -\newcounter{subsubsectioncount} -% space before subsubsection -\newlength\subsubsecskip -\setlength\subsubsecskip{20pt} -\def\subsubsection#1{ - % counters - \stepcounter{subsubsectioncount} - - % space before subsubsection (if not first) - \ifnum\thesubsubsectioncount>1 - \vskip\subsubsecskip - \penalty-500 - \fi - - % hyperref anchor - \hrefanchor - % define tag (for \label) - \xdef\tag{\sectionprefix\thesectioncount.\thesubsectioncount.\thesubsubsectioncount} - - % get widths - \def\@secnum{{\bf\hskip1.cm\sectionprefix\thesectioncount.\thesubsectioncount.\thesubsubsectioncount.\hskip5pt}} - \settowidth\secnumwidth{\@secnum} - \setlength\sectitlewidth\textwidth - \addtolength\sectitlewidth{-\secnumwidth} - % print name - \parbox{\textwidth}{ - \@secnum - \parbox[t]{\sectitlewidth}{\large\bf #1}} - - % write to table of contents - \iftoc - % save lncount in aux variable which is written to toc - \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@subsubsec.\thesectioncount.\thesubsectioncount.\thesubsubsectioncount\endcsname{\thelncount}} - \write\tocoutput{\noexpand\tocsubsubsection{#1}{\thepage}} - \fi - - % space - \par\penalty10000 - \medskip\penalty10000 -} - -%% itemize -\newlength\itemizeskip -% left margin for items -\setlength\itemizeskip{20pt} -\newlength\itemizeseparator -% space between the item symbol and the text -\setlength\itemizeseparator{5pt} -% penalty preceding an itemize -\newcount\itemizepenalty -\itemizepenalty=0 -% counter counting the itemize level -\newcounter{itemizecount} - -% item symbol -\def\itemizept#1{ - \ifnum#1=1 - \textbullet - \else - $\scriptstyle\blacktriangleright$ - \fi -} - - -\newlength\current@itemizeskip -\setlength\current@itemizeskip{0pt} -\def\itemize{% - \par\expandafter\penalty\the\itemizepenalty\medskip\expandafter\penalty\the\itemizepenalty% - \addtocounter{itemizecount}{1}% - \addtolength\current@itemizeskip{\itemizeskip}% - \leftskip\current@itemizeskip% -} -\def\enditemize{% - \addtocounter{itemizecount}{-1}% - \addtolength\current@itemizeskip{-\itemizeskip}% - \par\expandafter\penalty\the\itemizepenalty\leftskip\current@itemizeskip% - \medskip\expandafter\penalty\the\itemizepenalty% -} -\newlength\itempt@total -\def\item{ - \settowidth\itempt@total{\itemizept\theitemizecount} - \addtolength\itempt@total{\itemizeseparator} - \par - \medskip - \hskip-\itempt@total\itemizept\theitemizecount\hskip\itemizeseparator -} - - -%% prevent page breaks after itemize -\newcount\previtemizepenalty -\def\nopagebreakafteritemize{ - \previtemizepenalty=\itemizepenalty - \itemizepenalty=10000 -} -%% back to previous value -\def\restorepagebreakafteritemize{ - \itemizepenalty=\previtemizepenalty -} - -%% enumerate -\newcounter{enumerate@count} -\def\enumerate{ - \setcounter{enumerate@count}0 - \let\olditem\item - \let\olditemizept\itemizept - \def\item{ - % counter - \stepcounter{enumerate@count} - % set header - \def\itemizept{\theenumerate@count.} - % hyperref anchor - \hrefanchor - % define tag (for \label) - \xdef\tag{\theenumerate@count} - \olditem - } - \itemize -} -\def\endenumerate{ - \enditemize - \let\item\olditem - \let\itemizept\olditemizept -} - - -%% equation numbering -% counter -\newcounter{seqcount} -% booleans (write section or subsection in equation number) -\newif\ifsectionsineq -\newif\ifsubsectionsineq -\def\seqcount{ - \stepcounter{seqcount} - % the output - \edef\seqformat{\theseqcount} - % add subsection number - \ifsubsectionsineq - \let\tmp\seqformat - \edef\seqformat{\thesubsectioncount.\tmp} - \fi - % add section number - \ifsectionsineq - \let\tmp\seqformat - \edef\seqformat{\sectionprefix\thesectioncount.\tmp} - \fi - % define tag (for \label) - \xdef\tag{\seqformat} - % write number - \marginnote{\hfill(\seqformat)} -} -%% equation environment compatibility -\def\equation{\hrefanchor$$\seqcount} -\def\endequation{$$\@ignoretrue} - - -%% figures -% counter -\newcounter{figcount} -% booleans (write section or subsection in equation number) -\newif\ifsectionsinfig -\newif\ifsubsectionsinfig -% width of figures -\newlength\figwidth -\setlength\figwidth\textwidth -\addtolength\figwidth{-2.5cm} -% caption -\def\defcaption{ - \long\def\caption##1{ - \stepcounter{figcount} - - % hyperref anchor - \hrefanchor - - % the number of the figure - \edef\figformat{\thefigcount} - % add subsection number - \ifsubsectionsinfig - \let\tmp\figformat - \edef\figformat{\thesubsectioncount.\tmp} - \fi - % add section number - \ifsectionsinfig - \let\tmp\figformat - \edef\figformat{\sectionprefix\thesectioncount.\tmp} - \fi - - % define tag (for \label) - \xdef\tag{\figformat} - - % write - \hfil fig \figformat: \parbox[t]{\figwidth}{\leavevmode\small##1} - - % space - \par\bigskip - } -} -%% short caption: centered -\def\captionshort#1{ - \stepcounter{figcount} - - % hyperref anchor - \hrefanchor - - % the number of the figure - \edef\figformat{\thefigcount} - % add section number - \ifsectionsinfig - \let\tmp\figformat - \edef\figformat{\sectionprefix\thesectioncount.\tmp} - \fi - - % define tag (for \label) - \xdef\tag{\figformat} - - % write - \hfil fig \figformat: {\small#1} - - %space - \par\bigskip -} - -%% environment -\def\figure{ - \par - \vfil\penalty100\vfilneg - \bigskip -} -\def\endfigure{ - \par - \vfil\penalty100\vfilneg - \bigskip -} - - -%% start appendices -\def\appendix{ - \vfill - \pagebreak - - % counter - \setcounter{sectioncount}0 - - % prefix - \def\sectionprefix{A} - - % write - {\bf \LARGE Appendices}\par\penalty10000\bigskip\penalty10000 - - % add a mention in the table of contents - \iftoc - \immediate\write\tocoutput{\noexpand\tocappendices}\penalty10000 - \fi - - %% uncomment for new page for each appendix - %\def\seqskip{\vfill\pagebreak} -} - - -%% bibliography -% size of header -\newlength\bibheader -\def\thebibliography#1{ - \hrefanchor - - % add a mention in the table of contents - \iftoc - % save lncount in aux variable which is written to toc - \immediate\write\tocoutput{\noexpand\expandafter\noexpand\edef\noexpand\csname toc@references\endcsname{\thelncount}} - \write\tocoutput{\noexpand\tocreferences{\thepage}}\penalty10000 - \fi - - % write - {\bf \LARGE References}\par\penalty10000\bigskip\penalty10000 - % width of header - \settowidth\bibheader{[#1]} - \leftskip\bibheader -} -% end environment -\def\endthebibliography{ - \par\leftskip0pt -} - -%% bibitem command -\def\bibitem[#1]#2{% - \hrefanchor% - \outdef{label@cite#2}{#1}% - \hskip-\bibheader% - \makebox[\bibheader]{\cite{#2}\hfill}% -} - -%% cite command (adapted from latex.ltx) -% @tempswa is set to true when there is an optional argument -\newif\@tempswa -\def\cite{% - % check whether there is an optional argument (if there is none, add on empty '[]') - \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}% -} -% command with optional argument -\def\@citex[#1]#2{\leavevmode% - % initialize loop - \let\@citea\@empty% - % format - \@cite{% - % loop over ',' separated list - \@for\@citeb:=#2\do{% - % text to add at each iteration of the loop (separator between citations) - \@citea\def\@citea{,\ }% - % add entry to citelist - \@writecitation{\@citeb}% - \ref{cite\@citeb}% - }% - }% - % add optional argument text (as an argument to '\@cite') - {#1}% -} -\def\@cite#1#2{% - [#1\if@tempswa , #2\fi]% -} -%% add entry to citelist after checking it has not already been added -\def\@writecitation#1{% - \ifcsname if#1cited\endcsname% - \else% - \expandafter\newif\csname if#1cited\endcsname% - \immediate\write\@auxout{\string\citation{#1}}% - \fi% -} - -%% table of contents -% boolean -\newif\iftoc -\def\tableofcontents{ - {\bf \large Table of contents:}\par\penalty10000\bigskip\penalty10000 - - % copy content from file - \IfFileExists{\jobname.toc}{\input{\jobname.toc}}{{\tt error: table of contents missing}} - - % open new toc - \newwrite\tocoutput - \immediate\openout\tocoutput=\jobname.toc - - \toctrue -} -%% close file -\AtEndDocument{ - % close toc - \iftoc - \immediate\closeout\tocoutput - \fi -} - - -%% fill line with dots -\def\leaderfill{\leaders\hbox to 1em {\hss. \hss}\hfill} - -%% same as sectionprefix -\def\tocsectionprefix{} - -%% toc formats -\newcounter{tocsectioncount} -\def\tocsection #1#2{ - \stepcounter{tocsectioncount} - \setcounter{tocsubsectioncount}{0} - \setcounter{tocsubsubsectioncount}{0} - % write - \smallskip\hyperlink{ln.\csname toc@sec.\thetocsectioncount\endcsname}{{\bf \tocsectionprefix\thetocsectioncount}.\hskip5pt {\color{blue}#1}\leaderfill#2}\par -} -\newcounter{tocsubsectioncount} -\def\tocsubsection #1#2{ - \stepcounter{tocsubsectioncount} - \setcounter{tocsubsubsectioncount}{0} - % write - {\hskip10pt\hyperlink{ln.\csname toc@subsec.\thetocsectioncount.\thetocsubsectioncount\endcsname}{{\bf \thetocsubsectioncount}.\hskip5pt {\color{blue}\small #1}\leaderfill#2}}\par -} -\newcounter{tocsubsubsectioncount} -\def\tocsubsubsection #1#2{ - \stepcounter{tocsubsubsectioncount} - % write - {\hskip20pt\hyperlink{ln.\csname toc@subsubsec.\thetocsectioncount.\thetocsubsectioncount.\thetocsubsubsectioncount\endcsname}{{\bf \thetocsubsubsectioncount}.\hskip5pt {\color{blue}\small #1}\leaderfill#2}}\par -} -\def\tocappendices{ - \medskip - \setcounter{tocsectioncount}0 - {\bf Appendices}\par - \smallskip - \def\tocsectionprefix{A} -} -\def\tocreferences#1{ - \medskip - {\hyperlink{ln.\csname toc@references\endcsname}{{\color{blue}\bf References}\leaderfill#1}}\par - \smallskip -} - - -%% definitions that must be loaded at begin document -\let\ian@olddocument\document -\def\document{ - \ian@olddocument - - \deflabel - \defcaption -} - -%% end -\ian@defaultoptions -\endinput diff --git a/docs/nstrophy_doc/libs/iantheo.sty b/docs/nstrophy_doc/libs/iantheo.sty deleted file mode 100644 index d33a93d..0000000 --- a/docs/nstrophy_doc/libs/iantheo.sty +++ /dev/null @@ -1,162 +0,0 @@ -%% -%% iantheorem package: -%% Ian's customized theorem command -%% - -%% boolean to signal that this package was loaded -\newif\ifiantheo - -%% TeX format -\NeedsTeXFormat{LaTeX2e}[1995/12/01] - -%% package name -\ProvidesPackage{iantheo}[2016/11/10] - -%% options -\newif\ifsectionintheo -\DeclareOption{section_in_theo}{\sectionintheotrue} -\DeclareOption{no_section_in_theo}{\sectionintheofalse} -\newif\ifsubsectionintheo -\DeclareOption{subsection_in_theo}{\subsectionintheotrue} -\DeclareOption{no_subsection_in_theo}{\subsectionintheofalse} - -\def\iantheo@defaultoptions{ - \ExecuteOptions{section_in_theo, no_subsection_in_theo} - \ProcessOptions - - %%% reset at every new section - \ifsectionintheo - \let\iantheo@oldsection\section - \gdef\section{\setcounter{theocount}{0}\iantheo@oldsection} - \fi - - %% reset at every new subsection - \ifsubsectionintheo - \let\iantheo@oldsubsection\subsection - \gdef\subsection{\setcounter{theocount}{0}\iantheo@oldsubsection} - \fi -} - - -%% delimiters -\def\delimtitle#1{ - \par% - \leavevmode% - \raise.3em\hbox to\hsize{% - \lower0.3em\hbox{\vrule height0.3em}% - \hrulefill% - \ \lower.3em\hbox{#1}\ % - \hrulefill% - \lower0.3em\hbox{\vrule height0.3em}% - }% - \par\penalty10000% -} - -%% callable by ref -\def\delimtitleref#1{ - \par% -% - \ifdefined\ianclass% - % hyperref anchor% - \hrefanchor% - % define tag (for \label)% - \xdef\tag{#1}% - \fi% -% - \leavevmode% - \raise.3em\hbox to\hsize{% - \lower0.3em\hbox{\vrule height0.3em}% - \hrulefill% - \ \lower.3em\hbox{\bf #1}\ % - \hrulefill% - \lower0.3em\hbox{\vrule height0.3em}% - }% - \par\penalty10000% -} - -%% no title -\def\delim{ - \par% - \leavevmode\raise.3em\hbox to\hsize{% - \lower0.3em\hbox{\vrule height0.3em}% - \hrulefill% - \lower0.3em\hbox{\vrule height0.3em}% - }% - \par\penalty10000% -} - -%% end delim -\def\enddelim{ - \par\penalty10000% - \leavevmode% - \raise.3em\hbox to\hsize{% - \vrule height0.3em\hrulefill\vrule height0.3em% - }% - \par% -} - - -%% theorem -% counter -\newcounter{theocount} -% booleans (write section or subsection in equation number) -\def\theo#1{ - \stepcounter{theocount} - \ifdefined\ianclass - % hyperref anchor - \hrefanchor - \fi - % the number - \def\formattheo{\thetheocount} - % add subsection number - \ifsubsectionintheo - \let\tmp\formattheo - \edef\formattheo{\thesubsectioncount.\tmp} - \fi - % add section number - \ifsectionintheo - \let\tmp\formattheo - \edef\formattheo{\sectionprefix\thesectioncount.\tmp} - \fi - % define tag (for \label) - \xdef\tag{\formattheo} - % write - \delimtitle{\bf #1 \formattheo} -} -\let\endtheo\enddelim -%% theorem headers with name -\def\theoname#1#2{ - \theo{#1}\hfil({\it #2})\par\penalty10000\medskip% -} - - -%% qed symbol -\def\qedsymbol{$\square$} -\def\qed{\penalty10000\hfill\penalty10000\qedsymbol} - - -%% compatibility with article class -\ifdefined\ianclasstrue - \relax -\else - \def\thesectioncount{\thesection} - \def\thesubsectioncount{\thesubsection} - \def\sectionprefix{} -\fi - - -%% prevent page breaks after displayed equations -\newcount\prevpostdisplaypenalty -\def\nopagebreakaftereq{ - \prevpostdisplaypenalty=\postdisplaypenalty - \postdisplaypenalty=10000 -} -%% back to previous value -\def\restorepagebreakaftereq{ - \postdisplaypenalty=\prevpostdisplaypenalty -} - - -%% end -\iantheo@defaultoptions -\endinput diff --git a/docs/nstrophy_doc/libs/largearray.sty b/docs/nstrophy_doc/libs/largearray.sty deleted file mode 100644 index ad5753b..0000000 --- a/docs/nstrophy_doc/libs/largearray.sty +++ /dev/null @@ -1,19 +0,0 @@ -%% -%% largearray package: -%% Array spanning the entire line -%% - -%% TeX format -\NeedsTeXFormat{LaTeX2e}[1995/12/01] - -%% package name -\ProvidesPackage{largearray}[2016/11/10] - -\RequirePackage{array} - -%% array spanning the entire line -\newlength\largearray@width -\setlength\largearray@width\textwidth -\addtolength\largearray@width{-10pt} -\def\largearray{\begin{array}{@{}>{\displaystyle}l@{}}\hphantom{\hspace{\largearray@width}}\\[-.5cm]} -\def\endlargearray{\end{array}} diff --git a/docs/nstrophy_doc/libs/point.sty b/docs/nstrophy_doc/libs/point.sty deleted file mode 100644 index 9f983dc..0000000 --- a/docs/nstrophy_doc/libs/point.sty +++ /dev/null @@ -1,106 +0,0 @@ -%% -%% Points package: -%% \point commands -%% - -%% TeX format -\NeedsTeXFormat{LaTeX2e}[1995/12/01] - -%% package name -\ProvidesPackage{point}[2017/06/13] - -%% options -\newif\ifresetatsection -\DeclareOption{reset_at_section}{\resetatsectiontrue} -\DeclareOption{no_reset_at_section}{\resetatsectionfalse} -\newif\ifresetatsubsection -\DeclareOption{reset_at_subsection}{\resetatsubsectiontrue} -\DeclareOption{no_reset_at_subsection}{\resetatsubsectionfalse} -\newif\ifresetattheo -\DeclareOption{reset_at_theo}{\resetattheotrue} -\DeclareOption{no_reset_at_theo}{\resetattheofalse} - -\def\point@defaultoptions{ - \ExecuteOptions{reset_at_section, reset_at_subsection, no_reset_at_theo} - \ProcessOptions - - %% reset at every new section - \ifresetatsection - \let\point@oldsection\section - \gdef\section{\resetpointcounter\point@oldsection} - \fi - %% reset at every new subsection - \ifresetatsubsection - \let\point@oldsubsection\subsection - \gdef\subsection{\resetpointcounter\point@oldsubsection} - \fi - - %% reset at every new theorem - \ifresetattheo - \ifdefined\iantheotrue - \let\point@oldtheo\theo - \gdef\theo{\resetpointcounter\point@oldtheo} - \fi - \fi -} - - -%% point -% counter -\newcounter{pointcount} -\def\point{ - \stepcounter{pointcount} - \setcounter{subpointcount}{0} - % hyperref anchor (only if the class is 'ian') - \ifdefined\ifianclass - \hrefanchor - % define tag (for \label) - \xdef\tag{\thepointcount} - \fi - % header - \indent{\bf \thepointcount\ - } -} - -%% subpoint -% counter -\newcounter{subpointcount} -\def\subpoint{ - \stepcounter{subpointcount} - \setcounter{subsubpointcount}0 - % hyperref anchor (only if the class is 'ian') - \ifdefined\ifianclass - \hrefanchor - % define tag (for \label) - \xdef\tag{\thepointcount-\thesubpointcount} - \fi - % header - \indent\hskip.5cm{\bf \thepointcount-\thesubpointcount\ - } -} - -%% subsubpoint -% counter -\newcounter{subsubpointcount} -\def\subsubpoint{ - \stepcounter{subsubpointcount} - % hyperref anchor (only if the class is 'ian') - \ifdefined\ifianclass - \hrefanchor - % define tag (for \label) - \xdef\tag{\thepointcount-\thesubpointcount-\thesubsubpointcount} - \fi - \indent\hskip1cm{\bf \thepointcount-\thesubpointcount-\thesubsubpointcount\ - } -} - - -%% reset point counters -\def\resetpointcounter{ - \setcounter{pointcount}{0} - \setcounter{subpointcount}{0} - \setcounter{subsubpointcount}{0} -} - - - -%% end -\point@defaultoptions -\endinput diff --git a/docs/nstrophy_doc/nstrophy_doc.tex b/docs/nstrophy_doc/nstrophy_doc.tex deleted file mode 100644 index 54e802e..0000000 --- a/docs/nstrophy_doc/nstrophy_doc.tex +++ /dev/null @@ -1,336 +0,0 @@ -\documentclass{ian} - -\usepackage{largearray} - -\begin{document} - -\hbox{} -\hfil{\bf\LARGE -{\tt nstrophy} -} -\vfill - -\tableofcontents - -\vfill -\eject - -\setcounter{page}1 -\pagestyle{plain} - -\section{Description of the computation} -\subsection{Irreversible equation} -\indent Consider the incompressible Navier-Stokes equation in 2 dimensions -\begin{equation} - \partial_tU=\nu\Delta U+G-(U\cdot\nabla)U,\quad - \nabla\cdot U=0 - \label{ins} -\end{equation} -in which $G$ is the forcing term. -We take periodic boundary conditions, so, at every given time, $U(t,\cdot)$ is a function on the torus $\mathbb T^2:=\mathbb R^2/(L\mathbb Z)^2$. We represent $U(t,\cdot)$ using its Fourier series -\begin{equation} - \hat U_k(t):=\frac1{L^2}\int_{\mathbb T^2}dx\ e^{i\frac{2\pi}L kx}U(t,x) -\end{equation} -for $k\in\mathbb Z^2$, and rewrite~\-(\ref{ins}) as -\begin{equation} - \partial_t\hat U_k= - -\frac{4\pi^2}{L^2}\nu k^2\hat U_k+\hat G_k - -i\frac{2\pi}L\sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}} - (q\cdot\hat U_p)\hat U_q - ,\quad - k\cdot\hat U_k=0 - \label{ins_k} -\end{equation} -We then reduce the equation to a scalar one, by writing -\begin{equation} - \hat U_k=\frac{i2\pi k^\perp}{L|k|}\hat u_k\equiv\frac{i2\pi}{L|k|}(-k_y\hat u_k,k_x\hat u_k) - \label{udef} -\end{equation} -in terms of which, multiplying both sides of the equation by $\frac L{i2\pi}\frac{k^\perp}{|k|}$, -\begin{equation} - \partial_t\hat u_k= - -\frac{4\pi^2}{L^2}\nu k^2\hat u_k - +\hat g_k - +\frac{4\pi^2}{L^2|k|}\sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}} - \frac{(q\cdot p^\perp)(k^\perp\cdot q^\perp)}{|q||p|}\hat u_p\hat u_q - \label{ins_k} -\end{equation} -with -\begin{equation} - \hat g_k:=\frac{Lk^\perp}{2i\pi|k|}\cdot\hat G_k - . - \label{gdef} -\end{equation} -Furthermore -\begin{equation} - (q\cdot p^\perp)(k^\perp\cdot q^\perp) - = - (q\cdot p^\perp)(q^2+p\cdot q) -\end{equation} -and $q\cdot p^\perp$ is antisymmetric under exchange of $q$ and $p$. Therefore, -\begin{equation} - \partial_t\hat u_k= - -\frac{4\pi^2}{L^2}\nu k^2\hat u_k+\hat g_k - +\frac{4\pi^2}{L^2|k|}T(\hat u,k) - \label{ins_k} -\end{equation} -with -\begin{equation} - T(\hat u,k):= - \sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}} - \frac{(q\cdot p^\perp)|q|}{|p|}\hat u_p\hat u_q - . - \label{T} -\end{equation} -We truncate the Fourier modes and assume that $\hat u_k=0$ if $|k_1|>K_1$ or $|k_2|>K_2$. Let -\begin{equation} - \mathcal K:=\{(k_1,k_2),\ |k_1|\leqslant K_1,\ |k_2|\leqslant K_2\} - . -\end{equation} -\bigskip - -\point{\bf Reality}. -Since $U$ is real, $\hat U_{-k}=\hat U_k^*$, and so -\begin{equation} - \hat u_{-k}=\hat u_k^* - . - \label{realu} -\end{equation} -Similarly, -\begin{equation} - \hat g_{-k}=\hat g_k^* - . - \label{realg} -\end{equation} -Thus, -\begin{equation} - T(\hat u,-k) - = - T(\hat u,k)^* - . - \label{realT} -\end{equation} -\bigskip - -\point{\bf FFT}. We compute T using a fast Fourier transform, defined as -\begin{equation} - \mathcal F(f)(n):=\sum_{m\in\mathcal N}e^{-\frac{2i\pi}{N_1}m_1n_1-\frac{2i\pi}{N_2}m_2n_2}f(m_1,m_2) -\end{equation} -where -\begin{equation} - \mathcal N:=\{(n_1,n_2),\ 0\leqslant n_1< N_1,\ 0\leqslant n_2< N_2\} -\end{equation} -for some fixed $N_1,N_2$. The transform is inverted by -\begin{equation} - \frac1{N_1N_2}\mathcal F^*(\mathcal F(f))(n)=f(n) -\end{equation} -in which $\mathcal F^*$ is defined like $\mathcal F$ but with the opposite phase. -\bigskip - -\indent The condition $p+q=k$ can be rewritten as -\begin{equation} - T(\hat u,k) - = - \sum_{p,q\in\mathcal K} - \frac1{N_1N_2} - \sum_{n\in\mathcal N}e^{-\frac{2i\pi}{N_1}n_1(p_1+q_1-k_1)-\frac{2i\pi}{N_2}n_2(p_2+q_2-k_2)} - (q\cdot p^\perp)\frac{|q|}{|p|}\hat u_q\hat u_p -\end{equation} -provided -\begin{equation} - N_i>3K_i. -\end{equation} -Indeed, $\sum_{n_i=0}^{N_i}e^{-\frac{2i\pi}{N_i}n_im_i}$ vanishes unless $m_i=0\%N_i$ (in which $\%N_i$ means `modulo $N_i$'), and, if $p,q,k\in\mathcal K$, then $|p_i+q_i-k_i|\leqslant3K_i$, so, as long as $N_i>3K_i$, then $(p_i+q_i-k_i)=0\%N_i$ implies $p_i+q_i=k_i$. -Therefore, -\begin{equation} - T(\hat u,k) - = - \textstyle - \frac1{N_1N_2} - \mathcal F^*\left( - \mathcal F\left(\frac{p_x\hat u_p}{|p|}\right)(n) - \mathcal F\left(q_y|q|\hat u_q\right)(n) - - - \mathcal F\left(\frac{p_y\hat u_p}{|p|}\right)(n) - \mathcal F\left(q_x|q|\hat u_q\right)(n) - \right)(k) -\end{equation} -\bigskip - -\point{\bf Energy}. -We define the energy as -\begin{equation} - E(t)=\frac12\int\frac{dx}{L^2}\ U^2(t,x)=\frac12\sum_{k\in\mathbb Z^2}|\hat U_k|^2 - . -\end{equation} -We have -\begin{equation} - \partial_t E=\int\frac{dx}{L^2}\ U\partial tU - = - \nu\int\frac{dx}{L^2}\ U\Delta U - +\int\frac{dx}{L^2}\ UG - -\int\frac{dx}{L^2}\ U(U\cdot\nabla)U - . -\end{equation} -Since we have periodic boundary conditions, -\begin{equation} - \int dx\ U\Delta U=-\int dx\ |\nabla U|^2 - . -\end{equation} -Furthermore, -\begin{equation} - I:=\int dx\ U(U\cdot\nabla)U - =\sum_{i,j=1,2}\int dx\ U_iU_j\partial_jU_i - = - -\sum_{i,j=1,2}\int dx\ (\partial_jU_i)U_jU_i - -\sum_{i,j=1,2}\int dx\ U_i(\partial_jU_j)U_i -\end{equation} -and since $\nabla\cdot U=0$, -\begin{equation} - I - = - -I -\end{equation} -and so $I=0$. -Thus, -\begin{equation} - \partial_t E= - \int\frac{dx}{L^2}\ \left(-\nu|\nabla U|^2+UG\right) - = - \sum_{k\in\mathbb Z^2}\left(-\frac{4\pi^2}{L^2}\nu k^2|\hat U_k|^2+\hat U_{-k}\hat G_k\right) - . -\end{equation} -Furthermore, -\begin{equation} - \sum_{k\in\mathbb Z^2}k^2|\hat U_k|^2\geqslant - \sum_{k\in\mathbb Z^2}|\hat U_k|^2-|\hat U_0|^2 - =2E-|\hat U_0|^2 -\end{equation} -so -\begin{equation} - \partial_t E\leqslant -\frac{8\pi^2}{L^2}\nu E+\frac{4\pi^2}{L^2}\nu\hat U_0^2+\sum_{k\in\mathbb Z^2}\hat U_{-k}\hat G_k - \leqslant - -\frac{8\pi^2}{L^2}\nu E+\frac{4\pi^2}{L^2}\nu\hat U_0^2+ - \|\hat G\|_2\sqrt{2E} - . -\end{equation} -In particular, if $\hat U_0=0$ (which corresponds to keeping the center of mass fixed), -\begin{equation} - \partial_t E\leqslant -\frac{8\pi^2}{L^2}\nu E+\|\hat G\|_2\sqrt{2E} - . -\end{equation} -Now, if $\frac{8\pi^2}{L^2}\nu\sqrt E<\sqrt2\|\hat G\|_2$, then -\begin{equation} - \frac{\partial_t E}{-\frac{8\pi^2}{L^2}\nu E+\|\hat G\|_2\sqrt{2E}}\leqslant1 -\end{equation} -and so -\begin{equation} - \frac{\log(1-\frac{8\pi^2\nu}{L^2\sqrt2\|\hat G\|_2}\sqrt{E(t)})}{-\frac{4\pi^2}{L^2}\nu}\leqslant t+ - \frac{\log(1-\frac{8\pi^2\nu}{L^2\sqrt2\|\hat G\|_2}\sqrt{E(0)})}{-\frac{4\pi^2}{L^2}\nu} -\end{equation} -and -\begin{equation} - E(t) - \leqslant - \left( - \frac{L^2\sqrt2\|\hat G\|_2}{8\pi^2\nu}(1-e^{-\frac{4\pi^2}{L^2}\nu t}) - +e^{-\frac{4\pi^2}{L^2}\nu t}\sqrt{E(0)} - \right)^2 - . -\end{equation} -If $\frac{8\pi^2}{L^2}\nu\sqrt E>\sqrt2\|\hat G\|_2$, -\begin{equation} - \frac{\partial_t E}{-\frac{8\pi^2}{L^2}\nu E+\|\hat G\|_2\sqrt{2E}}\geqslant1 -\end{equation} -and so -\begin{equation} - \frac{\log(\frac{8\pi^2\nu}{L^2\sqrt2\|\hat G\|_2}\sqrt{E(t)}-1)}{-\frac{4\pi^2}{L^2}\nu}\geqslant t+ - \frac{\log(\frac{8\pi^2\nu}{L^2\sqrt2\|\hat G\|_2}\sqrt{E(0)})-1}{-\frac{4\pi^2}{L^2}\nu} -\end{equation} -and -\begin{equation} - E(t) - \leqslant - \left( - \frac{L^2\sqrt2\|\hat G\|_2}{8\pi^2\nu}(1-e^{-\frac{4\pi^2}{L^2}\nu t}) - +e^{-\frac{4\pi^2}{L^2}\nu t}\sqrt{E(0)} - \right)^2 - . -\end{equation} -\bigskip - -\point{\bf Enstrophy}. -The enstrophy is defined as -\begin{equation} - \mathcal En(t)=\int\frac{dx}{L^2}\ |\nabla U|^2 - =\frac{4\pi^2}{L^2}\sum_{k\in\mathbb Z^2}k^2|\hat U_k|^2 - . -\end{equation} -\bigskip - -\point{\bf Numerical instability}. -In order to prevent the algorithm from blowing up, it is necessary to impose the reality of $u(x)$ by hand, otherwise, truncation errors build up, and lead to divergences. -It is sufficient to ensure that the convolution term $T(\hat u,k)$ satisfies $T(\hat u,-k)=T(\hat u,k)^*$. -After imposing this condition, the algorithm no longer blows up, but it is still unstable (for instance, increasing $K_1$ or $K_2$ leads to very different results). - -\subsection{Reversible equation} -\indent The reversible equation is similar to\-~(\ref{ins}) but instead of fixing the viscosity, we fix the enstrophy\-~\cite{Ga22}. -It is defined directly in Fourier space: -\begin{equation} - \partial_t\hat U_k= - -\frac{4\pi^2}{L^2}\alpha(\hat U) k^2\hat U_k+\hat G_k - -i\frac{2\pi}L\sum_{\displaystyle\mathop{\scriptstyle p,q\in\mathbb Z^2}_{p+q=k}} - (q\cdot\hat U_p)\hat U_q - ,\quad - k\cdot\hat U_k=0 -\end{equation} -where $\alpha$ is chosen such that the enstrophy is constant. -In terms of $\hat u$\-~(\ref{udef}), (\ref{gdef}), (\ref{T}): -\begin{equation} - \partial_t\hat u_k= - -\frac{4\pi^2}{L^2}\alpha(\hat u) k^2\hat u_k - +\hat g_k - +\frac{4\pi^2}{L^2|k|}T(\hat u,k) - . - \label{rns_k} -\end{equation} -To compute $\alpha$, we use the constancy of the enstrophy: -\begin{equation} - \sum_{k\in\mathbb Z^2}k^2\hat U_k\cdot\partial_t\hat U_k - =0 -\end{equation} -which, in terms of $\hat u$ is -\begin{equation} - \sum_{k\in\mathbb Z^2}k^2\hat u_k^*\partial_t\hat u_k - =0 -\end{equation} -that is -\begin{equation} - \frac{4\pi^2}{L^2}\alpha(\hat u)\sum_{k\in\mathbb Z^2}k^4|\hat u_k|^2 - = - \sum_{k\in\mathbb Z^2}k^2\hat u_k^*\hat g_k - +\frac{4\pi^2}{L^2}\sum_{k\in\mathbb Z^2}|k|\hat u_k^*T(\hat u,k) -\end{equation} -and so -\begin{equation} - \alpha(\hat u) - =\frac{\frac{L^2}{4\pi^2}\sum_k k^2\hat u_k^*\hat g_k+\sum_k|k|\hat u_k^*T(\hat u,k)}{\sum_kk^4|\hat u_k|^2} - . -\end{equation} -Note that, by\-~(\ref{realu})-(\ref{realT}), -\begin{equation} - \alpha(\hat u)\in\mathbb R - . -\end{equation} - - - -\vfill -\eject - -\begin{thebibliography}{WWW99} -\small -\IfFileExists{bibliography/bibliography.tex}{\input bibliography/bibliography.tex}{} -\end{thebibliography} - -\end{document} |