Friday, June 18, 2010

June 12 -- June 18

This week I have implemented a JSPlot library, which allows to use matplotlib API, but plot into your web browser:
http://github.com/certik/jsplot
(Scroll down a little bit to see the screenshots and examples.)

This was the last missing piece to be able to develop with FEMhub (I don't have a root access to my computer, running RHEL5). Now I have the full Python stack working (scipy, all the solvers, mayavi, ...), plus nice plotting in the browser.

I have spent several days investigating how to write weak forms for the radial Dirac equation as well as how to derive the action for it. It turns out, that one takes the Lagrangian from quantum electrodynamics (QED), converts it to spherical coordinates (which you can imagine is a hell of a job) and then integrates over angles and what remains is the Lagrangian (resp. action) for the radial Dirac equation. People used that in the literature a lot, but I just could not figure out where they take the functional from. So that part is clear and then I went to coding.

Here are the commits for JSPlot:

Ondrej Certik (38):
Initial commit
Make index.html work
README added
Hook up raphael
Serve raphael-min.js locally
Plot simpler stuff
Works fine
plots work
Download all the raphael stuff locally
raphael.html added
Use {% url %}
Use simpler urls
Typo fix
Flotr demo added
Use flotr in the index page
Don't recalculate
Add data by hand
Generate the data in Python
Add another flotr demo
Example mpl plot added
jsplot example added
runserver.py added
Hook it up with jsplot
Add a screenshot
Better README added
README improved
Show some testing data
Use better testing data
License added
setup.py added
Use testing data if data == []
Just return from the function on CTRL-C
spkg-install added
prepend the .. path, instead of append
Use the proper local files in ./manage.py
Turn off points
Fix a bug
Add grid and legend

I fixed some scipy warnings in hermes2d:

ondrej@crow:~/repos/hermes2d(master)$ git weekreport
Ondrej Certik (4):
hermes_common updated
Fix the other SciPy warning in Python wrappers
Update the generated .cpp file
update hermes_common

I have fixed Python wrappers in hermes1d, made the Schroedinger example work again:

ondrej@crow:~/repos/hermes1d(master)$ git weekreport
Ondrej Certik (19):
Use jsplot if available
Build everything for now
Make the Python wrappers work again
Fix the lhs/rhs/residual to build properly
Polish the forms a little bit
Enable assembling
Implement c2py_Mesh
Use c2py_Mesh in the schroedinger example
Update insert_matrix in Schroedinger
Fixed the rest in Schroedinger
copy_mesh_to_vector() and copy_vector_to_mesh() added to the Mesh class
Use JSPlot
Linearizer.get_xy() fixed
Implement Mesh.copy_vector_to_mesh() and use it from get_xy()
Use CooMatrix to assemble
Implement pysparse solver
Polish the numpy solver
Polish the printing a little bit
Rename assemble_jacobian() to assemble_matrix()

I fixed some build issues with FEMhub:

ondrej@crow:~/repos/femhub(master)$ git weekreport
Ondrej Certik (3):
Add gnutls dependency for Python
opencdk added
Fix libgpg_error to build in parallel

and I have some more patches to the build system in my "pu" branch at github:

* 44398d8 (github/pu) Use absolute paths in "femhub -i"
* 2b17bf0 Fix "femhub --devel-install" to normalize the paths
* 3b41261 Make "femhub --shell" stay in the current directory

I still need to test that femhub builds fine with those (it always takes quite some testing to make sure it builds properly).

No comments: