@misc {25206,
	title = {FEniCS: Sustainable Software Development Practices},
	year = {2017},
	month = {03/2017},
	address = {SIAM CSE17 PP108 Minisymposterium: Software Productivity and Sustainability for CSE and Data Science},
	abstract = {The FEniCS project aims to provide a high productivity environment for development of finite element based simulation software. Techniques applied to achieve this goal include mixed language programming and code generation, which enables writing high performance programs in a high level language. End-user productivity is a high priority goal in our software designs. To sustain the productivity of the multinational team of part-time developers (mainly researchers and students) is paramount to the long term survival of the project. To minimize the developer workload while making the process open and accessible to new contributors and users, we regularly question which tools are the best available for our needs. On this poster we will present our current tool choices and work flows for developers and the wider FEniCS community. This list includes version control, build systems, testing, release management, team communication, documentation, and end user support. The most recent addition to our toolbox are developer curated Docker images. We are investigating their usefulness in testing infrastructure, end user deployment, HPC cluster deployment, and as reproducible software environments to accompany journal publications. We welcome discussion on alternatives that can simplify our lives.},
	keywords = {FEniCS, Poster, Sofware Development},
	doi = {10.6084/m9.figshare.4696318.v1},
	author = {Martin Sandve {Aln{\ae}s} and Blechta, Jan and Jack S. {Hale} and Logg, Anders and Richardson, Chris and Ring, Johannes and Marie E. {Rognes} and Garth N. {Wells}}
}
@article {23578,
	title = {The FEniCS Project Version 1.5},
	journal = {Archive of Numerical Software},
	volume = {3},
	year = {2015},
	month = {12/2015},
	publisher = {Open Journal Systems, sponsored by the University of Heidelberg},
	author = {Martin Sandve {Aln{\ae}s} and Blechta, Jan and Johan Elon {Hake} and Johansson, August and Kehlet, Benjamin and Logg, Anders and Richardson, Chris and Ring, Johannes and Marie E. {Rognes} and Garth N. {Wells}}
}
@article {Simula.simula.2456,
	title = {Unified Form Language: a Domain-Specific Language for Weak Formulations of Partial Differential Equations},
	journal = {ACM Transactions on Mathematical Software},
	volume = {40},
	number = {9},
	year = {2014},
	publisher = {ACM},
	abstract = {We present the Unified Form Language (UFL), which is a domain-specific language for representing weak formulations of partial differential equations with a view to numerical approximation. Features of UFL include support for variational forms and functionals, automatic differentiation of forms and expressions, arbitrary function space hierarchies for multi-field problems, general differential operators and flexible tensor algebra. With these features, UFL has been used to effortlessly express finite element methods for complex systems of partial differential equations in near-mathematical notation, resulting in compact, intuitive and readable programs. We present in this work the language and its construction. An implementation of UFL is freely available as an open-source software library. The library generates abstract syntax tree representations of variational problems, which are used by other software libraries to generate concrete low-level implementations. Some application examples are presented and libraries that support UFL are highlighted.},
	author = {Martin Sandve {Aln{\ae}s} and Logg, Anders and Kristian B. {{\O}lgaard} and Marie E. {Rognes} and Garth N. {Wells}}
}
@inbook {Simula.simula.1110,
	title = {An Adaptive Finite Element Solver for Fluid-structure Interaction Problems},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {554-572},
	publisher = {Springer},
	organization = {Springer},
	chapter = {29},
	isbn = {978-3-642-23098-1},
	author = {Selim, Kristoffer},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@book {Simula.simula.1062,
	title = {Automated Solution of Differential Equations by the Finite Element Method},
	year = {2012},
	publisher = {Springer},
	isbn = {3642230989},
	author = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1114,
	title = {Automated Testing of Saddle Point Stability Conditions},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {655-670},
	publisher = {Springer},
	organization = {Springer},
	chapter = {36},
	isbn = {978-3-642-23098-1},
	author = {Marie E. {Rognes}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1112,
	title = {Block Preconditioning of Systems of PDEs},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {643-654},
	publisher = {Springer},
	organization = {Springer},
	chapter = {35},
	isbn = {978-3-642-23098-1},
	author = {Mardal, Kent-Andre and Joachim Berdal {Haga}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1104,
	title = {Cerebrospinal Fluid Flow},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {455-470},
	publisher = {Springer},
	organization = {Springer},
	chapter = {24},
	isbn = {978-3-642-23098-1},
	author = {St{\o}le-Hentschel, Susanne and Linge, Svein and Alf Emil {L{\o}vgren} and Mardal, Kent-Andre},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1070,
	title = {Common and Unusual Finite Elements},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {91-116},
	publisher = {Springer},
	organization = {Springer},
	chapter = {3},
	isbn = {978-3-642-23098-1},
	author = {Robert C. {Kirby} and Logg, Anders and Marie E. {Rognes} and Andy R. {Terrel}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.acdc.38,
	title = {A Comparison of Some Common Finite Element Schemes for the Incompressible Navier-Stokes Equations},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {395-418},
	publisher = {Springer},
	organization = {Springer},
	chapter = {21},
	isbn = {978-3-642-23098-1},
	author = {Valen-Sendstad, Kristian and Logg, Anders and Mardal, Kent-Andre and Narayanan, Harish and Mortensen, Mikael},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1108,
	title = {A Computational Framework for Nonlinear Elasticity},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {527-544},
	publisher = {Springer},
	organization = {Springer},
	chapter = {27},
	isbn = {978-3-642-23098-1},
	author = {Narayanan, Harish},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.acdc.40,
	title = {Computational Hemodynamics},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {439-454},
	publisher = {Springer},
	organization = {Springer},
	chapter = {23},
	isbn = {978-3-642-23098-1},
	author = {Valen-Sendstad, Kristian and Mardal, Kent-Andre and Logg, Anders},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1080,
	title = {Constructing General Reference Finite Elements},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {117-128},
	publisher = {Springer},
	organization = {Springer},
	chapter = {4},
	isbn = {978-3-642-23098-1},
	author = {Robert C. {Kirby} and Mardal, Kent-Andre},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.958,
	title = {A Coupled Stochastic and Deterministic Model of Ca2+ Dynamics in the Dyadic Cleft},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {611-627},
	publisher = {Springer},
	organization = {Springer},
	chapter = {33},
	isbn = {978-3-642-23098-1},
	author = {Johan Elon {Hake}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1082,
	title = {Discrete Optimization of Finite Element Matrix Evaluation},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {161-168},
	publisher = {Springer},
	organization = {Springer},
	chapter = {9},
	isbn = {978-3-642-23098-1},
	author = {Robert C. {Kirby} and Matthew G. {Knepley} and Logg, Anders and Scott, Ridgway and Andy R. {Terrel}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.962,
	title = {DOLFIN: a C++/Python Finite Element Library},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {173-225},
	publisher = {Springer},
	organization = {Springer},
	chapter = {10},
	isbn = {978-3-642-23098-1},
	author = {Logg, Anders and Garth N. {Wells} and Johan Elon {Hake}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.396,
	title = {Dynamic Simulations of Convection in the Earth{\textquoteright}s Mantle},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {587-602},
	publisher = {Springer},
	organization = {Springer},
	chapter = {31},
	address = {Berlin Heidelberg},
	abstract = {In this chapter, we model dynamic convection processes in the Earth{\textquoteright}s mantle: linking the geodynamical equations, numerical implementation and Python code tightly together. The convection is generated by heating from below with a compositionally distinct and denser layer at the bottom. The time-dependent nonlinear partial differential equations to be solved are the quasi-static Stokes equations with depth- and temperature-dependent viscosity and advection-diffusion equations for the composition and temperature. We present a numerical algorithm for the simulation of these equations as well as an implementation of this algorithm using the DOLFIN Python interface. The results show the compositional heterogeneities persist, but interact strongly with the convecting system, generating upwellings and moving as material from the surface displaces them. This chapter will be of interest to those seeking to model fluid discontinuities using field methods as well as those interested in mantle convection simulations.},
	isbn = {978-3-642-23098-1},
	author = {Vynnytska, Lyudmyla and Clark, Stuart and Marie E. {Rognes}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1064,
	title = {A FEniCS Tutorial},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	year = {2012},
	pages = {1-70},
	publisher = {Springer},
	organization = {Springer},
	chapter = {1},
	isbn = {978-3-642-23098-1},
	author = {Hans Petter {Langtangen}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1088,
	title = {FErari: an Optimizing Compiler for Variational Forms},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {235-243},
	publisher = {Springer},
	organization = {Springer},
	chapter = {12},
	isbn = {978-3-642-23098-1},
	author = {Robert C. {Kirby} and Logg, Anders},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1084,
	title = {FFC: the FEniCS Form Compiler},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {223-234},
	publisher = {Springer},
	organization = {Springer},
	chapter = {11},
	isbn = {978-3-642-23098-1},
	author = {Logg, Anders and Kristian B. {{\O}lgaard} and Marie E. {Rognes} and Garth N. {Wells}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1074,
	title = {Finite Element Assembly},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {137-142},
	publisher = {Springer},
	organization = {Springer},
	chapter = {6},
	isbn = {978-3-642-23098-1},
	author = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1068,
	title = {The Finite Element Method},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {73-90},
	publisher = {Springer},
	organization = {Springer},
	chapter = {2},
	isbn = {978-3-642-23098-1},
	author = {Robert C. {Kirby} and Logg, Anders},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1078,
	title = {Finite Element Variational Forms},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lec},
	volume = {84},
	year = {2012},
	pages = {129-136},
	publisher = {Springer},
	organization = {Springer},
	chapter = {5},
	isbn = {978-3-642-23098-1},
	author = {Robert C. {Kirby} and Logg, Anders},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1090,
	title = {Instant: Just-in-Time Compilation of C/C++ in Python},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {253-268},
	publisher = {Springer},
	organization = {Springer},
	chapter = {14},
	isbn = {978-3-642-23098-1},
	author = {Wilbers, Ilmar and Mardal, Kent-Andre and Martin Sandve {Aln{\ae}s}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.960,
	title = {Lessons Learned in Mixed Language Programming},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	volume = {84},
	year = {2012},
	pages = {363-381},
	publisher = {Springer},
	organization = {Springer},
	chapter = {19},
	isbn = {978-3-642-23098-1},
	author = {Johan Elon {Hake} and Mardal, Kent-Andre},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1102,
	title = {Simulation of Transitional Flows},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {419-438},
	publisher = {Springer},
	organization = {Springer},
	chapter = {22},
	isbn = {978-3-642-23098-1},
	author = {Mortensen, Mikael and Mardal, Kent-Andre and Hans Petter {Langtangen}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1092,
	title = {SyFi and SFC: Symbolic Finite Elements and Form Compilation},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {269-278},
	publisher = {Springer},
	organization = {Springer},
	chapter = {15},
	isbn = {978-3-642-23098-1},
	author = {Martin Sandve {Aln{\ae}s} and Mardal, Kent-Andre},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1076,
	title = {Tensor Representation of Finite Element Variational Forms},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {157-167},
	publisher = {Springer},
	organization = {Springer},
	chapter = {8},
	isbn = {978-3-642-23098-1},
	author = {Robert C. {Kirby} and Logg, Anders},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1094,
	title = {UFC: a Finite Element Code Generation Interface},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {279-298},
	publisher = {Springer},
	organization = {Springer},
	chapter = {16},
	isbn = {978-3-642-23098-1},
	author = {Martin Sandve {Aln{\ae}s} and Logg, Anders and Mardal, Kent-Andre},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inbook {Simula.simula.1096,
	title = {UFL: a Finite Element Form Language},
	booktitle = {Automated Solution of Differential Equations by the Finite Element Method},
	series = {Lecture Notes in Computational Science and Engineering},
	volume = {84},
	year = {2012},
	pages = {299-334},
	publisher = {Springer},
	organization = {Springer},
	chapter = {17},
	isbn = {978-3-642-23098-1},
	author = {Martin Sandve {Aln{\ae}s}},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@article {Simula.simula.1016,
	title = {A FEniCS-Based Programming Framework for Modeling Turbulent Flow by the Reynolds-Averaged Navier-Stokes Equations},
	journal = {Advances in Water Resources},
	volume = {34},
	number = {9},
	year = {2011},
	pages = {1082-1101},
	doi = {10.1016/j.advwatres.2011.02.013},
	author = {Mortensen, Mikael and Hans Petter {Langtangen} and Garth N. {Wells}}
}
@inbook {Simula.SC.178,
	title = {Automatic Calibration of Depositional Models},
	booktitle = {Automated Scientific Computing},
	year = {2010},
	publisher = {Springer},
	organization = {Springer},
	abstract = {A novel concept for calibrating depositional models is presented. In this approach transport coefficients are determined from well output measurements. Finite element implementation of the multi-lithology models and their duals is automated by the FEniCS project DOLFIN using a python interface.},
	author = {Schroll, Achim},
	editor = {Logg, Anders and Mardal, Kent-Andre and Garth N. {Wells}}
}
@inproceedings {Simula.acdc.54,
	title = {Building Flexible User Interfaces for Solving PDEs},
	journal = {AIP Conference Proceedings},
	volume = {1281},
	number = {1},
	year = {2010},
	pages = {1643-1646},
	publisher = {AIP},
	type = {Conference},
	abstract = {FEniCS is a collection of software tools for the automated solution of differential equations by finite element methods. In this note, we describe how FEniCS can be used to solve a simple nonlinear model problem with varying levels of automation. At one extreme, FEniCS provides tools for the fully automated and adaptive solution of nonlinear partial differential equations. At the other extreme, FEniCS provides a range of tools that allow the computational scientist to experiment with novel solution algorithms.},
	isbn = {978-0-7354-0834-0},
	doi = {10.1063/1.3498146},
	author = {Logg, Anders and Garth N. {Wells}},
	editor = {Theodore E. {Simos} and Psihoyios, George and Tsitouras, Ch.}
}
@article {Simula.SC.476,
	title = {DOLFIN: Automated Finite Element Computing},
	journal = {ACM Transactions on Mathematical Software},
	volume = {37},
	number = {2},
	year = {2010},
	author = {Logg, Anders and Garth N. {Wells}}
}
@article {Simula.SC.274,
	title = {Automated Code Generation for Discontinuous Galerkin Methods},
	journal = {SIAM Journal on Scientific Computing},
	volume = {31},
	number = {2},
	year = {2008},
	pages = {849-864},
	publisher = {SIAM},
	author = {Kristian B. {Oelgaard} and Logg, Anders and Garth N. {Wells}}
}
@inproceedings {Simula.SC.290,
	title = {Automated Computational Modelling for Solid Mechanics},
	journal = {IUTAM Symposium on Theoretical, Modelling and Computational Aspects of Inelastic Media},
	year = {2008},
	publisher = {Springer},
	type = {Conference},
	isbn = {978-1-4020-9089-9},
	author = {Kristian B. {Oelgaard} and Garth N. {Wells} and Logg, Anders},
	editor = {Reddy, Daya}
}
@manual {Logg.2006.7,
	title = {DOLFIN User Manual},
	year = {2007},
	publisher = {The FEniCS Project},
	isbn = {-},
	author = {Logg, Anders and Garth N. {Wells}}
}
