ANDY RAY TERREL
Texas Advanced Computing Center, University of Texas at Austin
Research Office Complex 1.101, J.J. Pickle Research Campus, Building 196
10100 Burnet Road (R8700), Austin, Texas 78758-4497
Tel: 806/410-0187, Fax: 512/475-9445
email: aterrel (at) tacc (dot) utexas (dot) edu, web: http://andy.terrel.us/
EDUCATION
Ph.D. in Computer Science, August 2010, The University of Chicago, Chicago, Illinois.
--Research Area: finite element methods and computational science
M.S. in Computer Science, June 2007, The Universiy of Chicago, Chicago, Illinois.
-- Thesis: FEM Automation with a case study on the Stokes equations
B.S. in Physics and Mathematics, cum laude, honors, May 2004, Texas Tech University, Lubbock, Texas.
B.A. in Philosophy, cum laude, honors, May 2004, Texas Tech University, Lubbock, Texas.
PEER REVIEWED PUBLICATIONS
M.G. Knepley and A.R. Terrel, "Finite Element Integration on
GPUs", submitted to ACM Transactions on Mathematical Software.
A.R. Terrel, R.C. Kirby, M.G. Knepley, L.R. Scott, and G.N. Wells, Finite elements for incompressible
fluids, in A. Logg, K.A. Mardal, and G. N. Wells, editors. Automated solutions of differential
equations by the finite element mehod. Springer-Verlag. Lecture Notes in Computational Science and
Engineering, Vol 84, 2011.
R.C. Kirby, A. Logg, and A.R. Terrel,Common and unusual finite elements, in A. Logg, K.A. Mardal,
and G. N. Wells, editors. Automated solutions of differential equations by the finite element mehod.
Springer-Verlag. Lecture Notes in Computational Science and Engineering, Vol 84, 2011.
R.C. Kirby, M.G. Knepley, A. Logg, L.R. Scott, and A.R. Terrel, Discrete optimization of finite element
matrix evaluation, in A. Logg, K.A. Mardal, and G. N. Wells, editors. Automated solutions of differential
equations by the finite element mehod. Springer-Verlag. Lecture Notes in Computational Science and
Engineering, Vol 84, 2011.
A.R. Terrel, "From equations to code:
Automated Scientific Computing", Computing in Science and Engineering,
March 2011.
A.R. Terrel, L.R. Scott, M.G. Knepley, R.C. Kirby, "Automated
FEM Discretizations for the Stokes Equation", BIT Numerical
Mathematics, July 2008, Vol 48, pp 389--404.
R.C. Kirby, A. Terrel, L.R. Scott, A. Logg, "Topological
optimization of the evaluation of finite element matrices", SIAM
Journal of Scientific Computing, January 2006, Vol 28 No 1, pp
224-240.
OTHER PUBLICATIONS
A.R. Terrel, "Finite element
method automation for non-Newtonian fluid models", PhD Thesis,
University of Chicago, Department of Computer Science April 2010.
A.R. Terrel, "FEM Optimization with a case study of the Stokes equations", Master's Thesis, University of Chicago, Department of Computer Science March 2007.
A.R. Terrel and K. R. Long, "Evaluation of Level Set Topology Optimization Formulations for the Design of Minimum-Dispersion Microfluidic Devices", NECIS Summer Proceedings 2006, Sandia National Labs.
A.R. Terrel, and B. Thacker, "A Global View of Cognitive Structure and Implications for Instruction and Assessment".
INVITED PRESENTATIONS
A.R. Terrel, "Numpy and Scipy as a DSL", Supercomputing 2011,
Birds of a feather session: Scripting languages and DSLs in HPC, Seattle, WA, Nov 2011.
A.R. Terrel, "The FEniCS project", FEMTEC'2011, South Lake Tahoe, May 2011.
A.R. Terrel, "Rheagen: rheology application engine", Mini-Symposium, SIAM Computational
Science and Engineering 2011, Reno, Nevada, February 2011.
A.R. Terrel, "FEniCS tutorial", 2nd European Seminar on Coupled
Problems, Pilzen, Czech Republic. June 2010.
A.R. Terrel, "Mathematical Interfaces for Automated Scientific Computing", Computing
Techniques Seminar, Fermi National Accelerator Laboratory, Batavia,
IL, November 2009 and ITTC Seminar, University of Kansas, Lawrence, Kansas, November 2007.
A.R. Terrel, "Algorithms for the Grade-Two Fluid Model", Simula Laboratories, Oslo, Norway, September 2008.
A.R. Terrel and M. G. Knepley, "FEniCS and Sieve Tutorial", Automated Scientific Computing Workshop, CCT center Louisiana State University, Baton Rouge, Louisiana, March 2008.
A.R. Terrel, "Abstractions in FEM Software", FEniCS'06, Delft Technology Institute, Delft, The Netherlands, November 2006.
A.R. Terrel, "Topology Optimizations with Applications in Microfluidics: a Comparison of Level Set Methods", Applied Mathematics Seminar, Department of Mathematics and Statistics, Texas Tech University, Lubbock, September 2006.
A.R. Terrel, "A Novice Uses FEniCS", FEniCS'05, Toyota Technical Institute at Chicago, Chicago, IL October 2005.
CONTRIBUTED PRESENTATIONS
A.R. Terrel, "Code Generation in Python", Supercomputing 2011,
Birds of a feather session: Python in HPC, Seattle, WA, Nov 2011.
A.R. Terrel and M.G. Knepley, "Code generation for complex fluids", 2nd
European Seminar on Coupled Problems, Pilzen, Czech Republic, June 2010.
A.R. Terrel and M.G. Knepley, "FEM automation of Oldroyd-B fluids", USNCCM 10, Columbus, Ohio. July 2009.
A.R. Terrel and M. G. Knepley, "Automation of Finite Element Assembly using a Topology Based Mesh Library", BIT Numerical Circus, Oslo, Norway, August 2008.
A.R. Terrel and M. G. Knepley, "Finite Element Assembly on Arbitrary Meshes", SIAM Conference on Parallel Processing for Scientific Computing, Atlanta, Georgia, March 2008.
A.R. Terrel, "FEM Automations with a case study on the Stokes Equations", Masters Presentation, Department of Computer Science, University of Chicago, Chicago, IL, March 2007.
A.R. Terrel, "A Case for Developing with a PDE Language", SIAM Computer Science and Engineering, Costa Mesa, CA, February 2007.
A.R. Terrel, "Optimizing Local Matrix Computations for Finite Element Methods", SIAM Annual Meeting, New Orleans, June 2005.
RESEARCH EXPERIENCE
Research Associate, Texas Advanced Computing Center, University of Texas at Austin, November 2011 - present.
Postdoctoral Fellow, Texas Advanced Computing Center, University of Texas at Austin, April 2010 - April 2011.
Researched automation of scientific simulations with the FLAME project with
Victor Eijkhout and Robert van de Geijn.
Research Assistant in Computer Science Department of University of Chicago, September 2004 - 2010.
Researched optimization and evaluation of finite element methods.
Givens Fellowship, Argonne National Lab, Mathematics and Computer Science Division, Summer 2009.
With Dmitry Karpeev and Matthew G. Knepley, researched integral operator compression using wavelet basis.
Visiting Research Assistant, Delft Technical University, Delft, The Netherlands, Jun-Dec 2008.
With Garth N. Wells, researched algorithms for non-Newtonian fluids.
Internship, Sandia National Labs, Computer Science and Mathematics Division, Livermore, CA, Summer 2006.
With Kevin Long, researched PDE constrained optimization methods with level set
functions for topology optimizations and contributed to the Sundance software package.
Research Assistant in Physics Department of Texas Tech University, August 2001- May 2004.
With Beth Ann Thacker, I researched physics education developing cognitive models based on physics teaching.
TEACHING EXPERIENCE
Teaching Certificate in University Teaching, Center for Teaching and Learning, University of Chicago, 2010.
Lecturer, World Wide Web Programming: Java and SQL, Computer Science Department, University of Chicago, Spring 2009.
- Prepared curriculum and materials,
- Lectured 3 hours a week, and
- Oversaw teaching assistants for grading and lab section.
- Prepared lab based on corresponding lecture material, and
- Taught 2 hour weekly lab.
- Helped develop new first year experience program, and
- Taught weekly 2 hour philosophy and humanities discussion sections.
- Developed peer-learning projects for non-major physics class,
- Graded assignments, and
- Collected and analyzed data to assess learning.
OTHER EXPERIENCE
Scientific Software Developer, Enthought Inc., 2011.
- Worked as a consultant for Wall Street client speeding up data intensive apps by over 100X,
- Contributed to open source interactive plotting software, and
- Built relationships with scientific clients and authored research proposals.
- Provided general maintenance on 200+ servers (Debian Linux/GNU, OpenBSD, and Solaris),
- Migrated various services such as Apache webserver, MySQL databases, and Amanda backup system from legacy hardware, and
- Supported custom systems scripts in Python, Perl, and Bash.
- Taught non-majors introduction to Java and SQL, Spring 2009, and
- Taught honors introductory computer science lab (using Scheme), Autumn 2006 and Autumn 2007.
First stage start-up company developing a network storage appliance.
- User interface and system management team,
- Engineered distributed testing infrastructure for multiple platforms,
- Provided technical support and client liaison for first beta installation, and
- Recruited, interviewed, and mentored software developers.
SERVICE
Organizer Supercomputing conference 2011, Birds of a Feather, Python in HPC
Program Committee Supercomputing conference 2011, Python in HPC workshop
Organizer of FEniCS 2011 Conference.
Participant of Austin GiveCamp 2011.
Mentor for Google Summer of Code, Summer 2009 and 2010.
Reviewer for
- Scientific Computing,
- Journal of Computational and Applied Mathematics,
- International Journal of Computer Applications in Technology,
- Automated Scientific Computing, a contributed collection from Springer-Verlag, and
- Java textbook published by Pearson Addison Wesley.
Session chair, SIAM Conference on Parallel Processing for Scientific Computing, Atlanta, GA, February 2008.
PUBLIC SOFTWARE
Ignition author: a collection of numerical code generation tools.
FEniCS contributor: a collection of free software projects that uses finite element methods to
automate computational mathematical modeling.
- Principal author of Rheology Application Engine (rheagen), an automated non-Newtonian fluid model simulation engine,
- Manager of the FEniCS-Apps repositories, and
- Contributed to the DOLFIN, FIAT, and FERRARI subprojects.
Other projects: significant or regular contributions to:
- Sympy: a free Python based computer algebra system,
- Sundance: a finite element modeling package from Sandia National Laboratory, and
- PETSc: a large scale linear algebra package from Argonne National Laboratory.
PROGRAMMING EXPERTISE
I have a wide array of programming skills, see chart below, coming from both professional and hobbyist experience. My top professional skills include:
- Scientific simulation techniques,
- Concurrent and distributed computing, and
- Generative programming techniques.
| Area | Tools/Skill |
|---|---|
| Languages | Python, C/C++, Java, Scheme, Perl, Haskell |
| Parallel | MPI, OpenMP, CUDA, OpenCL |
| Scientific Programming | FEniCS, PETSc, Matlab, Mathematica, Numpy/Scipy, SymPy |
| Web | LAMP, SQL, HTML, CSS, Javascript, Django, ExtJS, Tomcat |
| Source Control | GIT, Mercurial, SVN, CVS |
| Documents | LaTeX, Sphinx, MS Office |


