22.07.2013 Views

online .pdf paper (for personal use only) - Chair of Materials Science ...

online .pdf paper (for personal use only) - Chair of Materials Science ...

online .pdf paper (for personal use only) - Chair of Materials Science ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Appendix C.<br />

Numerical implementations<br />

C.1. Programming language, libraries and<br />

tools<br />

The numerical work presented in this thesis was done using Open Source<br />

tools exclusively:<br />

• As a programming language, Python (http://www.python.org) by<br />

G. Rossum et al. was chosen due to its flexibility. Being an interpreted<br />

language, small scripts can be written with minimal overhead,<br />

allowing many ideas to be tried out. Yet, unlike other scripting<br />

languages, Python encourages the author to write clear and wellstructured<br />

code that can be well maintained and re<strong>use</strong>d.<br />

• The library NumPy (http://www.numpy.org) by T. Oliphant et al.<br />

allows the very efficient and elegant handling <strong>of</strong> arrays <strong>of</strong> numerical<br />

data within Python. For many numerical problems, this approach<br />

completely eliminates the per<strong>for</strong>mance penalty <strong>of</strong> the interpreted<br />

language. Handled correctly, the bulk <strong>of</strong> the computations runs at<br />

the full speed <strong>of</strong> C or Fortran, with the <strong>use</strong>r <strong>only</strong> writing Python<br />

code or, in special situations, small snippets <strong>of</strong> compiled code.<br />

• The library SciPy (http://www.scipy.org) by E. Jones et al. contains<br />

a collection <strong>of</strong> numerical algorithms based on NumPy.<br />

• The library pyTables (http://www.pytables.org) by F. Altet et al. was<br />

<strong>use</strong>d <strong>for</strong> the storage <strong>of</strong> numerical data. This library gives highly<br />

efficient and elegant access to HDF5 data files, storing numerical<br />

data in full binary precision in flexible hierarchical structures. The<br />

library is fully integrated with NumPy.<br />

183

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!