Skip to content
pwl edited this page Mar 31, 2012 · 11 revisions

Table of Contents

Major concepts

Data storage

  • Users and modules have only access to icicles
  • To improve access time modules can save location of their data objects.
  • Wszystkie ewoluowane zmienne muszą zostać otagowane jako evolved.
  • Użytkownik może w prawej stronie i w modułach może wywoływać procedury różniczkowania przestrzennego dla konkretnych zmiennych.
  • Pochodne czasowe i pochodne przestrzenne są dodawane automatycznie przy starcie solvera do icicles.

Python ideas

numpy + f2py

Advanatages

Disadvantages

  • Threads created inside Fortran code cannot be controlled inside Python code and vice versa.
  • Performance issues when using callback from f2py
  • Too simplified interface between Fortran and Python (when using f2py), one can pass only scalars and vectors as arguments
  • f2py does not support pointers and user defined types, even those which are of type bind(c)
  • Impossible to pass e.g. Python objects to Fortran (see the above two points)
  • Still no __float128 support
  • The two layers of Python and Fortran would have to be too intrinsic for f2py

Other

Instead of using Python as a high level API, we can write simple script to generate fortran code from Python and to compile, link and run the result. What for?

C interoperability

Boundary conditions

  • Boundary conditions can be resolved using ghost points. Ghost points are well suited for a wide class of boundary conditions of the form $f(u,u',t)=0$