Friday, June 11, 2010

week June 5 -- June 11

On Sunday I moved to Livermore.

On Monday I rebased my patches for Euler Equations, DG and FVM for hermes2d, sent for review. Unfortunately it took till Friday until they got reviewed, but they are now in.
I couldn't sleep, so at around midnight I turned on my computer and rewrote the build system for femhub, it took me about 1.5h. Then I could finally sleep well.

On Tuesday I had my new hire orientation. During it I wrote couple more patches for femhub.

On Wednesday I got my badge and spent the rest of the day with paperwork. They didn't manage to get my computer setup, so I studied a bit of Quantum Field Theory from a book that I found in our room and then spent the rest of the night figuring out the weak formulation for the radial Dirac equation. So far no luck, but at least I wrote it in many different forms in my hand written notes. Sometimes it's not bad to be cut off the internet and computers.

On Thursday I got my computer account setup and spent most of the day with paperwork.

On Friday I finally did some real work. Then we got to a pub, got home and drank the rest of my Budvars (Czechvar) and Plzeňs (Pilsner Urquell).

The FEMhub build system is really cool. It's written in Python and I totally got rid of the old Sage build system. Some features of the new one:

* dependencies
* automatically uses all your processors (unless told otherwise)
* simple Python script (414 lines) that handles everything, plus sage-env, sage-spkg and sage-make_relative scripts (the rest I simply deleted)
* allows you to install just some packages, for example "./femhub -i python" just installs python and it's dependencies
* allows you to unpack any package into the devel/ directory and then build it

I will not use it to develop hermes1d+schroedinger and dirac solvers over the summer, so it will likely get improved in the coming weeks. (I have to use it, because my computer is some old RHEL5, and I don't have a root access. With FEMhub, I have all the Python libraries plus cmake and similar stuff right there. It's really awesome.)

In total, I wrote 52 patches for FEMhub, 3 for hermes_common, 9 for hermes2d, 8 for hermes1d and 1 for sympy:

FEMHUB:
Ondrej Certik (52):
scipy and python upgraded
Remove the old buildsystem
New Python based buildsystem implemented
Install hermes2d by default
Compile in parallel
Let CmdException propagate
Handle dependencies
Fix the PYTHONPATH issue
Add a check that IPython is installed
Add Cython dependency to hermes2d
Add matplotlib to hermes2d deps
Keep track of installed packages
Add the -j option
Add the rest of the packages
Disable sphinx for now
Add a todo item
Disable mayavi for now
Add pysparse to fipy deps
Change the banner
Fix a typo
Remove old .hg files
setuptools added into fipy's deps
lab() implemented
Don't let other import errors to pass silently
Build bzip2 before Python
Simplify the makefile
Add the jinja2 package
Remove one forgotten " from a message
--shell and -s/--script options implemented
Fix cmake so that it builds if old cmake is present
expandvars() added to cmd()
Remove the rest of old buildsystem files
Move spd imports to femhub imports
Move download_packages into the femhub buildsystem
Remove a forgotten file from the old buildsystem
Create the standard directory if it doesn't exists
Polish the banner appearance
femhub-run: little refactoring
Use proper ipythonrc and matplotlibrc
Wrap lab(), add debugging statements
Don't import lab() in the ipythonrc
Fix the missing "-p" when creating the standard directory
Fix the problem with ambiguous names
cpu_count refactored
hermes1d added
-f/--force option added
--unpack added
--pack option implemented
--devel-install option implemented
Use MAKEFLAGS instead of MAKE env variable
Improve the FEMhub shell prompt
Print info when unpacking


hermes2d:
Ondrej Certik (9):
Removing the old-code directory
hermes_common update
Reformat the documentation in the Geom class
Python wrappers updated
Regenerate the _hermes2d.cpp
plot.py: ScalarView updated
Element orientation exported
Sanity checks and docs
Add all shapefunctions to the space L2

hermes1d:
Ondrej Certik (8):
spkg-install added
"make install" implemented
Make it build on the Mac
Allow to turn off examples
Use std::max(), fixed several warnings
hermes_common updated
Fix h1_polys.py to work with FEMhub's SymPy
Fix the new line warning

hermes_common:
Ondrej Certik (3):
Add numpy2c_double_inplace() to _hermes_common.pxd
Update the generated cpp file
Fix a small double -> int bug/warning

sympy:
Ondrej Certik (1):
pyglet: fix string exceptions

No comments: