From 0b6c90f1803a8770de00b0293649ade5c9869d77 Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Wed, 8 May 2019 17:37:15 +0200 Subject: [PATCH] Add first version of release paper --- 9.1/ansarticle-preprint.cls | 149 +++++++ 9.1/anslistings.sty | 442 ++++++++++++++++++++ 9.1/paper.bib | 775 ++++++++++++++++++++++++++++++++++++ 9.1/paper.tex | 339 ++++++++++++++++ 4 files changed, 1705 insertions(+) create mode 100644 9.1/ansarticle-preprint.cls create mode 100644 9.1/anslistings.sty create mode 100644 9.1/paper.bib create mode 100644 9.1/paper.tex diff --git a/9.1/ansarticle-preprint.cls b/9.1/ansarticle-preprint.cls new file mode 100644 index 0000000..da94dde --- /dev/null +++ b/9.1/ansarticle-preprint.cls @@ -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/9.1/anslistings.sty b/9.1/anslistings.sty new file mode 100644 index 0000000..f2e409d --- /dev/null +++ b/9.1/anslistings.sty @@ -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 +%% (pythonhighlight.sty), +%% with contributions from Johan Hake . +%% +%% Modified for ANS by Anders Logg , 2011. +%% +%% Modified by Hans Petter Langtangen , 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 ] + +% 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/9.1/paper.bib b/9.1/paper.bib new file mode 100644 index 0000000..4fc1f66 --- /dev/null +++ b/9.1/paper.bib @@ -0,0 +1,775 @@ +%% 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} +} + +@Misc{changes84, + Title = {List of Changes}, + Note = {\url{https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_3_and_8_4.html}}, + Url = {https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_3_and_8_4.html} +} + +@Misc{changes85, + Title = {List of Changes}, + Note = {\url{https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_4_2_and_8_5_0.html}}, + Url = {https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_4_2_and_8_5_0.html} +} + +@Misc{changes90, + key={List of Changes}, + Title = {List of Changes for 9.0}, + Note = {\url{https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_5_and_9_0.html}}, + Url = {https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_5_0_and_9_0.html} +} + + +@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}, + volume = {4}, + number = {100}, + year = {2016}, + pages = {1--11}, + issn = {2197-8263}, + doi = {10.11588/ans.2016.100.23122}, +} + + @article{dealII85, + title = {The \texttt{deal.II} Library, Version 8.5}, + author = {D. Arndt and W. Bangerth and D. Davydov and T. Heister and + L. Heltai and M. Kronbichler and M. Maier and J.-P. Pelteret + and B. Turcksin and D. Wells}, + journal = {Journal of Numerical Mathematics}, + year = {2017}, + volume = 25, + number = 3, + pages = {137--146}, + Doi = {10.1515/jnma-2016-1045} + } + +@article{dealII84, + title = {The \texttt{deal.II} Library, Version 8.4}, + author = {W. Bangerth and D. Davydov and T. Heister and + L. Heltai and G. Kanschat and M. Kronbichler and M. Maier + and B. Turcksin and D. Wells}, + journal = {Journal of Numerical Mathematics}, + year = {2016}, + volume = {24}, + number = {3}, + pages = {135--141}, + doi = {10.1515/jnma-2016-1045} + } + + + +@article{dealII90, +title = {The \texttt{deal.II} Library, Version 9.0}, +author = {G. Alzetta and D. Arndt and W. Bangerth and V. Boddu and + B. Brands and D. Davydov and R. Gassmoeller and T. Heister and + L. Heltai and K. Kormann and M. Kronbichler and M. Maier and + J.-P. Pelteret and B. Turcksin and D. Wells}, +journal = {J. Numer. Math.}, +volume = "26", +number = "4", +pages = "173--184", +year = 2018, +doi = "10.1515/jnma-2018-0054" +} + + + +%% 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{KronbichlerKormann2017, + author = {M. Kronbichler and K. Kormann}, + title = {Fast matrix-free evaluation of discontinuous {G}alerkin finite element operators}, + institution = {arXiv:1711.03590}, + year = 2017} + + +@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{TKB16, + author = {B. Turcksin and M. Kronbichler and W. Bangerth}, + title = {\textit{WorkStream} -- a design pattern for multicore-enabled finite element computations}, + journal = {ACM Transactions on Mathematical Software}, + year = 2016, + volume = 43, + number = 1, + pages = {2/1--2/29} +} + +@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 = "\url{http://trilinos.org}", + Year = "2018"} + +# 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 L. Dalcin and V. Eijkhout and W.~D. Gropp + and D. Karpeyev and D. Kaushik and M.~G. Knepley + and D. May and L. Curfman McInnes and R. Mills and T. Munson + and K. Rupp and P. Sanan B.~F. Smith and S. Zampini + and H. Zhang 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 = {2018} + } + +@TechReport{petsc-user-ref, + author = {S. Balay and S. Abhyankar and M.~F. Adams and J. Brown and P. Brune + and K. Buschelman and L. Dalcin and V. Eijkhout and W.~D. Gropp + and D. Karpeyev and D. Kaushik and M.~G. Knepley + and D. May and L. Curfman McInnes and R. Mills and T. Munson + and K. Rupp and P. Sanan B.~F. Smith and S. Zampini + and H. Zhang and H. Zhang}, + title = {{PETS}c Users Manual}, + institution = {Argonne National Laboratory}, + year = 2018, + number = {ANL-95/11 - Revision 3.9}, + 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-2018}, + note = {\url{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} +} + + +@article{MaierBardelloniHeltai-2016-a, + Author = {Matthias Maier and Mauro Bardelloni and Luca Heltai}, + Journal = {Computers and Mathematics with Applications}, + Title = {Linear{O}perator -- a generic, high-level expression syntax for linear algebra}, + Doi = {10.1016/j.camwa.2016.04.024}, + number = {1}, + pages = {1--24}, + volume = {72}, + Year = {2016}} + +@misc{MaierBardelloniHeltai-2016-b, + author = {Matthias Maier and + Mauro Bardelloni and + Luca Heltai}, + title = {{LinearOperator Benchmarks, Version 1.0.0}}, + month = mar, + year = 2016, + doi = {10.5281/zenodo.47202}, + url = {http://dx.doi.org/10.5281/zenodo.47202} +} + +@article{Davydov2016, + Author = {Denis Davydov and Tymofiy Gerasimov and Jean-Paul Pelteret and Paul Steinmann}, + Day = {12}, + Doi = {10.1186/s40323-017-0093-0}, + Issn = {2213-7467}, + Journal = {Advanced Modeling and Simulation in Engineering Sciences}, + Month = {Dec}, + Number = {1}, + Pages = {7}, + Title = {Convergence study of the h-adaptive PUM and the hp-adaptive FEM applied to eigenvalue problems in quantum mechanics}, + Volume = {4}, + Year = {2017}, +} + +@misc{gsl2016, + author = {Galassi, M and Davies, J and Theiler, J and Gough, B and Jungman, G and Alken, P and Booth, M and Rossi, F and Ulerich, R}, + title = {GNU Scientific Library Reference Manual (Edition 2.3)}, + journal = {Library available online at http://www. gnu. org/software/gsl}, + year = {2016} +} + +@misc{nanoflann, + author = {Blanco, Jose Luis and Rai, Prankal Kumar}, + title = {nanoflann: a{C}++ header-only fork of {FLANN}, a library for + {N}earest {N}eighbor ({NN}) with {KD}-trees}, + howpublished = {\url{https://github.com/jlblancoc/nanoflann}}, + year = {2014} +} + +@inproceedings{adol-c, + author = {A. Walther and A. Griewank}, + title = {Getting started with {ADOL}-{C}}, + booktitle = {Combinatorial Scientific Computing}, + publisher = {U. Naumann and O.Schenk}, + series = {Chapman-Hall CRC Computational Science}, + pages = {181-202}, + year = {2012} +} + +@Article{Griewank1996a, + author = {Griewank, Andreas and Juedes, David and Utke, Jean}, + title = {Algorithm 755: {ADOL-C}: a package for the automatic differentiation of algorithms written in {C/C++}}, + journal = {ACM Transactions on Mathematical Software (TOMS)}, + year = {1996}, + volume = {22}, + number = {2}, + pages = {131--167}, + doi = {10.1145/229473.229474}, + publisher = {ACM}, +} + +@article{sundials, + title={{SUNDIALS}: Suite of nonlinear and differential/algebraic equation solvers}, + author={Hindmarsh, Alan C and Brown, Peter N and Grant, Keith E and Lee, Steven L and Serban, Radu and Shumaker, Dan E and Woodward, Carol S}, + journal={ACM Transactions on Mathematical Software (TOMS)}, + volume={31}, + number={3}, + pages={363--396}, + year={2005}, + publisher={ACM} +} + +@article{assimp, + title={Open asset import library (assimp)}, + author={Schulze, Thomas and Gessler, Alexander and Kulling, Kim and Nadlinger, David and Klein, Jonathan and Sibly, Mark and Gubisch, Matthias}, + journal={Computer Software, URL: https://github. com/assimp/assimp}, + year={2012} +} + +@Misc{clang-tidy, + Title = {{Clang-Tidy}}, + Author = {LLVM}, + HowPublished = {\url{http://clang.llvm.org/extra/clang-tidy/}}, +} + +@Misc{coverity, + Title = {{C}overity {S}can ({Synopsys, Inc.})}, + Key = {Coverity}, + HowPublished = {\url{https://scan.coverity.com}}, +} + +@Article{GLHPB18, + author = {R. Gassm{\"o}ller and H. Lokavarapu and E. Heien and E. G. Puckett and W. Bangerth}, + title = {Flexible and scalable particle-in-cell methods with adaptive mesh + refinement for geodynamic computations}, + journal = {submitted}, + year = {2018}, + OPTkey = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTpages = {}, + OPTmonth = {}, + OPTnote = {}, + OPTannote = {} +} + + +@TechReport{GHPB16, + author = {R. Gassm{\"o}ller and E. Heien and E. G. Puckett and W. Bangerth}, + title = {Flexible and scalable particle-in-cell methods for massively parallel computations}, + institution = {arXiv:1612.03369}, + year = 2016} + + +@Article{KHB12, + author = {M. Kronbichler and T. Heister and W. Bangerth}, + title = {High Accuracy Mantle Convection Simulation through Modern Numerical Methods}, + journal = {Geophysics Journal International}, + year = 2012, + volume = 191, + pages = {12--29}} + +@Article{HDGB17, + author = {T. Heister and J. Dannberg and R. Gassm{\"o}ller and W. Bangerth}, + title = {High Accuracy Mantle Convection Simulation through Modern Numerical Methods. {II}: Realistic Models and Problems}, + journal = {Geophysics Journal International}, + year = 2017, + volume = 210, + pages = {833--851}} + +@techreport{ridzal2014rapid, + title={Rapid Optimization Library.}, + author={Ridzal, Denis and Kouri, Drew Philip}, + year={2014}, + institution={Sandia National Laboratories (SNL-NM), Albuquerque, NM (United States)} +} + +@BOOK{slug, + AUTHOR = {Blackford, L. S. and Choi, J. and Cleary, A. and + D'Azevedo, E. and Demmel, J. and Dhillon, I. and + Dongarra, J. and Hammarling, S. and Henry, G. and + Petitet, A. and Stanley, K. and Walker, D. and + Whaley, R. C.}, + TITLE = {{ScaLAPACK} Users' Guide}, + PUBLISHER = {Society for Industrial and Applied Mathematics}, + YEAR = {1997}, + ADDRESS = {Philadelphia, PA}, + ISBN = {0-89871-397-8 (paperback)} +} + +@article{GiulianiMolaHeltai-2018-a, + Author = {Giuliani, Nicola and Mola, Andrea and Heltai, Luca}, + Journal = {Advances in Engineering Software}, + Number = {March}, + Pages = {39--58}, + Title = {{$\pi$-BEM: A flexible parallel implementation for adaptive, geometry aware, and high order boundary element methods}}, + Volume = {121}, + Year = {2018}} + +@article{geuzaine2009gmsh, + title={Gmsh: A 3-D finite element mesh generator with built-in pre-and post-processing facilities}, + author={Geuzaine, Christophe and Remacle, Jean-Fran{\c{c}}ois}, + journal={International journal for numerical methods in engineering}, + volume={79}, + number={11}, + pages={1309--1331}, + year={2009}, + publisher={Wiley Online Library} +} + +@BOOK{lapack, + AUTHOR = {Anderson, E. and Bai, Z. and Bischof, C. and + Blackford, S. and Demmel, J. and Dongarra, J. and + Du Croz, J. and Greenbaum, A. and Hammarling, S. and + McKenney, A. and Sorensen, D.}, + TITLE = {{LAPACK} Users' Guide}, + EDITION = {Third}, + PUBLISHER = {Society for Industrial and Applied Mathematics}, + YEAR = {1999}, + ADDRESS = {Philadelphia, PA}, + ISBN = {0-89871-447-8 (paperback)} +} + +@misc{Pelteret2016a, + author = {Pelteret, J-P. V. and McBride, A.}, + title = {The \texttt{deal.II} code gallery: Quasi-Static Finite-Strain Compressible Elasticity}, + year = {2016}, + url = {https://dealii.org/developer/doxygen/deal.II/code_gallery_Quasi_static_Finite_strain_Compressible_Elasticity.html}, + note = {Accessed April 2018. doi: \href{http://dx.doi.org/10.5281/zenodo.1228964}{\texttt{10.5281/zenodo.1228964}}}, + doi = {10.5281/zenodo.1228964}, +} + +@InCollection{Bartlett2006a, + author = {Bartlett, R. A. and Gay, D. M. and Phipps, E. T.}, + title = {Automatic Differentiation of C++ Codes for Large-Scale Scientific Computing}, + booktitle = {International Conference on Computational Science {\textendash} {ICCS} 2006}, + publisher = {Springer Berlin Heidelberg}, + year = {2006}, + editor = {Alexandrov, V.N. and van Albada, G.D. and Sloot, P.M.A. amd Dongarra, J.}, + pages = {525--532}, + doi = {10.1007/11758549_73}, + organization = {Springer}, +} + +@Misc{cusolver, + key = {cusolver}, + title = {cu{SOLVER} {L}ibrary}, + note = {\url{https://docs.nvidia.com/cuda/cusolver/index.html}} +} + +@Misc{cusparse, + key = {cusparse}, + title = {cu{SPARSE} {L}ibrary}, + note = {\url{https://docs.nvidia.com/cuda/cusparse/index.html}} +} diff --git a/9.1/paper.tex b/9.1/paper.tex new file mode 100644 index 0000000..7d00ee1 --- /dev/null +++ b/9.1/paper.tex @@ -0,0 +1,339 @@ +\documentclass{ansarticle-preprint} +%\usepackage{ucs} +\usepackage[utf8]{inputenc} +\usepackage{amsmath} +%\usepackage{cite} +\usepackage{anslistings} +\usepackage{multicol} + +\usepackage{pgfplots} +\usepackage{pgfplotstable} + +\usepackage{fontenc} +\usepackage{graphicx} +\usepackage{xspace} + +\pgfplotsset{compat=1.9} + +\newcommand{\specialword}[1]{\texttt{#1}} +\newcommand{\dealii}{{\specialword{deal.II}}\xspace} +\newcommand{\pfrst}{{\specialword{p4est}}\xspace} +\newcommand{\trilinos}{{\specialword{Trilinos}}\xspace} +\newcommand{\aspect}{\specialword{Aspect}\xspace} +\newcommand{\petsc}{\specialword{PETSc}\xspace} +\newcommand{\cmake}{{\specialword{CMake}}\xspace} +\newcommand{\autoconf}{{\specialword{autoconf}}\xspace} + +% +% Author list -- please add yourself in both places below (in +% alphabetical order) if you think that your +% contributions to the last release warrant this +% + +\hypersetup{ + pdfauthor={ + Daniel Arndt, + Wolfgang Bangerth, + Denis Davydov, + Timo Heister, + Luca Heltai, + Martin Kronbichler, + Matthias Maier, + Jean-Paul Pelteret, + Bruno Turcksin, + David Wells + }, + pdftitle={The deal.II Library, Version 9.1, 2019}, +} + +\title{The \dealii Library, Version 9.1} + +\author[1]{Daniel Arndt} +\affil[1]{Interdisciplinary Center for Scientific Computing, + Heidelberg University, + Im Neuenheimer Feld 205, + 69120 Heidelberg, Germany. + {\texttt{daniel.arndt@iwr.uni-heidelberg.de}}} + +\author[2]{Wolfgang Bangerth} +\affil[2]{Department of Mathematics, Colorado State University, Fort + Collins, CO 80523-1874, USA. + {\texttt{bangerth@colostate.edu}}} + +\author[3]{Denis Davydov} +\affil[3]{Chair of Applied Mechanics, + Friedrich-Alexander-Universit\"{a}t Erlangen-N\"{u}rnberg, + Egerlandstr.\ 5, + 91058 Erlangen, Germany. + {\texttt{\{denis.davydov,jean-paul.pelteret\}@fau.de}}} + +\author[4]{Timo Heister} +\affil[4]{Mathematical Sciences, + O-110 Martin Hall, + Clemson University, + Clemson, SC 29634, USA. + {\texttt{heister@clemson.edu}}} +% +\author[5]{Luca Heltai} +\affil[5]{SISSA, + International School for Advanced Studies, + Via Bonomea 265, + 34136, Trieste, Italy. +{\texttt{luca.heltai@sissa.it}}} + +\author[6]{Martin Kronbichler} +\affil[6]{Institute for Computational Mechanics, + Technical University of Munich, + Boltzmannstr.~15, 85748 Garching, 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[4]{Jean-Paul Pelteret} + + \author[8]{Bruno Turcksin\footnote{ + This manuscript has been authored by UT-Battelle, LLC under Contract No. + DE-AC05-00OR22725 with the U.S. Department of Energy. The United States + Government retains and the publisher, by accepting the article for + publication, acknowledges that the United States Government retains a + non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce + the published form of this manuscript, or allow others to do so, for United + States Government purposes. The Department of Energy will provide public + access to these results of federally sponsored research in accordance with the + DOE Public Access Plan (http://energy.gov/downloads/doe-public-access-plan).}} + \affil[8]{Computational Engineering and Energy Sciences Group, + Computional Sciences and Engineering Division, + Oak Ridge National Laboratory, 1 Bethel Valley Rd., + TN 37831, USA. + {\texttt{turcksinbr@ornl.gov}}} + +\author[9]{David Wells} +\affil[9]{Department of Mathematical Sciences, Rensselaer Polytechnic +Institute, Troy, NY 12180, USA. + {\texttt{wellsd2@rpi.edu}}} + +\renewcommand{\labelitemi}{--} + + +\begin{document} +\maketitle + +\begin{abstract} + This paper provides an overview of the new features of the finite element + library \dealii version 9.1. +\end{abstract} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Overview} + +\dealii version 9.1.0 was released May XX, 2019 +This paper provides an +overview of the new features of this major release and serves as a citable +reference for the \dealii software library version 9.1. \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 Improved support for automatic and symbolic differentiation; +\item Support for $hp$ adaptivity on MPI-parallel programs with \texttt{parallel::distributed::Triangulation} +\item Four new tutorial programs step-61, step-62, step-63, step-64. +\end{itemize} +These will all be discussed in more detail in the +following section. In addition, this release contains the following changes: +\begin{itemize} +\item ParsedConvergenceTable +\item FE\_BernardiRaugel +\item ConstraintMatrix class has been renamed to AffineConstraints +\item FE\_NedelecSZ +\item A number of bug fixes and performance improvements to the matrix-free framework and related geometric multigrid solvers were added. In particular, the implementation of the Chebyshev iteration, an often used smoother in the matrix-free context, has been revised to reduce the vector access. The performance improvement speed up matrix-free multigrid solvers by up to 10-15\% on affine geometries and up to 5\% on curved geometries. +\end{itemize} +Beyond these changes, the changelog lists more than 200 other features and bugfixes. + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\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://dealii.org/developer/doxygen/deal.II/changes_between_9_0_1_and_9_1_0.html}{ +in the file that lists all changes for this release}, see \cite{changes91}. +(The file is also linked to from the web site of each release as well as +the release announcement.) + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Tutorial and code gallery programs} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Incompatible changes} + +The 9.1 release includes +\href{https://dealii.org/developer/doxygen/deal.II/changes_between_8_5_0_and_9_0_0.html} + {around 15 incompatible changes}; see \cite{changes91}. The majority of these changes +should not be visible to typical user codes; some remove previously +deprecated classes and functions, and the majority change internal +interfaces that are not usually used in external +applications. However, some are worth mentioning: +\begin{itemize} +\item TODO +\end{itemize} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\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 +the current version of the library, \textbf{please reference the present +document}. For up to date information and bibtex snippets for this document +see: +\begin{center} + \url{https://www.dealii.org/publications.html} +\end{center} + +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 partition-of-unity (PUM) and enrichment methods of the + finite element space: \cite{Davydov2016}; + \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 Boundary Elements Computations: + \cite{GiulianiMolaHeltai-2018-a}; + \item For \texttt{LinearOperator} and \texttt{PackagedOperation} facilities: + \cite{MaierBardelloniHeltai-2016-a,MaierBardelloniHeltai-2016-b}. + \item For uses of the \texttt{WorkStream} interface: + \cite{TKB16}. +\end{itemize} + +\dealii can interface with many other libraries: +\begin{multicols}{3} +\begin{itemize} +\item ADOL-C \cite{Griewank1996a,adol-c} +\item ARPACK \cite{arpack} +\item Assimp \cite{assimp} +\item BLAS and LAPACK \cite{lapack} +\item cuSOLVER \cite{cusolver} +\item cuSPARSE \cite{cusparse} +\item Gmsh \cite{geuzaine2009gmsh} +\item GSL \cite{gsl2016} +\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 nanoflann \cite{nanoflann} +\item NetCDF \cite{rew1990netcdf} +\item OpenCASCADE \cite{opencascade-web-page} +\item p4est \cite{p4est} +\item PETSc \cite{petsc-user-ref,petsc-web-page} +\item ROL \cite{ridzal2014rapid} +\item ScaLAPACK \cite{slug} +\item SLEPc \cite{Hernandez:2005:SSF} +\item SUNDIALS \cite{sundials} +\item TBB \cite{Rei07} +\item Trilinos \cite{trilinos,trilinos-web-page} +\item UMFPACK \cite{umfpack} +\end{itemize} +\end{multicols} +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,dealII84,dealII85,dealII90}. + +\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/*/* files using the command listed in the +% release-tasks paper and remove the authors of this paper +% + + +Their contributions are much appreciated! + + +\bigskip + +\dealii and its developers are financially supported through a +variety of funding sources: + +D.~Arndt and M.~Kronbichler were partially supported by the German +Research Foundation (DFG) under the project ``High-order discontinuous +Galerkin for the exa-scale'' (\mbox{ExaDG}) within the priority program ``Software +for Exascale Computing'' (SPPEXA). + +W.~Bangerth was 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 Awards +No.~EAR-0949446 and EAR-1550901 and The University of California -- Davis. + +D.~Davydov was supported by the German Research Foundation (DFG), grant DA +1664/2-1. + +T.~Heister was partially supported by NSF Award DMS-1522191, by the +Computational Infrastructure in Geodynamics initiative (CIG), through the NSF +under Award EAR-0949446 and EAR-1550901 and The University of California -- +Davis, and by Technical Data Analysis, Inc. through US Navy SBIR N16A-T003. + +M.~Maier was partially supported by ARO MURI Award No. W911NF-14-0247. + +J-P.~Pelteret was supported by the European Research Council (ERC) through +the Advanced Grant 289049 MOCOPOLY. + +B.~Turcksin: This material is based upon work supported by the U.S. +Department of Energy, Office of Science, under contract number +DE-AC05-00OR22725. + +D.~Wells was supported by the National Science Foundation (NSF) through Grant +DMS-1344962. + +The Interdisciplinary Center for Scientific Computing (IWR) at Heidelberg +University has provided hosting services for the \dealii web page. + + +\bibliography{paper}{} +\bibliographystyle{abbrv} + +\end{document} -- 2.39.5