]> https://gitweb.dealii.org/ - release-papers.git/commitdiff
initial version of 8.4 paper
authorTimo Heister <timo.heister@gmail.com>
Wed, 24 Feb 2016 17:17:22 +0000 (12:17 -0500)
committerTimo Heister <timo.heister@gmail.com>
Wed, 24 Feb 2016 17:17:22 +0000 (12:17 -0500)
ansarticle-preprint.cls [new file with mode: 0644]
anslistings.sty [new file with mode: 0644]
deal84.bib [new file with mode: 0644]
deal84.tex [new file with mode: 0644]

diff --git a/ansarticle-preprint.cls b/ansarticle-preprint.cls
new file mode 100644 (file)
index 0000000..da94dde
--- /dev/null
@@ -0,0 +1,149 @@
+% $Id: ansarticle.cls 2730 2011-06-03 09:53:18Z logg $
+
+% FIXME: (AL) Need to choose a license for this style, I suggest GFDL
+
+% Basic setup
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{ansarticle-preprint}
+\LoadClass[twoside,a4paper]{article}
+
+% Load packages
+\RequirePackage{a4wide}
+\RequirePackage{anslistings}
+\RequirePackage{algorithm,algorithmicx,algpseudocode}
+\RequirePackage{amsmath,amssymb}
+\RequirePackage[noblocks]{authblk}
+\RequirePackage{booktabs}
+\RequirePackage{fancyhdr}
+\RequirePackage{graphicx}
+\RequirePackage[hyperfootnotes=false,colorlinks,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref}
+\RequirePackage{natbib}
+
+\RequirePackage{lastpage}
+\RequirePackage{listings}
+\RequirePackage[colorinlistoftodos,textwidth=4cm,shadow]{todonotes}
+
+
+% Font selection
+\RequirePackage[T1]{fontenc}
+\RequirePackage{ae,aecompl}
+\RequirePackage{pxfonts}        % Palatino for running text and math
+\renewcommand{\sfdefault}{pag}  % Avantgarde for sans serif (section headings)
+
+% Section headings
+\renewcommand{\section}{%
+  \@startsection{section}{0}{0pt}{2ex}{1ex}{\large\bf\sffamily}}
+\renewcommand{\subsection}{%
+  \@startsection{subsection}{1}{0pt}{\baselineskip}{.5ex}{\bf\sffamily}}
+\renewcommand{\subsubsection}{%
+  \@startsection{subsubsection}{2}{0pt}{\baselineskip}{-1em}{\bf\sffamily}}
+\renewcommand{\paragraph}{%
+  \@startsection{paragraph}{3}{0pt}{0ex}{-0.5em}{\bf\sffamily}}
+\renewcommand{\subparagraph}{%
+  \@startsection{subparagraph}{4}{0pt}{0ex}{-0.5em}{\bf\sffamily}}
+\setcounter{secnumdepth}{10}
+
+% Paragraphs
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{1ex plus 2ex}
+
+% Running title and author
+\let\@runningtitle\@empty
+\let\@runningauthor\@empty
+\newcommand{\runningtitle}[1]{\gdef\@runningtitle{#1}}
+\newcommand{\runningauthor}[1]{\gdef\@runningauthor{#1}}
+
+% Formatting volume and article number
+\newread\datafile
+\openin\datafile=ansinfo
+\ifeof\datafile
+\message{File datafile.tex with volume, number, and year is missing}
+\def\ANSreceived{never}
+\def\ANSrevised{never}
+\def\ANSaccepted{never}
+\def\ANSpublished{never}
+\def\ANSvolume{VV}
+\def\ANSnumber{NN}
+\def\ANSyear{}
+\else
+\closein\datafile
+\input{ansinfo}
+\fi
+
+% Page headers and footers
+\fancyhead[RO, LE]{\thepage}
+\fancyhead[LO]{\@runningtitle}
+\fancyhead[RE]{\@runningauthor}
+\fancyfoot[RE,LO]{%
+  %\footnotesize \copyright{} by the authors, \ANSyear
+  }
+\fancyfoot[RO,LE]{%
+  %\footnotesize Archive of Numerical Software \ANSvolume(\ANSnumber), \ANSyear
+  }
+\fancyfoot[C]{}
+\renewcommand{\headrulewidth}{0pt}
+\pagestyle{fancy}
+
+% Front matter
+\renewcommand*{\title}[2][]{\gdef\s@title{#1}\gdef\@title{#2}}
+\renewcommand{\Authfont}{\large\sffamily}
+\renewcommand{\Affilfont}{\normalsize\sffamily}
+\renewcommand{\maketitle}{
+  % Footnote stuff
+  \let\footnotesize\small
+  \def\footnoterule{\vspace*{-3pt}\rule{.4\columnwidth}{.4pt}\vspace*{2.6pt}}
+  \renewcommand\thefootnote{\sffamily\@fnsymbol\c@footnote}
+  \let\footnote\thanks
+  % Title
+%   \hfill\fboxrule2pt\fboxsep3mm\fbox{\parbox{5cm}{\centering
+%         Archive of Numerical Software\\
+%         vol. \ANSvolume, no. \ANSnumber, pages 1--\pageref*{LastPage}\\
+%         \copyright{} \ANSyear}}
+  \vskip 60\p@
+  \begin{center}
+    {\LARGE \textsf{\textbf{\@title}} \par}
+    \vskip 8mm
+    {\large \lineskip .75em \textsf{\@author} }
+    \vskip 4mm
+  \end{center}\par
+  % Affiliation stuff
+  \@thanks
+  % Paper received
+  \vskip 3mm
+%   \textbf{\sffamily Received: }\ANSreceived;
+%   \textbf{\sffamily final revision:} \ANSrevised;
+%   \textbf{\sffamily published:} \ANSpublished.
+%   % Some more fixes
+  \vskip 3mm
+  \setcounter{footnote}{0}%
+  \global\let\thanks\relax
+  \global\let\maketitle\relax
+  \global\let\@thanks\@empty
+  \global\let\@author\@empty
+  \global\let\@date\@empty
+  \global\let\@title\@empty
+  \global\let\title\relax
+  \global\let\author\relax
+  \global\let\date\relax
+  \global\let\and\relax
+  % No headers/footers on front page
+  \thispagestyle{empty}
+}
+
+% Abstract heading
+\renewenvironment{abstract}{\textsf{\textbf{Abstract: }}}{}
+
+% Useful macro
+\newcommand{\fixme}[1]{\todo[inline, color=red!40]{#1}}
+
+% Some useful notation macros
+\newcommand{\R}{\mathbb{R}}
+\newcommand{\dx}{\,\mathrm{d}x}
+\newcommand{\dX}{\,\mathrm{d}X}
+\newcommand{\ds}{\,\mathrm{d}s}
+\newcommand{\dS}{\,\mathrm{d}S}
+\newcommand{\dt}{\,\mathrm{d}t}
+\newcommand{\inner}[2]{\langle #1, #2 \rangle}
+\newcommand{\nedelec}{N\'ed\'elec}
+\newcommand{\babuska}{Babu\v{s}ka}
+\newcommand{\emp}[1]{\texttt{#1}}
diff --git a/anslistings.sty b/anslistings.sty
new file mode 100644 (file)
index 0000000..030301c
--- /dev/null
@@ -0,0 +1,442 @@
+%% Listings environments for Archive of Numerical Software.
+%%
+%% The following listings environments are provided:
+%%
+%% c++        for C++ code
+%% python     for Python code
+%% cython     for Cython code
+%% xml        for XML code
+%% bash       for BASH code
+%% swigcode   for SWIG code
+%% uflcode    for UFL code
+%% matlab     for MATLAB code
+%% anycode    for generic code
+%% progoutput for program output
+%% gencode    for generated code
+%% latexcode  for LaTeX code
+%% fortran    for FORTRAN code
+%%
+%% This style file is based on original work by Olivier Verdier
+%% <olivier.verdier@math.ntnu.no> (pythonhighlight.sty),
+%% with contributions from Johan Hake <johan.hake@gmail.com>.
+%%
+%% Modified for ANS by Anders Logg <logg@simula.no>, 2011.
+%%
+%% Modified by Hans Petter Langtangen <hpl@simula.no>, 2011, to
+%% have pairs c++ (with C++ title) and c++:nt (no title),
+%% python and python:nt, etc. (It is not always desirable to
+%% have a title with the language.) Added Cython and Fortran style.
+%%
+%% First added:   2011-05-16
+%% Last modified: 2011-06-03
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{anslistings}[2009/03/28 code highlighting; provided by Olivier Verdier <olivier@maths.lth.se>]
+
+% Load required packages
+\RequirePackage{listings}
+\RequirePackage{xcolor}
+
+% Basic setup
+\renewcommand{\lstlistlistingname}{Code Listings}
+\renewcommand{\lstlistingname}{Code Listing}
+\newcommand{\codetitlestyle}[1]{\hspace{9cm}\small\textit{#1}\hspace{0.1cm}}
+%\newcommand{\codetitlestyle}[1]{\small\textit{#1}\hspace{0.1cm}}
+\newcommand{\belowtitleskip}{2pt}
+\newcommand{\captionposition}{t}
+\newcommand{\framemargin}{0.5ex}
+\newcommand{\literatecolour}{\textcolor{literatecolour}}
+
+% Colors
+\definecolor{gray}{gray}{0.5}
+\colorlet{commentcolour}{green!50!black}
+\colorlet{stringcolour}{red!60!black}
+\colorlet{keywordcolour}{magenta!90!black}
+\colorlet{exceptioncolour}{yellow!50!red}
+\colorlet{commandcolour}{blue!60!black}
+\colorlet{numpycolour}{blue!60!green}
+\colorlet{literatecolour}{magenta!90!black}
+\colorlet{promptcolour}{green!50!black}
+\colorlet{specmethodcolour}{violet}
+\colorlet{indendifiercolour}{green!70!white}
+
+% Define the common style to be shared by all languages
+\lstdefinestyle{c@mmon}{%
+showtabs=true,                       % show tabs in strings using underscore
+tab=,
+tabsize=2,                           % tab means 2 spaces
+basicstyle=\ttfamily\footnotesize,   % fonts used for the code
+breaklines=true,                     % break lines
+breakatwhitespace=true,              % let linebreaks happen at whitespace
+showspaces=false,                    % true: show spaces with a particular underscore
+aboveskip=1ex,
+frame=trbl,                          % top+right+bottom+left (TB draws double lines at top + bottom)
+%framerule=0.4pt                     % thickness of frame
+rulecolor=\color{black},             % frame color
+backgroundcolor=\color{yellow!10},
+xleftmargin=5pt,
+xrightmargin=5pt,
+%numbers=left,                       % put line numbers on the left
+%stepnumber=2,                       % stepnumber=1 numbers each line, =n every n lines
+}
+\lstset{style=c@mmon}
+
+%--- Typesetting LaTeX ---
+\lstnewenvironment{latexcode}{\lstset{language=[LaTeX]TeX,style=c@mmon}}{}
+\newcommand{\inputlatex}[1]{\lstset{language=[LaTeX]TeX,style=c@mmon}%
+  \lstinputlisting{#1}}
+\lstnewenvironment{latexcode:nt}{\lstset{language=[LaTeX]TeX,style=c@mmon}}{}
+
+%--- C++ ---
+
+\lstdefinestyle{cppstyle}{
+language=c++,
+style=c@mmon,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+keywordstyle=\color{keywordcolour}\bfseries,
+emph={auto,const,struct,%
+break,continue,else,for,switch,void,%
+case,default,enum,goto,register,sizeof,typedef,%
+char,do,extern,if,return,static,union,while,%
+asm,dynamic_cast,namespace,reinterpret_cast,try,%
+bool,explicit,new,static_cast,typeid,volatile,%
+catch,operator,template,typename,%
+class,friend,private,this,using,%
+const_cast,inline,public,throw,virtual,%
+delete,mutable,protected,wchar_t,%
+or,and,xor,not,assert},
+emphstyle=\color{blue}\bfseries,
+emph={[2]true, false, NULL},
+emphstyle=[2]\color{keywordcolour},
+emph={[3]double,float,int,short,unsigned,long,signed},
+emphstyle=[3]\color{blue},
+emph={[4]1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+emph={[4]cos,sin,tan,acos,asin,atan,atan2,cosh,sinh,tanh,%
+exp,frexp,ldexp,log,log10,modf,pow,sqrt,ceil,fabs,floor,fmod},
+emphstyle=[4]\color{numpycolour},
+literate=*%
+{:}{{\literatecolour:}}{1}%
+{=}{{\literatecolour=}}{1}%
+{-}{{\literatecolour-}}{1}%
+{+}{{\literatecolour+}}{1}%
+{*}{{\literatecolour*}}{1}%
+{!}{{\literatecolour!}}{1}%
+{[}{{\literatecolour[}}{1}%
+{]}{{\literatecolour]}}{1}%
+{<}{{\literatecolour<}}{1}%
+{>}{{\literatecolour>}}{1}%
+{>>>}{{\textcolor{promptcolour}{>>>}}}{1}%
+,%
+commentstyle=\color{commentcolour}\slshape,
+morecomment=[l][commentstyle]{//},
+morecomment=[s][commentstyle]{/*}{*/},
+morestring=[b][stringstyle]",
+morestring=[d][stringstyle]'
+}
+
+\newcommand{\inputcpp}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{C++ code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{c++}[1][]{\lstset{style=cppstyle, title={\codetitlestyle{C++ code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{c++:nt}[1][]{\lstset{style=cppstyle}}{}
+\newcommand{\cppinline}{\lstinline[style=cppstyle,basicstyle=\ttfamily]}
+
+%--- Python and Cython ---
+
+ \lstdefinestyle{pythonstyle}{
+ language=python,
+ showtabs=true,
+ tab=,
+ tabsize=2,
+ basicstyle=\ttfamily\footnotesize,
+ stringstyle=\color{stringcolour},
+ showstringspaces=false,
+ alsoletter={1234567890},
+ otherkeywords={\ , \}, \{, \%, \&, \|},
+ keywordstyle=\color{keywordcolour}\bfseries,
+ emph={and,break,class,continue,def,yield,del,elif ,else,%
+ except,exec,finally,for,from,global,if,import,in,%
+ lambda,not,or,pass,print,raise,return,try,while,assert},
+ emphstyle=\color{blue}\bfseries,
+ emph={[2]True, False, None},
+ emphstyle=[2]\color{keywordcolour},
+ emph={[3]object,type,isinstance,copy,deepcopy,zip,enumerate,reversed,list,len,dict,tuple,xrange,append,execfile,real,imag,reduce,str,repr},
+ emphstyle=[3]\color{commandcolour},
+ emph={Exception,NameError,IndexError,SyntaxError,TypeError,ValueError,OverflowError,ZeroDivisionError},
+ emphstyle=\color{exceptioncolour}\bfseries,
+ commentstyle=\color{commentcolour}\slshape,
+ emph={[4]ode, fsolve, sqrt, exp, sin, cos, arccos, pi,  array, norm, solve, dot, arange, , isscalar, max, sum, flatten, shape, reshape, find, any, all, abs, plot, linspace, legend, quad, polyval,polyfit, hstack, concatenate,vstack,column_stack,empty,zeros,ones,rand,vander,grid,pcolor,eig,eigs,eigvals,svd,qr,tan,det,logspace,roll,min,mean,cumsum,cumprod,diff,vectorize,lstsq,cla,eye,xlabel,ylabel,squeeze},
+ emphstyle=[4]\color{numpycolour},
+ emph={[5]__init__,__add__,__mul__,__div__,__sub__,__call__,__getitem__,__setitem__,__eq__,__ne__,__nonzero__,__rmul__,__radd__,__repr__,__str__,__get__,__truediv__,__pow__,__name__,__future__,__all__},
+ emphstyle=[5]\color{specmethodcolour},
+ emph={[6]assert,range,yield},
+ emphstyle=[6]\color{keywordcolour}\bfseries,
+ literate=*%
+ {:}{{\literatecolour:}}{1}%
+ {=}{{\literatecolour=}}{1}%
+ {-}{{\literatecolour-}}{1}%
+ {+}{{\literatecolour+}}{1}%
+ {*}{{\literatecolour*}}{1}%
+ {/}{{\literatecolour/}}{1}%
+ {!}{{\literatecolour!}}{1}%
+ {[}{{\literatecolour[}}{1}%
+ {]}{{\literatecolour]}}{1}%
+ {<}{{\literatecolour<}}{1}%
+ {>}{{\literatecolour>}}{1}%
+ {>>>}{{\textcolor{promptcolour}{>>>}}}{1}%
+ ,%
+ breaklines=true,
+ breakatwhitespace= true,
+ aboveskip=1ex,
+ frame=trbl,
+ framesep=.3ex,
+ rulecolor=\color{black!40},
+ backgroundcolor=\color{yellow!10}
+}
+
+
+ \lstdefinestyle{cythonstyle}{
+ language=cython,
+ showtabs=true,
+ tab=,
+ tabsize=2,
+ basicstyle=\ttfamily\footnotesize,
+ stringstyle=\color{stringcolour},
+ showstringspaces=false,
+ alsoletter={1234567890},
+ otherkeywords={\ , \}, \{, \%, \&, \|},
+ keywordstyle=\color{keywordcolour}\bfseries,
+ emph={and,break,class,continue,def,cdef,cpdef,yield,del,elif ,else,%
+ except,exec,finally,for,from,global,if,import,in,%
+ lambda,not,or,pass,print,raise,return,try,while,assert,cdef,cpdef},
+ emphstyle=\color{blue}\bfseries,
+ emph={[2]True, False, None},
+ emphstyle=[2]\color{keywordcolour},
+ emph={[3]object,type,isinstance,copy,deepcopy,zip,enumerate,reversed,list,len,dict,tuple,xrange,append,execfile,real,imag,reduce,str,repr,float,int,ndarray,complex,double},
+ emphstyle=[3]\color{commandcolour},
+ emph={Exception,NameError,IndexError,SyntaxError,TypeError,ValueError,OverflowError,ZeroDivisionError},
+ emphstyle=\color{exceptioncolour}\bfseries,
+ commentstyle=\color{commentcolour}\slshape,
+ emph={[4]ode, fsolve, sqrt, exp, sin, cos, arccos, pi,  array, norm, solve, dot, arange, , isscalar, max, sum, flatten, shape, reshape, find, any, all, abs, plot, linspace, legend, quad, polyval,polyfit, hstack, concatenate,vstack,column_stack,empty,zeros,ones,rand,vander,grid,pcolor,eig,eigs,eigvals,svd,qr,tan,det,logspace,roll,min,mean,cumsum,cumprod,diff,vectorize,lstsq,cla,eye,xlabel,ylabel,squeeze},
+ emphstyle=[4]\color{numpycolour},
+ emph={[5]__init__,__add__,__mul__,__div__,__sub__,__call__,__getitem__,__setitem__,__eq__,__ne__,__nonzero__,__rmul__,__radd__,__repr__,__str__,__get__,__truediv__,__pow__,__name__,__future__,__all__},
+ emphstyle=[5]\color{specmethodcolour},
+ emph={[6]assert,range,yield},
+ emphstyle=[6]\color{keywordcolour}\bfseries,
+ literate=*%
+ {:}{{\literatecolour:}}{1}%
+ {=}{{\literatecolour=}}{1}%
+ {-}{{\literatecolour-}}{1}%
+ {+}{{\literatecolour+}}{1}%
+ {*}{{\literatecolour*}}{1}%
+ {/}{{\literatecolour/}}{1}%
+ {!}{{\literatecolour!}}{1}%
+ {[}{{\literatecolour[}}{1}%
+ {]}{{\literatecolour]}}{1}%
+ {<}{{\literatecolour<}}{1}%
+ {>}{{\literatecolour>}}{1}%
+ {>>>}{{\textcolor{promptcolour}{>>>}}}{1}%
+ ,%
+ breaklines=true,
+ breakatwhitespace= true,
+ aboveskip=1ex,
+ frame=trbl,
+ framesep=.3ex,
+ rulecolor=\color{black!40},
+ backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputpython}[1]{\lstinputlisting[style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{python}[1][]{\lstset{style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip}}{}
+%\lstnewenvironment{python}[1][]{\lstset{style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{python:nt}[1][]{\lstset{style=pythonstyle}}{}
+\newcommand{\pythoninline}{\lstinline[style=pythonstyle,basicstyle=\ttfamily]}
+
+
+\newcommand{\inputcython}[1]{\lstinputlisting[style=cythonstyle,title={\codetitlestyle{Cython code }},belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{cython}[1][]{\lstset{style=cythonstyle,title={\codetitlestyle{Cython code }},belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{cython:nt}[1][]{\lstset{style=cythonstyle}}{}
+\newcommand{\cythoninline}{\lstinline[style=cythonstyle,basicstyle=\ttfamily]}
+
+%--- FORTRAN ---
+
+% Note: this is basically FORTRAN 77, not 90, 95, 2003/2008.
+\lstdefinestyle{fortranstyle}{
+language=fortran,
+style=c@mmon,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+keywordstyle=\color{keywordcolour}\bfseries,
+emph={auto,do,while,if,else,end,endif,enddo,%
+subroutine,function,format,program},
+emphstyle=\color{blue}\bfseries,
+emphstyle=[2]\color{keywordcolour},
+emph={[3]double,real,precision,integer,logical},
+emphstyle=[3]\color{blue},
+emph={[4]1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+emph={[4]cos,sin,tan,acos,asin,atan,atan2,cosh,sinh,tanh,%
+exp,frexp,ldexp,log,log10,modf,pow,sqrt,ceil,fabs,floor,fmod},
+emphstyle=[4]\color{numpycolour},
+literate=*%
+{:}{{\literatecolour:}}{1}%
+{=}{{\literatecolour=}}{1}%
+{-}{{\literatecolour-}}{1}%
+{+}{{\literatecolour+}}{1}%
+{*}{{\literatecolour*}}{1}%
+{!}{{\literatecolour!}}{1}%
+{[}{{\literatecolour[}}{1}%
+{]}{{\literatecolour]}}{1}%
+{<}{{\literatecolour<}}{1}%
+{>}{{\literatecolour>}}{1}%
+,%
+commentstyle=\color{commentcolour}\slshape,
+morecomment=[l][commentstyle]{C},  % need ! as well for F90
+morestring=[b][stringstyle]",
+morestring=[d][stringstyle]'
+}
+
+\newcommand{\inputfortran}[1]{\lstinputlisting[style=fortranstyle, title={\codetitlestyle{FORTRAN code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{fortran}[1][]{\lstset{style=fortranstyle, title={\codetitlestyle{FORTRAN code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{fortran:nt}[1][]{\lstset{style=fortranstyle}}{}
+\newcommand{\fortraninline}{\lstinline[style=fortranstyle,basicstyle=\ttfamily]}
+
+
+%--- XML ---
+
+\lstdefinestyle{xmlstyle}{
+language=xml,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputxml}[1]{\lstinputlisting[style=xmlstyle, title={\codetitlestyle{XML code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{xml}[1][]{\lstset{style=xmlstyle, title={\codetitlestyle{XML code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{xml:nt}[1][]{\lstset{style=xmlstyle}}{}
+
+%--- Typesetting Bash ---
+
+\lstdefinestyle{bashstyle}{
+language=bash,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+otherkeywords={\ , \}, \{, \%, \&, \|},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputbash}[1]{\lstinputlisting[style=bashstyle, title={\codetitlestyle{Bash code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{bash}[1][]{\lstset{style=bashstyle, title={\codetitlestyle{Bash code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{bash:nt}[1][]{\lstset{style=bashstyle}}{}
+\lstnewenvironment{csh}[1][]{\lstset{style=bashstyle, title={\codetitlestyle{Csh code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{csh:nt}[1][]{\lstset{style=bashstyle}}{}
+
+%--- SWIG ---
+
+\newcommand{\inputswig}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{SWIG code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{swigcode}[1][]{\lstset{style=cppstyle, title={\codetitlestyle{SWIG code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{swigcode:nt}[1][]{\lstset{style=cppstyle}}{}
+
+%--- UFL ---
+
+\newcommand{\inputufl}[1]{\lstinputlisting[style=pythonstyle, title={\codetitlestyle{UFL code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{uflcode}[1][]{\lstset{style=pythonstyle, title={\codetitlestyle{UFL code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{uflcode:nt}[1][]{\lstset{style=pythonstyle}}{}
+
+%--- MATLAB ---
+
+% Note: problem with too large width of frame
+\lstnewenvironment{matlab}[1][]{
+\lstset{
+language=matlab,
+basicstyle=\ttfamily\small,
+backgroundcolor=\color{yellow!10}
+frame=trbl,
+rulecolor=\color{black!40},
+emphstyle=\color{blue},
+commentstyle=\color{commentcolour}\slshape,
+keywordstyle=\color{keywordcolour}\bfseries,
+}}{}
+
+%--- Other ---
+
+\lstdefinestyle{anycodestyle}{
+language=bash,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputanycode}[1]{\lstinputlisting[style=anycodestyle, title={\codetitlestyle{Code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{anycode}[1][]{\lstset{style=anycodestyle, title={\codetitlestyle{Code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{anycode:nt}[1][]{\lstset{style=anycodestyle}}{}
+
+%--- Output from running programs ---
+
+\lstnewenvironment{progoutput}[1][]{\lstset{style=gencodestyle, title={\codetitlestyle{Output}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{progoutput:nt}[1][]{\lstset{style=gencodestyle}}{}
+
+%--- Generated code ---
+
+\lstdefinestyle{gencodestyle}{
+language=bash,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputgencode}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{Generated code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{gencode}[1][]{\lstset{style=gencodestyle, title={\codetitlestyle{Generated code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{gencode:nt}[1][]{\lstset{style=gencodestyle}}{}
diff --git a/deal84.bib b/deal84.bib
new file mode 100644 (file)
index 0000000..51b4123
--- /dev/null
@@ -0,0 +1,480 @@
+%% do not edit this file, edit in the deal.II main repository, copy here, but
+%% keep this note in here for the next one.
+
+%% The deal.II paper
+
+@Article{BangerthHartmannKanschat2007,
+  title = {deal.{II} --- a General Purpose Object Oriented Finite Element Library},
+  author = {Bangerth, W. and Hartmann, R. and Kanschat, G.},
+  journal = {{ACM} Trans. Math. Softw.},
+  volume = {33},
+  number = {4},
+  year = {2007},
+  doi = {10.1145/1268776.1268779}
+}
+
+@article{dealII80,
+  title = {The \texttt{deal.II} Library, Version 8.0},
+  author = {W. Bangerth and T. Heister and L. Heltai and G. Kanschat
+   and M. Kronbichler and M. Maier and B. Turcksin and T. D. Young},
+  journal = {arXiv preprint \url{http://arxiv.org/abs/1312.2266v3}},
+  year = {2013},
+}
+
+@article{dealII81,
+  title = {The \texttt{deal.II} Library, Version 8.1},
+  author = {W. Bangerth and T. Heister and L. Heltai and G. Kanschat
+   and M. Kronbichler and M. Maier and B. Turcksin and T. D. Young},
+  journal = {arXiv preprint \url{http://arxiv.org/abs/1312.2266v4}},
+  year = {2013},
+}
+
+@article{dealII82,
+  title = {The \texttt{deal.II} Library, Version 8.2},
+  author = {W. Bangerth and T. Heister and L. Heltai
+            and G. Kanschat and M. Kronbichler
+            and M. Maier and B. Turcksin
+            and T. D. Young},
+  journal = {Archive of Numerical Software},
+  volume = 3,
+  year = {2015},
+}
+
+@article{dealII83,
+  title = {The \texttt{deal.II} Library, Version 8.3},
+  author = {W. Bangerth and T. Heister and L. Heltai
+            and G. Kanschat and M. Kronbichler
+            and M. Maier and B. Turcksin},
+  journal = {Archive of Numerical Software},
+  year = {2016},
+}
+
+
+%% The deal.II web page and online reference.
+%% Please cite specific versions only if you really need to
+
+@Manual{DealIIReference,
+  title =        {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+                  Technical Reference},
+  author =       {W. Bangerth and T. Heister and G. Kanschat},
+  note =         {\texttt{http://www.dealii.org}},
+  url =          {http://www.dealii.org}
+}
+
+@Manual{DealIIReference600,
+  title =        {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+                  Technical Reference},
+  author =       {W. Bangerth and G. Kanschat},
+  note =         {\texttt{http://www.dealii.org}},
+  url =          {http://www.dealii.org/6.0.0},
+  year = 2007
+}
+
+@Manual{DealIIReference610,
+  title =        {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+                  Technical Reference},
+  author =       {W. Bangerth and G. Kanschat},
+  note =         {\texttt{http://www.dealii.org}},
+  url =          {http://www.dealii.org/6.1.0},
+  year = 2008
+}
+
+@Manual{DealIIReference621,
+  title =        {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+                  Technical Reference},
+  author =       {W. Bangerth and G. Kanschat},
+  note =         {\texttt{http://www.dealii.org}},
+  url =          {http://www.dealii.org/6.2.1},
+  year = 2009
+}
+
+@Manual{DealIIReference631,
+  title =        {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+                  Technical Reference},
+  author =       {W. Bangerth and G. Kanschat},
+  note =         {\texttt{http://www.dealii.org}},
+  url =          {http://www.dealii.org/6.3.1},
+  year = 2010
+}
+
+@Manual{DealIIReference700,
+  title =        {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+                  Technical Reference},
+  author =       {W. Bangerth and G. Kanschat},
+  note =         {\texttt{http://www.dealii.org}},
+  url =          {http://www.dealii.org/7.0.0},
+  year = 2011
+}
+
+@Manual{DealIIReference710,
+  title =        {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+                  Technical Reference},
+  author =       {W. Bangerth and G. Kanschat},
+  note =         {\texttt{http://www.dealii.org}},
+  url =          {http://www.dealii.org/7.1.0},
+  year = 2011
+}
+
+%% Additional papers on deal.II and special aspects
+
+@TechReport{BangerthKanschat1999,
+  title = {Concepts for Object-Oriented Finite Element Software -- the \texttt{deal.II} library},
+  address = {Heidelberg},
+  author = {Bangerth, W. and Kanschat, G.},
+  institution = {SFB~359},
+  number = {1999-43},
+  type = {Preprint},
+  year = {1999},
+  url = {http://www.dealii.org/developer/reports/deal-paper.pdf}
+}
+
+@Article{BangerthKayserHerold2007,
+  author =       {W. Bangerth and O. Kayser-Herold},
+  title =        {Data Structures and Requirements for $hp$ Finite Element
+                  Software},
+  journal =      {ACM Trans. Math. Softw.},
+  year =         2009,
+  volume =       36,
+  number =       1,
+  pages =        {4/1--4/31}
+}
+
+@Article{JanssenKanschat2011,
+  author =       {Janssen, B. and Kanschat, G.},
+  title =        {Adaptive multilevel methods with local smoothing for
+                  {${H}^1$}- and {$H^{\text{curl}}$}-conforming high order
+                  finite element methods},
+  journal =      {SIAM J. Sci. Comput.},
+  year =         2011,
+  volume =       33,
+  number =       4,
+  pages =        {2095--2114},
+  doi = {10.1137/090778523}
+}
+
+@Article{Kanschat2004,
+  title = {Multi-level methods for discontinuous {G}alerkin {FEM} on locally refined meshes},
+  author = {Kanschat, G.},
+  journal = {Comput. \& Struct.},
+  number = {28},
+  pages = {2437--2445},
+  volume = {82},
+  year = {2004},
+  doi = {10.1016/j.compstruc.2004.04.015}
+}
+
+@Article{BangerthBursteddeHeisterKronbichler11,
+  author =       {W. Bangerth and C. Burstedde and T. Heister
+                  and M. Kronbichler},
+  title =        {Algorithms and data structures for massively parallel generic
+  adaptive finite element codes},
+  journal =      {ACM Trans. Math. Softw.},
+  year =         2011,
+  volume =       38,
+  pages =        {14/1--28}}
+
+
+@Article{KronbichlerKormann2012,
+  author =       {M. Kronbichler and K. Kormann},
+  title =        {A generic interface for parallel cell-based finite element operator application},
+  journal =      {Comput. Fluids},
+  year =         2012,
+  volume =       63,
+  pages =        {135--147}}
+
+
+@techreport{DeSimoneHeltaiManigrasso2009,
+        Author = {A. DeSimone and L. Heltai and C. Manigrasso},
+        Institution = {SISSA},
+        Number = {42/2009/M},
+        Title = {Tools for the Solution of {PDEs} Defined on Curved Manifolds with deal.{II}},
+        Year = {2009}}
+
+@techreport{HeltaiMola2015, 
+        Author = {L. Heltai and A. Mola}, 
+        Institution = {SISSA},
+        Title = {{Towards the Integration of CAD and FEM using open source libraries: a
+Collection of deal.II Manifold Wrappers for the OpenCASCADE Library}}, 
+        Year = 2015, 
+        Note = {Submitted}}
+
+@article{trilinos64,
+  author    = {C. Jhurani and
+               T. M. Austin and
+               M. A. Heroux and
+               J. M. Willenbring},
+  title     = {Supporting 64-bit global indices in {E}petra and other {T}rilinos
+               packages -- {T}echniques used and lessons learned},
+  journal   = {arXiv},
+  volume    = {1307.6638},
+  year      = {2013},
+  ee        = {http://arxiv.org/abs/1307.6638},
+  bibsource = {DBLP, http://dblp.uni-trier.de}
+}
+
+
+@Article{BH13,
+  author =       {Wolfgang Bangerth and Timo Heister},
+  title =        {What makes computational open source software libraries successful?},
+  journal =      {Computational Science \& Discovery},
+  year =         2013,
+  volume =       6,
+  pages =        {015010/1--18}}
+
+
+@Article{FHB13,
+  author =       {J. Frohne and T. Heister and W. Bangerth},
+  title =        {Efficient numerical methods for the large-scale, parallel 
+                  solution of elastoplastic contact problems},
+  journal =      {submitted},
+  year =         2013}
+
+@Article{TKB13,
+  author =       {B. Turcksin and M. Kronbichler and W. Bangerth},
+  title =        {\textit{WorkStream} -- a design pattern for multicore-enabled finite element computations},
+  journal =      {submitted},
+  year =         2013}
+
+@Misc{cpp11,
+  key =          {C++11},
+  author =       {International Standards Organization},
+  title =        {{ISO/IEC} 14882:2011: The {C}++11 Programming Language Standard},
+  howpublished = {\url{http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372}},
+  year =         2011}
+
+@Article{trilinos,
+  author =       {M. A. Heroux and R. A. Bartlett and V. E. Howle and R. J. Hoekstra and J. J. Hu
+                  and T. G. Kolda and R. B. Lehoucq and K. R. Long and R. P. Pawlowski and
+                  E. T. Phipps and A. G. Salinger and H. K. Thornquist and R. S. Tuminaro and
+                  J. M. Willenbring and A. Williams and K. S. Stanley},
+  title =        {An overview of the {T}rilinos project},
+  journal =      {ACM Trans. Math. Softw.},
+  year =         2005,
+  volume =       31,
+  pages =        {397--423}}
+
+@Misc{trilinos-web-page,
+     Author      = "M. A. Heroux and others",
+    Title      = "{Trilinos} web page",
+    Note     = "http://trilinos.sandia.gov",
+    Year     = "2014"}
+
+# From http://www.mcs.anl.gov/petsc/documentation/referencing.html
+@Misc{petsc-web-page,
+            author = {S. Balay and S. Abhyankar and M.~F. Adams and J. Brown and P. Brune
+                      and K. Buschelman and V. Eijkhout and W.~D. Gropp
+                      and D. Kaushik and M.~G. Knepley
+                      and L. Curfman McInnes and K. Rupp and B.~F. Smith
+                      and H. Zhang},
+            title =  {{PETS}c {W}eb page},
+            url =    {http://www.mcs.anl.gov/petsc},
+            howpublished = {\url{http://www.mcs.anl.gov/petsc}},
+            year = {2014}
+          }
+
+@TechReport{petsc-user-ref,
+            author = {S. Balay and S. Abhyankar and M.~F. Adams and J. Brown and P. Brune
+                      and K. Buschelman and V. Eijkhout and W.~D. Gropp
+                      and D. Kaushik and M.~G. Knepley
+                      and L. Curfman McInnes and K. Rupp and B.~F. Smith
+                      and H. Zhang},
+            title  = {{PETS}c Users Manual},
+            institution = {Argonne National Laboratory},
+            year   = 2014,
+            number = {ANL-95/11 - Revision 3.5},
+            url    = {http://www.mcs.anl.gov/petsc}
+          }
+
+
+@Article{umfpack,
+  author =       {T. A. Davis},
+  title =        {Algorithm 832: {UMFPACK V4.3}---an unsymmetric-pattern multifrontal method},
+  journal =      {ACM Trans. Math. Softw.},
+  year =         2004,
+  volume =       30,
+  pages =        {196--199}}
+
+@Book{Rei07,
+  author =       {J. Reinders},
+  title =        {Intel Threading Building Blocks},
+  publisher =    {O'Reilly},
+  year =         2007}
+
+@Article{p4est,
+  author =       {C. Burstedde and L. C. Wilcox and O. Ghattas},
+  title =        {\texttt{p4est}: {S}calable algorithms for parallel
+                  adaptive mesh refinement on forests of octrees},
+  journal =      {SIAM J. Sci. Comput.},
+  volume =       33,
+  number =       3,
+  pages =        {1103-1133},
+  year =         2011}
+
+@Book{arpack,
+  author =       {R. B. Lehoucq and D. C. Sorensen and C. Yang},
+  title =        {{ARPACK} users' guide: solution of large-scale eigenvalue problems with implicitly restarted Arnoldi methods},
+  publisher =    {SIAM, Philadelphia},
+  year =         1998}
+
+@Misc{mumps-web-page,
+  key =          {MUMPS},
+  title =        {{MUMPS: a MUltifrontal Massively Parallel sparse direct Solver}},
+  note =         {\url{http://graal.ens-lyon.fr/MUMPS/}}}
+
+
+@Article{ADE00,
+  author =       {P.R. Amestoy and I.S. Duff and J.-Y. L'Excellent},
+  title =        {Multifrontal parallel distributed symmetric and unsymmetric solvers},
+  journal =      {Comput. Methods in Appl. Mech. Eng.},
+  year =         2000,
+  volume =       184,
+  pages =        {501--520}}
+
+
+@article{MUMPS:1,
+   author  = {P. R. Amestoy and I. S. Duff and J. Koster and J.-Y. L'Excellent},
+   title   = {A Fully Asynchronous Multifrontal Solver Using Distributed Dynamic Scheduling},
+   journal = {SIAM Journal on Matrix Analysis and Applications},
+   volume  = {23},
+   number  = {1},
+   year    = {2001},
+   pages   = {15-41}
+ }
+
+
+@article{MUMPS:2,
+   author  = {P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and S. Pralet},
+   title   = {Hybrid scheduling for the parallel solution of linear systems},
+   journal = {Parallel Computing},
+   volume  = {32},
+   number  = {2},
+   year    = {2006},
+   pages   = {136-156}
+}
+
+
+@Misc{opencascade-web-page,
+  key =          {OpenCASCADE},
+  title =        {{OpenCASCADE: Open CASCADE Technology, 3D modeling \& numerical simulation}},
+  note =         {\url{http://www.opencascade.org/}}}
+
+
+@Misc{muparser-web-page,
+  key =          {muparse},
+  title =        {{muparser: Fast Math Parser Library}},
+  note =         {\url{http://muparser.beltoforion.de/}}}
+
+@Misc{hdf5,
+    author = {{The HDF Group}},
+    title = "{Hierarchical Data Format, version 5}",
+    year = {1997-NNNN},
+    note = {http://www.hdfgroup.org/HDF5/}
+}
+
+@article{karypis1998fast,
+  title={A fast and high quality multilevel scheme for partitioning irregular graphs},
+  author={Karypis, G. and Kumar, V.},
+  journal={SIAM J. Sci. Comput.},
+  volume={20},
+  number={1},
+  pages={359--392},
+  year={1998},
+  publisher={SIAM}
+}
+@article{rew1990netcdf,
+  title={{NetCDF}: an interface for scientific data access},
+  author={Rew, R. and Davis, G.},
+  journal={Computer Graphics and Applications, IEEE},
+  volume={10},
+  number={4},
+  pages={76--82},
+  year={1990},
+  publisher={IEEE}
+}
+@Article{Hernandez:2005:SSF,
+   author  = "V. Hernandez and J. E. Roman and V. Vidal",
+   title   = "{SLEPc}: A Scalable and Flexible Toolkit for the Solution of Eigenvalue
+              Problems",
+   journal = "{ACM} Trans. Math. Software",
+   volume  = "31",
+   number  = "3",
+   pages   = "351--362",
+   year    = "2005"
+}
+
+@article{Lachat1976,
+author = {Lachat, J. C. and Watson, J. O.},
+doi = {10.1002/nme.1620100503},
+issn = {0029-5981},
+journal = {International Journal for Numerical Methods in Engineering},
+number = {5},
+pages = {991--1005},
+title = {{Effective numerical treatment of boundary integral equations: A formulation for three-dimensional elastostatics}},
+url = {http://doi.wiley.com/10.1002/nme.1620100503},
+volume = {10},
+year = {1976}
+}
+
+@article{Telles-2005-a,
+author = {Telles, JCF},
+journal = {International Journal for Numerical Methods in Engineering},
+mendeley-groups = {FEM},
+mendeley-tags = {filedpapers},
+number = {5},
+publisher = {Wiley Online Library},
+title = {{A self-adaptive co-ordinate transformation for efficient numerical evaluation of general boundary element integrals}},
+type = {Journal article},
+volume = {24},
+year = {2005}
+}
+
+@article{GiulianiMolaHeltai-2015-a,
+author = {Giuliani, Nicola and Mola, Andrea and Heltai, Luca and Formaggia, Luca},
+doi = {10.1016/j.enganabound.2015.04.006},
+file = {:Users/heltai/Library/Mobile Documents/com\~{}apple\~{}CloudDocs/Mendeley//Giuliani et al.\_2015\_FEM SUPG stabilisation of mixed isoparametric BEMs application to linearised free surface flows.pdf:pdf},
+journal = {Engineering Analysis with Boundary Elements},
+keywords = {linearised free surface},
+pages = {8--22},
+title = {{FEM SUPG stabilisation of mixed isoparametric BEMs: application to linearised free surface flows}},
+volume = {59},
+year = {2015}
+}
+
+@book{Cottrell2009,
+author = {Cottrell, JA A and Hughes, TJR J R and Bazilevs, Y.},
+file = {:Users/heltai/Library/Mobile Documents/com\~{}apple\~{}CloudDocs/Mendeley/Cottrell, Hughes, Bazilevs\_2009\_Isogeometric analysis toward integration of CAD and FEA.pdf:pdf},
+mendeley-groups = {Igastokes,Books,Geostrophisics,FEM},
+publisher = {John Wiley \& Sons Inc},
+title = {{Isogeometric analysis: toward integration of CAD and FEA}},
+url = {http://books.google.com/books?hl=en\&lr=\&id=9Q9y0Xtz5E4C\&oi=fnd\&pg=PR5\&dq=Isogeometric+analysis:+toward+integration+of+CAD+and+FEA\&ots=JLSZtYQkL3\&sig=MZdoIBEu1cZs2sAwnPDy4WVOaVE},
+year = {2009}
+}
+
+@book{AbramowitzStegun,
+               author                = {M. Abramowitz and I.A. Stegun},
+               title                     = {Handbook of Mathematical Functions},
+               publisher            = {Dover},
+               year                    = {1965}
+}
+
+@techreport{MadayPatera,
+               author                 = {Y. Maday and A.T. Patera and E.M. Rønquist},
+                title                     = {A well-posed optimal spectral element approximation for the Stokes problem},
+               number                = {87-47},
+               institution            = {ICASE},
+               address                = {Hampton, VA},
+               year                    = {1987}
+}
+
+
+@techreport{MaierBardelloniHeltai-2015-a,
+        Author = {Matthias Maier and Mauro Bardelloni and Luca Heltai},
+        Institution = {SISSA},
+        Title = {Linear{O}perator -- a generic, high-level expression syntax for linear algebra},
+        Year = {2015}}
+
+@Article{TKB16,
+  author =      {B. Turcksin and M. Kronbichler and W. Bangerth},
+  title =       {\textit{WorkStream} -- a design pattern for multicore-enabled finite element computations},
+  journal =     {accepted for publication in the ACM Transactions on Mathematical Software},
+  year =        2016}
diff --git a/deal84.tex b/deal84.tex
new file mode 100644 (file)
index 0000000..44cca05
--- /dev/null
@@ -0,0 +1,475 @@
+\documentclass{ansarticle-preprint}
+%\usepackage{ucs}
+\usepackage[utf8]{inputenc}
+\usepackage{amsmath}
+%\usepackage{cite}
+\usepackage{anslistings}
+
+\usepackage{fontenc}
+\usepackage{graphicx}
+
+\hypersetup{
+  pdfauthor={Wolfgang Bangerth, Timo Heister, Luca Heltai, Guido Kanschat,
+    Martin Kronbichler, Matthias Maier, Bruno Turcksin
+  %, Toby D. Young
+  },
+  pdftitle={The deal.II Library, Version 8.4.0, 2016},
+}
+
+\newcommand{\specialword}[1]{\texttt{#1}}
+\newcommand{\dealii}{{\specialword{deal.II}}}
+\newcommand{\pfrst}{{\specialword{p4est}}}
+\newcommand{\trilinos}{{\specialword{Trilinos}}}
+\newcommand{\aspect}{\specialword{Aspect}}
+\newcommand{\petsc}{\specialword{PETSc}}
+\newcommand{\cmake}{{\specialword{CMake}}}
+\newcommand{\autoconf}{{\specialword{autoconf}}}
+
+\title{The \dealii{} Library, Version 8.4}
+\author[1]{Wolfgang Bangerth}
+\affil[1]{Department of Mathematics, Texas A\&M University, College Station,
+    TX 77843, USA,
+    {\texttt{bangerth@math.tamu.edu}}}
+\author[2]{Denis Davydov}
+\affil[2]{???,
+  {\texttt{???}}}
+\author[3]{Timo Heister}
+\affil[3]{Mathematical Sciences,
+  O-110 Martin Hall.
+  Clemson University.
+  Clemson, SC 29634, USA,
+  {\texttt{heister@clemson.edu}}}
+\author[4]{Luca Heltai}
+\affil[4]{SISSA - International School for Advanced Studies, Via
+  Bonomea 265, 34136 Trieste, Italy,
+  {\texttt{luca.heltai@sissa.it}}}
+\author[5]{Guido Kanschat}
+\affil[5]{Interdisciplinary Center for Scientific Computing (IWR),
+  Universit{\"a}t Heidelberg, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany,
+  {\texttt{kanschat@uni-heidelberg.de}}}
+\author[6]{Martin Kronbichler}
+\affil[6]{Institute for Computational Mechanics, Technische
+  Universit{\"a}t M{\"u}nchen, Boltzmannstr.~15, 85748 Garching b. Mænchen,
+  Germany,
+  {\texttt{kronbichler@lnm.mw.tum.de}}}
+\author[7]{Matthias Maier}
+\affil[7]{School of Mathematics, University of Minnesota, 127 Vincent Hall,
+  206 Church Street SE, Minneapolis, MN 55455, USA,
+  {\texttt{msmaier@umn.edu}}}
+\author[8]{Bruno Turcksin}
+\affil[8]{Department of Mathematics, Texas A\&M University, College Station,
+  TX 77843, USA,
+  {\texttt{turcksin@math.tamu.edu}}}
+\author[9]{David Wells}
+\affil[9]{Department of Mathematical Sciences, Rensselaer Polytechnic Institute,
+Troy, NY 12180, USA
+  {\texttt{wellsd2@rpi.edu}}}
+%\author[8]{Toby~D.~Young}
+%\affil[8]{Institute of Fundamental Technological Research of the Polish
+%  Academy of Sciences, ul. Pawi{\'n}skiego 5b, Warsaw 02-106, Poland,
+%  {\texttt{tyoung@ippt.pan.pl}}}
+
+\renewcommand{\labelitemi}{--}
+
+
+\begin{document}
+\maketitle
+
+\begin{abstract}
+  This paper provides an overview of the new features of the finite element
+  library \dealii{} version 8.4.0.
+\end{abstract}
+
+
+\section{Overview}
+
+\dealii{} version 8.4.0 was released February 29, 2016. This paper provides an
+overview of the new features of this release and serves as a citable
+reference for the \dealii{} software library version 8.4.0. \dealii{} is an
+object-oriented finite element library used around the world in the
+development of finite element solvers. It is available for free under the
+GNU Lesser General Public License (LGPL) from the \dealii{} homepage at
+\url{http://www.dealii.org/}.
+
+The major changes of this release are:
+\begin{itemize}
+\item Preliminary support for parallel, adaptive, geometric multigrid
+\item Parallel triangulations can now be partitioned in ways that allow
+  weighting cells differently
+\item Improved support for mixed-type arithmetic throughout the library
+\item A new triangulation type that supports parallel computations
+  but ensures that the entire mesh is available on every processor
+\item An implementation of the Rannacher-Turek element, as well as an
+  element that extends the usual Q(p) elements by bubble functions
+\item Second and third derivatives of finite element fields are now
+  computed exactly.
+\item The various \emph{Concepts}, or requirements on template parameters
+  in the library, are now consistently labeled and documented as such.
+\item The interface between finite elements, quadrature, mapping, and the
+  FEValues class has been rewritten. It is now much better documented
+\item  More than 140 other features and bugfixes.
+\end{itemize}
+Some of these will be detailed in the following section.
+Information on how to cite \dealii{} is provided in Section \ref{sec:cite}.
+
+
+\section{Significant changes to the library}
+
+This release of \dealii{} contains a number of large and significant changes
+that will be discussed in the following sections. It of course also contains a
+vast number of smaller changes and added functionality; the details of these
+can be found
+\href{https://www.dealii.org/8.4.0/doxygen/deal.II/changes_between_8_3_0_and_8_4.html}{in the file that lists all changes for this release}
+and that is linked to from the web site of each release as well as the
+release announcement.
+
+
+\subsection{Preliminary support for parallel, adaptive, geometric
+  multigrid}
+
+\marginpar{Martin/Timo -- can you write this section?}
+...
+
+\subsection{Parallel triangulations can now be partitioned with weights}
+
+Previously, partitioning a parallel mesh (represented by the
+\texttt{parallel::distributed::Triangulation} class) between
+processors assumed that every cell should be weighted equally. On the
+other hand, the \pfrst{} library which manages the partitioning
+process, allows for attaching weights for each cell and thereby
+enables ways in which not the number of cells per MPI process is
+equilibrated, but the sum of weights on the cells managed by each
+process. \dealii{} now also supports this feature.
+
+The implementation of this mechanism is based on a callback mechanism,
+in the form of the signal-slot design pattern. User codes can register
+functions that will be called upon mesh refinement and coarsening,
+returning a weight for each cell. These weights will be added after
+all slots (i.e., callback functions) connected to the signal have been
+called.
+
+The mechanism chosen has the advantage that all parties that use a
+triangulation, for example multiple \texttt{DoFHandler} objects or a
+scheme that tracks particles that are advected along with a flow field
+and stored them per-cell, can indicate their computational needs for
+each cell, and there no central place in a user code (other than the
+triangulation itself) that has to collect these needs and forward this
+information.
+
+
+\subsection{Improved support for mixed-type arithmetic throughout the
+  library}
+
+When evaluating finite element fields or their derivatives at
+a points $\mathbf x_q$, one typically has to do an operation of the form
+\begin{align*}
+  u_h(\mathbf x_q) &= \sum_{j} U_j \varphi_j(\mathbf x_q),
+  \\
+  \nabla u_h(\mathbf x_q) &= \sum_{j} U_j \nabla\varphi_j(\mathbf x_q).
+\end{align*}
+The value or derivatives of shape functions, $\varphi_j(\mathbf x_q)$
+or $\nabla\varphi_j(\mathbf x_q)$ are internally evaluated by classes
+derived from the \texttt{FiniteElement} and \texttt{Mapping}, and are
+computed as scalars or tensors of type \texttt{double}. On the other
+hand, the expansion coefficients of the field, $U_j$ are stored in
+vectors of types chosen by the user; their underlying representation
+can be \texttt{double}, but also \texttt{float}, \texttt{long double},
+\texttt{PetscScalar}, or \texttt{std::complex<float>}. It could also
+be an autodifferentiation type.
+
+To facilitate the correct typing of the computed quantity, \dealii{}
+now contains mechanisms by which one can evaluate the \textit{type} of
+the product of two values, and this type is now consistently used
+throughout the library in expressions such as those above. Thus, as an
+example, if the user stores the expansion coefficients in a
+\texttt{Vector<long double>}, then the gradients
+$\nabla\varphi_j(\mathbf x_q)$ will be computed as objects of type
+\texttt{Tensor<1,dim,long double>}. Likewise, if a user uses a PETSc
+vector, and PETSc was configured with complex scalar types, then the
+second derivatives of the solution field will be computed as
+\texttt{SymmetricTensor<2,dim,PetscScalar>}, which should equal
+\texttt{SymmetricTensor<2,dim,std::complex<double> >}.
+
+These improvements make type-correct computations possible in many
+places. In particular, this enables the use of complex-valued solution
+vectors in many more places. On the other hand, many but not all
+places have learned what actually to do with complex numbers. This is,
+in particular, true for the \texttt{DataOut} class that generates an
+intermediate data format that can then be written to graphical output
+files for visualization. Since no format we are aware of supports
+complex numbers, future versions still need to learn how to separate
+real and imaginary parts of complex numbers, and output them as two
+components.
+
+
+\subsection{A new ``shared'' triangulation type for parallel computations}
+
+\marginpar{Denis -- can you write this section?}
+...
+
+\subsection{Second and third derivatives of finite element fields are now
+  computed exactly}
+
+Second derivatives of solution fields, i.e., 
+\begin{align*}
+  \nabla^2 u_h(\mathbf x_q) &= \sum_{j} U_j \nabla^2\varphi_j(\mathbf x_q)
+\end{align*}
+were previously computed by finite differencing of first
+derivatives. The reason for this approach is that in order to compute
+the second derivatives of shape functions, $\nabla^2\varphi_j(\mathbf
+x_q)$ one needs (at least) derivatives of the inverse of the Jacobian of the
+mapping. This is easy to see because, for the usual $Q_p$ Lagrange
+elements, one has that $\nabla\varphi_j(\mathbf
+x_q)=J^{-1}\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q)$, where quantities
+with a hat refer to coordinates and functions on the reference cell,
+and $J$ is the Jacobian of the mapping from reference to real
+cell. Thus, the second derivatives satisfy
+\begin{align*}
+  \nabla^2\varphi_j(\mathbf x_q)
+  =
+  J^{-1}\hat\nabla\left[J^{-1}\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q)\right]
+  =
+  J^{-1} J^{-1}\hat\nabla^2\hat\varphi_j(\hat{\mathbf x}_q)
+  +
+  J^{-1}\left(\hat\nabla J^{-1}\right)\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q),
+\end{align*}
+where in the last expression, matrices and tensors of rank 1 and 3
+have to be appropriately contracted.  Here, the difficulty lies in
+computing the derivative $\hat\nabla J^{-1}$: for the usual mappings
+on quadrilaterals and hexahedra, $J$ is in general a polynomial in the
+reference coordinates $\hat {\mathbf x}$, so $J^{-1}$ is a rational
+function. It is possible to compute the derivatives of this object,
+but they are difficult and cumbersome to evaluate, especially for
+higher order mappings.
+
+The key to computing second (and higher) derivatives of shape
+functions is to recognize that $\hat\nabla J^{-1}$ can be expressed
+more conveniently by observing that
+\begin{align*}
+  0 &= \hat\nabla I
+  \\
+  &= \hat\nabla (JJ^{-1})
+  \\
+  &= J (\hat\nabla J^{-1}) + (\hat\nabla J) J^{-1},
+\end{align*}
+and consequently $\hat\nabla J^{-1} = - J^{-1} (\hat\nabla J)
+J^{-1}$. Here, $J^{-1}$ is a matrix that is already available from
+computing first derivatives, and $\hat\nabla J$ is an easily computed
+rank-3 tensor with polynomial entries. Using this approach, we have
+\begin{align*}
+  \nabla^2\varphi_j(\mathbf x_q)
+  =
+  J^{-1} J^{-1}\hat\nabla^2\hat\varphi_j(\hat{\mathbf x}_q)
+  -
+  J^{-1} J^{-1} (\hat\nabla J)
+  J^{-1}\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q),
+\end{align*}
+again with an appropriate set of contractions over the indices of the
+objects on the right.
+
+This, and corresponding extensions to compute third derivatives, have
+now been implemented in several of the finite element and mapping
+classes by Maien Hamed, and are available through the
+\texttt{FEValues} interface to shape functions and their derivatives.
+
+
+\subsection{Incompatible changes}
+
+\subsubsection{Revision of the interface between finite elements,
+  quadratures, and mappings}
+
+Finite element classes describe shape functions as continuous (as
+opposed to discrete) objects on the reference cell. On the other hand,
+in actual practice, one only needs information about shape functions
+at finitely many quadrature points, and these are typically the same
+on every cell in a loop over all cells. Furthermore, the evaluation of
+shape functions at quadrature points then also needs to be mapped to
+the real cell, typically using a polynomial mapping.
+
+To facilitate this complex interplay, \dealii{} has three class
+hierarchies with base classes \texttt{FiniteElement} (for the
+description of shape functions on the reference cell),
+\texttt{Quadrature} (for the locations and weights of quadrature
+points on the reference cell), and \texttt{Mapping} (for the
+description of mappings from the reference to the real cell). In
+almost all cases, users create an object of a derived class for each
+of these categories, but they never access any of the members of these
+classes and instead leave this task to the \texttt{FEValues} class
+(and \texttt{FEFaceValues}, \texttt{FESubfaceValues}) that presents
+all one typically needs: the mapped values, gradients, and
+higher order derivatives of shape functions at the quadrature points
+of the real cell.
+
+The interplay between these classes in the \texttt{FEValues} interface
+is one of the oldest parts of the library. It was, at the time, not
+designed based on specifications we explicitly or implicitly knew this
+class had to satisfy, but instead organically grew to its current
+state. These interfaces have now been fundamentally rewritten: some
+functions have been replaced; several others had their argument lists
+shuffled, sorted, and made more uniform; and everything has generally
+been far better documented.
+
+None of the changes in this arena is visible to the average user. The
+only user codes that are affected in an incompatible way are those
+that implement finite element or mapping classes.
+
+\subsubsection{Other incompatible changes}
+
+The
+\href{https://www.dealii.org/8.4.0/doxygen/deal.II/changes_between_8_3_0_and_8_4.html}{file
+  that lists all changes for this release} lists another 18
+incompatible changes, but none of these should in fact be visible in
+typical user codes. Some remove previously deprecated classes and
+functions, and the majority change internal interfaces that are not
+typically used in user codes.
+
+
+
+\section{How to cite \dealii{}}\label{sec:cite}
+
+In order to justify the work the developers of \dealii{} put into this
+software, we ask that papers using the library reference one of the
+\dealii{} papers. This helps us justify the effort we put into it.
+
+There are various ways to reference \dealii{}. To acknowledge the use of a
+particular version of the library, reference the present document. For up
+to date information and bibtex snippets for this document see:
+
+\bigskip
+
+\begin{center}
+ \url{https://www.dealii.org/publications.html}
+\end{center}
+
+\bigskip
+
+% \begin{minipage}{0.9\textwidth}%no page break in here please
+% \begin{verbatim}
+% @article{dealII82,
+%   title = {The {\tt deal.{I}{I}} Library, Version 8.2},
+%   author = {W. Bangerth and T. Heister and L. Heltai
+%    and G. Kanschat and M. Kronbichler and M. Maier
+%    and B. Turcksin and T. D. Young},
+%   journal = {preprint},
+%   year = {2015},
+% }
+% \end{verbatim} %  journal = {arXiv preprint \url{http://arxiv.org/abs/TODO}},
+% \end{minipage}
+
+The original \texttt{\dealii{}} paper containing an overview of its
+architecture is \cite{BangerthHartmannKanschat2007}. If you rely on specific
+features of the library, please consider citing any of the following:
+\begin{itemize}
+ \item For geometric multigrid: \cite{Kanschat2004,JanssenKanschat2011};
+ \item For distributed parallel computing: \cite{BangerthBursteddeHeisterKronbichler11};
+ \item For $hp$ adaptivity: \cite{BangerthKayserHerold2007};
+ \item For matrix-free and fast assembly techniques:
+   \cite{KronbichlerKormann2012};
+ \item For computations on lower-dimensional manifolds:
+   \cite{DeSimoneHeltaiManigrasso2009};
+ \item For integration with CAD files and tools:
+   \cite{HeltaiMola2015};
+ \item For \texttt{LinearOperator} and \texttt{PackagedOperation} facilities:
+   \cite{MaierBardelloniHeltai-2015-a}.
+ \item For uses of the \texttt{WorkStream} interface:
+   \cite{TKB16}.
+\end{itemize}
+
+\dealii{} can interface with many other libraries:
+\begin{itemize}
+\item ARPACK \cite{arpack}
+\item BLAS, LAPACK
+\item HDF5 \cite{hdf5}
+\item METIS \cite{karypis1998fast}
+\item MUMPS \cite{ADE00,MUMPS:1,MUMPS:2,mumps-web-page}
+\item muparser \cite{muparser-web-page}
+\item NetCDF \cite{rew1990netcdf}
+\item OpenCASCADE \cite{opencascade-web-page}
+\item p4est \cite{p4est}
+\item PETSc \cite{petsc-user-ref,petsc-web-page}
+\item SLEPc \cite{Hernandez:2005:SSF}
+\item Threading Building Blocks \cite{Rei07}
+\item Trilinos \cite{trilinos,trilinos-web-page}
+\item UMFPACK \cite{umfpack}
+\end{itemize}
+Please consider citing the appropriate references if you use interfaces to these
+libraries.
+
+Older releases of \dealii{} can be cited as \cite{dealII80,dealII81,dealII82,dealII83}.
+
+\nocite{BangerthKanschat1999}
+
+\section{Acknowledgments}
+
+\dealii{} is a world-wide project with dozens of contributors around the
+globe. Other than the authors of this paper, the following people contributed code to
+this release:
+%
+% get this from the changes.h file using
+%   egrep '^ *\(.*201[56789]' 8.3.0-vs-8.4.0.h | perl -p -e 's/201\d.*//g; s/, */\n/g; s/^ *\(?//g;' | sort | uniq
+% then sort by last name and remove the authors of this paper
+%
+Daniel Arndt,
+Mauro Bardelloni,
+Alistair Bentley,
+Andrea Bonito,
+Claire Bruna-Rosso,
+Krzysztof Bzowski,
+Praveen Chandrashekar,
+Conrad Clevenger,
+Patrick Esser,
+Rene Gassmoeller,
+Arezou Ghesmati,
+Maien Hamed,
+Alexander Grayver,
+Lukas Korous,
+Aslan Kosakian,
+Adam Kosik,
+Konstantin Ladutenko,
+Jean-Paul Pelteret,
+Lei Qiao,
+Gennadiy Rishin,
+Angel Rodriguez,
+Alberto Sartori,
+Daniel Shapero,
+Jason Sheldon,
+Jan Stebel,
+Florian Sonner,
+Zhen Tao,
+Heikki Virtanen,
+Daniel Weygand
+
+
+Their contributions are much appreciated!
+
+
+\dealii{} and its developers are financially supported through a
+variety of funding sources. W.~Bangerth and B.~Turcksin were partially
+supported by the National Science Foundation under award OCI-1148116
+as part of the Software Infrastructure for Sustained Innovation (SI2)
+program; and by the Computational Infrastructure in Geodynamics initiative
+(CIG), through the National Science Foundation under Award
+No.~EAR-0949446 and The University of California -- Davis.
+
+L.~Heltai was partially supported by the project OpenViewSHIP,
+``Sviluppo di un ecosistema computazionale per la progettazione
+idrodinamica del sistema elica-carena'', financed by Regione FVG - PAR
+FSC 2007-2013, Fondo per lo Sviluppo e la Coesione, and by the project
+TRIM ``Tecnologia e Ricerca Industriale per la Mobilit\`a Marina'',
+CTN01-00176-163601, funded by MIUR -  Ministero dell'Istruzione,
+dell'Universit\`a e della Ricerca.
+
+T.~Heister was partially supported by the Computational Infrastructure in
+Geodynamics initiative (CIG), through the National Science Foundation under Award
+No. EAR-0949446 and The University of California -- Davis.
+
+The Interdisciplinary Center for Scientific Computing (IWR) at Heidelberg University has provided
+hosting services for the \dealii{} web page and the SVN archive.
+
+%\marginpar{Everyone's funding, please}
+
+
+\bibliography{deal84}{}
+\bibliographystyle{abbrv}
+
+\end{document}

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.