From: Timo Heister Date: Wed, 4 Apr 2018 20:06:04 +0000 (-0400) Subject: 9.0 template X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b11171309508049f5fd2b40cb665fbe2e2c4d715;p=release-papers.git 9.0 template --- diff --git a/9.0/ansarticle-preprint.cls b/9.0/ansarticle-preprint.cls new file mode 100644 index 0000000..da94dde --- /dev/null +++ b/9.0/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.0/anslistings.sty b/9.0/anslistings.sty new file mode 100644 index 0000000..f2e409d --- /dev/null +++ b/9.0/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.0/paper.bib b/9.0/paper.bib new file mode 100644 index 0000000..0c3fd88 --- /dev/null +++ b/9.0/paper.bib @@ -0,0 +1,551 @@ +%% 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/8.4.0/doxygen/deal.II/changes_between_8_3_and_8_4.html}}, + Url = {https://www.dealii.org/8.4.0/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_and_8_5.html}}, + Url = {https://www.dealii.org/developer/doxygen/deal.II/changes_between_8_4_and_8_5.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} + } + + + + + +%% 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{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.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 = {\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}, + Note = {To appear}, + 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} +} + +@unpublished{Davydov2016, + Title = {On the h-adaptive {PUM} and hp-adaptive {FEM} approaches applied to {PDEs} in quantum mechanics.}, + Author = {Davydov, D and Gerasimov, T and Pelteret, J.-P. and Steinmann, P.}, + Note = {arXiv:1612.02305 [physics.comp-ph]}, + Year = {2016}, +} + +@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} +} diff --git a/9.0/paper.tex b/9.0/paper.tex new file mode 100644 index 0000000..e194911 --- /dev/null +++ b/9.0/paper.tex @@ -0,0 +1,422 @@ +\documentclass{ansarticle-preprint} +%\usepackage{ucs} +\usepackage[utf8]{inputenc} +\usepackage{amsmath} +%\usepackage{cite} +\usepackage{anslistings} +\usepackage{multicol} + +\usepackage{pgfplots} +\usepackage{pgfplotstable} + +\usepackage{fontenc} +\usepackage{graphicx} + +\pgfplotsset{compat=1.9} + +\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}}} + +% +% 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={ + Timo Heister, + }, + pdftitle={The deal.II Library, Version 9.0, 2018}, +} + +\title{The \dealii{} Library, Version 9.0} + +% \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, University of +% Erlangen-Nuremberg, Egerlandstr.\ 5, 91058 Erlangen, Germany. +% {\texttt{denis.davydov@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[8]{Jean-Paul Pelteret} +% \affil[8]{Chair of Applied Mechanics, +% University of Erlangen-Nuremberg, +% Egerlandstr.\ 5, +% 91058 Erlangen, +% Germany. +% {\texttt{jean-paul.pelteret@fau.de}}} +% +% \author[9]{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[9]{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[10]{David Wells} +% \affil[10]{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.0. +\end{abstract} + + +\section{Overview} + +\dealii{} version 9.0.0 was released April X, 2018. This paper provides an +overview of the new features of this release and serves as a citable +reference for the \dealii{} software library version 9.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 The \texttt{CellDataStorage} ... + +\item New tutorial programs XYZ; as well as + updates to XYZ. In addition, the separate code + gallery of \dealii{} has gained a number of new entries. + + \item More than XYZ other features and bugfixes. +\end{itemize} +The more important ones of these changes 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.5.0/doxygen/deal.II/changes_between_8_4_2_and_8_5_0.html}{in +the file that lists all changes for this release}, see \cite{changes90}. +(The file is also linked to from the web site of each release as well as +the release announcement.) + + +\subsection{Feature 1} + +\subsection{Feature 2} + + +\subsection{New and updated tutorial programs} +\marginpar{OLD} +In addition to the updated tutorial programs mentioned in the previous +section, this release of \dealii{} includes three new tutorials TODO: old: +\begin{itemize} + \item {\bf step-55} explains how to solve the Stokes + equations efficiently in parallel. It is a good introduction to solving + systems of PDEs in parallel, discusses optimal block + preconditioners, and demonstrates other aspects like error computation. + Inverses of individual blocks of the linear system are approximated with an algebraic + multigrid preconditioner. + + \item {\bf step-56} shows how to apply geometric multigrid + preconditioners on a subset of a system of PDEs. The problem solved here is the + Stokes equations, like in step-55. + + \item {\bf step-57} solves the stationary Navier-Stokes equations. + The nonlinear system is solved using Newton's method on a sequence of adaptively refined + grids. The preconditioner is again built on a block factorization of the saddle point + system like in step-55 and step-56, but the non-symmetric terms stemming from the + nonlinear convective part requires more sophisticated solvers. The benchmark problem, + flow in the 2d lid-driven cavity, requires a continuation method for high Reynolds + numbers. + \end{itemize} + +In addition to tutorials, \dealii{} has a separate ``code gallery'' that +consists of programs shared by users as examples of what can be +done with \dealii{}. While not part of the release process, it is nonetheless +worth mentioning that the set of new programs since the last release covers +the following topics: +\marginpar{OLD} + \begin{itemize} + \item Quasi-static quasi-incompressible visco-elastic material behavior; + \item Multiphase Navier-Stokes flow; + \item The evolution of global-scale topography on planetary bodies; + \item Goal-oriented elastoplasticity. + \end{itemize} + + +\subsection{Incompatible changes} + +\marginpar{OLD} +The 9.0 release includes around XYZ +\href{https://www.dealii.org/8.5.0/doxygen/deal.II/changes_between_8_4_2_and_8_5_0.html}{ +incompatible changes}; see \cite{changes90}. 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, three +incompatible changes are worth mentioning: +\begin{itemize} + \item High-order Lagrange elements, both continuous \verb!FE_Q! and + discontinuous \verb!FE_DGQ! types, now use the nodal points of the + Gauss-Lobatto quadrature formula as support points by default, rather than the + previous equidistant ones. For cubic polynomials and higher, the point + distribution has thus changed and, consequently, the entries in + solution vectors will be different compared to previous + versions of \dealii{}. Note, however, that using the Gauss-Lobatto points as nodal + points results in a much more stable interpolation, including better + iteration counts in most iterative solvers. + \item + The library no longer instantiates template classes with \texttt{long + double}. These were rarely used, but took up a significant + fraction of compile and link time, as well as library + size. Application programs can, however, still instantiate all + template classes with \texttt{long + double} as long as they include the corresponding \texttt{.templates.h} + header files. + \item + The \texttt{ParameterGUI} has been moved to a separate repository. +\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} + +% \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 $PUM$ and enrichment of the FE 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 \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} + +\marginpar{update} +\dealii{} can interface with many other libraries: +\begin{multicols}{2} +\begin{itemize} +\item ARPACK \cite{arpack} +\item BLAS, LAPACK +\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 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} +\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}. + +\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 +% +\marginpar{update} + Rajat Arora, + Mauro Bardelloni, + Conrad Clevenger, + Sam Cox, + Toby D. Young, + Juliane Dannberg, + Nicola Demo, + Patrick Esser, + Niklas Fehn, + Rene Gassmoeller, + Joscha Gedicke, + Nicola Giuliani, + Sebastian Gonzalez-Pintor, + Ryan Grove, + Michael Harmon, + Daniel Jodlbauer, + Guido Kanschat, + Justin Kauffman, + Eldar Khattatov , + Uwe Koecher, + Alex Kokomov, + Paul Kuberry, + Dustin Kumor, + Konstantin Ladutenko, + Karl Ljungkvist, + Andrew McBride, + Mathias Mentler, + Andrea Mola, + Dragan Nikolic, + Vaibhav Palkar, + Spencer Patty, + Jonathan Perry-Houts, + Giuseppe Pitton, + Ce Qin, + Jonathan Robey, + Mayank Sabharwal, + Ali Samii, + Alberto Sartori, + Daniel Shapero, + Martin Steigemann, + Jihuan Tian, + Jaeryun Yim, + Liang Zhao + + +Their contributions are much appreciated! + + +\bigskip + +\dealii{} and its developers are financially supported through a +variety of funding sources: +\marginpar{update} + +% D.~Arndt was supported by the German Research Foundation (DFG) under the +% project ``High-order discontinuous Galerkin for the exa-scale'' (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 European Research Council (ERC) through the Advanced Grant 289049 MOCOPOLY and the Competence Network for Technical and Scientific High Performance Computing in Bavaria (KONWIHR). + +T.~Heister was partially supported by the Computational Infrastructure in +Geodynamics initiative (CIG), through the National Science Foundation +under Award No. EAR-0949446 and EAR-1550901 and The University of California -- Davis, and National Science Foundation grant DMS-1522191. +% +% M.~Kronbichler was partially supported by the German Research Foundation (DFG) +% under the project ``High-order discontinuous Galerkin for the exa-scale'' +% (ExaDG) within the priority program ``Software for Exascale Computing'' +% (SPPEXA), grant agreement no.~KR4661/2-1, the Bayerisches Kompetenznetzwerk +% f\"ur Technisch-Wissenschaftliches Hoch- und H\"ochstleistungsrechnen +% (KONWIHR), and the Gauss Centre for Supercomputing e.V.~by providing computing +% time on the GCS Supercomputer SuperMUC at Leibniz Supercomputing Centre (LRZ) +% through project id pr83te. +% +% 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 and the SVN archive. + + +\bibliography{paper}{} +\bibliographystyle{abbrv} + +\end{document}