Skip to content

Python solutions to Fundamentals of Numerical Engineering Analysis 2nd edition

Notifications You must be signed in to change notification settings

mdclemen/py-fena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fundamentals of Engineering Numerical Analysis (Python)

Examples from Fundamentals of Engineering Numerical Analysis, 2nd Edition, by Parviz Moin (ISBN: 9780521711234). Solutions from http://numerics.stanford.edu/ta/index.html, converted to Python. Source code solutions for examples 6.14 and 6.15 is available from https://web.stanford.edu/group/fpc/ta/ch6/. Requirements:

  • Numpy - NumPy: array processing for numbers, strings, records, and objects.
  • Scipy - SciPy: Scientific Library for Python
  • Matplotlib - Python plotting package

Note: The original meshes for example 6.16 and 6.17 are unavailable, so approximations were generated based on the given domain geometries using the open source finite-element meshing software Gmsh. These geometries are contained in the files ch6ex16.geo and ch6ex17.geo, with the mesh nodes and elements stored in files ch6ex16_37.npz (37 elements), ch6ex16_491.npz (491 elements) and ch6ex17_1373 (1373 elements). These approximate the meshes used in the original example problems, and ch6ex16_37.pdf depicts the 37 element mesh as is done in figure 6.22 in the book. The solutions for these problems may be calculated using pure Python, but for meshes in excess of a few hundred nodes, this can be VERY SLOW. This is due to the Python "for" loop being interpreted rather than compiled. Therefore it is recommended to use the C implementations contained in funcs.c, or better yet use the OpenCL implementations in funcs.cl. The PyOpenCL package is required to use OpenCL, as well as an OpenCL compatible platform (i.e. CPU or GPU).

About

Python solutions to Fundamentals of Numerical Engineering Analysis 2nd edition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published