• Stars
    star
    361
  • Rank 114,189 (Top 3 %)
  • Language
    Jupyter Notebook
  • License
    Other
  • Created almost 7 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Book: Introduction to Python for Computational Science and Engineering

Binder

Book Deploy

DOI License: CC BY-NC 4.0

Introduction to Python for Computational Science and Engineering

An Introduction to Python for Computational Science and Engineering, developed by Hans Fangohr (2003-2021).

The content and methods taught are intended for a target audience of scientists and engineers who need to use computational methods and data processing in their work, but typically have no prior programming experience or formal computer science training.

The book is available:

The book is based on Python 3.

(A Python 2.7 version is available online)

Why use this book? (Feedback from user)

Readers looking for a beginner's guide to Python are faced with a bafflingarray of choices. However, Introduction to Python for Computational Science and Engineering, by Hans Fangohr is uniquely valuable because it is specifically aimed at those of us who are engaged in applied science or scientific research. The book is concise, well organized and full of practical examples that the reader can implement as they are going along. The key concepts of programming are introduced in the first half of the book, while the second half focuses on science/engineering applications: numerical methods, optimization, scientific plotting, and data science. This book is a must-have companion for anyone learning to use Python to enable their work in applied science or scientific research." - Simon Box, Head of Virtual Development at Aurora Innovation.

Translation

The book is available in Portuguese (pdf).

Acknowledgments

Thanks go to Robert Rosca, Thomas Kluyver, Neil O'Brien, Jacek Generowicz, and Mark Molinari for various contributions (see last chapter for details). Special thanks to all readers, users and students who have provided feedback and corrections.

We acknowledge support from EPSRC (GR/T09156/01 and EP/G03690X/1) and from the OpenDreamKit Horizon 2020 European Research Infrastructures project (#676541).

Feedback?

If you have used these materials and have some feedback (positive or negative), please get in touch with Hans Fangohr.

Favour request and citation

If you are using the book (be it as a teacher in your lecture course, as a student to support your learning, or in any other role), please send a short message to Hans (mailto:[email protected]) . Ideally, this would contain at which university/institution/company you are and how you use the book (in one sentence). This kind of data is useful to support further maintenance and extensions of the materials.

Please use this citation:

For BibTeX:

@misc{fangohr-python-book,
  doi = {10.5281/ZENODO.1411868},
  url = {https://github.com/fangohr/introduction-to-python-for-computational-science-and-engineering},
  author = {Fangohr,  Hans},
  keywords = {Python,  Education,  Textbook,  Computational Science,  Data Science,  Jupyter},
  language = {en},
  title = {Introduction To {Python} For Computational Science And Engineering},
  publisher = {Zenodo},
  year = {2018}
}

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

The book can be downloaded, used and re-distributed for non-commercial purposes, i.e in particular for education purposes at universities, research institutes and schools. Please send a message to the author if you do so.

Author

Hans Fangohr is a researcher and teacher (see homepage, blog, twitter). His interests include effective software engineering for computational science and data science, researching computational modelling and data analysis methods, and education. He is a Professor at the University of Southampton (UK) and Head of the Scientific Support Unit for Computational Science at the Max Planck Institute for Structure and Dynamics of Matter (Germany).


Historical note: CI was done on Circle CI until 23 August 2018, then switched to Travis CI. A further switch in December 2020 to GitHub workflows.

More Repositories

1

template-latex-paper-from-orgmode

Set of files to create a latex document from orgmode
Emacs Lisp
33
star
2

oommf

OOMMF source code in git repository
C++
22
star
3

plot_vtk_matplotlib

Plotting VTK files in Matplotlib
Jupyter Notebook
17
star
4

finmag

Finmag source
Jupyter Notebook
11
star
5

micromagnetic-standard-problem-ferromagnetic-resonance

Ferromagnetic standard problem supplement
Python
9
star
6

template-beamer-metropolis-from-orgmode

Set of files to create beamer presentation, from Emacs' orgmode, in the beamer 'metropolis' theme
Emacs Lisp
8
star
7

paper-supplement-standard-problem-dmi

Electronic and additional information for manuscript on micromagnetic standard problem DMI
Jupyter Notebook
8
star
8

oommf-python

Python interface for OOMMF
Jupyter Notebook
8
star
9

containers-for-science

Introduction to use of containers for computational science and data analysis
HTML
7
star
10

ovf2vtk

Conversion tool, translating OOMMF's omf/ovf files to vtk files (Visualisation Tool Kit)
Python
5
star
11

talk-pyconde-2018

Support material for presentation 25 October 2018 at PyConDE
Jupyter Notebook
5
star
12

octopus-in-spack

Develop Octopus in spack (software packaging)
Python
3
star
13

jupyter-demo

Introducing basics of Jupyter Notebook (intended to be used in presentation / chat)
Jupyter Notebook
3
star
14

fenics-anisotropic-magneto-resistance

Tools to compute AMR signal for given magnetisation
Python
2
star
15

polygon-finite-difference-mesh-tools

Python
2
star
16

paper-supplement-2016-dmi-nanocylinder-hysteresis

Supplementary information for Rebecca Carey's paper on Hysteresis of nanocylinders with DMI
Jupyter Notebook
2
star
17

paper-supplement-2016-domain-wall-motion

Code to reproduce the figures show in manuscript "An upper limit for current-induced domain wall motion in cylindrical nanowires"
Mathematica
2
star
18

nmag-meta

Shell
2
star
19

nmag-www

CSS
2
star
20

paper-supplement-ocaml-performance

Supplementary material for Nmag review paper, focussed on performance of OCaml code for numerics
OCaml
2
star
21

nmag.github.io

Nmag webpages
HTML
2
star
22

tdd-with-jupyter

Gathering some ideas for test driven development with Jupyter
Jupyter Notebook
2
star
23

paper-2016-Cortes-etal-NEBM-test-system

Supplementary information for manuscript by David Cortes et al
Jupyter Notebook
2
star
24

paper-supplement-nanoparticle-sensing

Supplementary material for the paper "Frequency-based nanoparticle sensing over large field ranges using the ferromagnetic resonances of a magnetic nanodisc""
Jupyter Notebook
2
star
25

nmag-releases

Releases of the Nmag software
1
star
26

reproducibility-repository-example

Demonstrate use of a file repository for computational reproducibility
Jupyter Notebook
1
star
27

dolfinh5tools

Tools to save multiple dolfin functions and multiple time steps to hdf5
Python
1
star
28

latex-for-report-writing

Teaching materials: Practical tips for report writing with LaTeX
PostScript
1
star
29

demo-github-ci

Tiny project to demo use of github workflows
Python
1
star
30

config-i3wm-osx

config files for emulation of i3wm setup on OSX
Shell
1
star
31

tmp-micromagnetic-standard-problem-ferromagnetic-resonance-travis

create travis build of testing
Python
1
star
32

paper-supplement-2020-skyrmion-tube

Material to supplement Real-space imaging of confined magnetic skyrmion tubes
Jupyter Notebook
1
star
33

mpimag

Towards an MPI micromagnetic code
Jupyter Notebook
1
star