Dear petsc-dev folks, as I've just started at the MCS division and met only some PETSc-developers in person, I would like to take the rather old-fashioned step of introducing myself to non-MCS developers.
Coming from a microelectronics/numerical mathematics background, my main work throughout my prae-doc years has been on deterministic solution approaches (i.e. non-Monte-Carlo) for Boltzmann's equation for semiconductors. To do so, the usual FEM/FVM requirements need to be met: Mesh handling, linear system assembly, linear system solves, plus some nonlinear headaches. As the complexity of monolithic codes does not blend well with the come-and-go of PhD students at my previous workplace, I've decided to take a library-centric approach, leading to a couple of orthogonal high-level C++ libraries. Out of these, the most widely used/known library is ViennaCL [1], which provides OpenCL-based linear algebra operations at the convenience of CPU-based high-level C++ libraries such as Boost.uBLAS. Other libraries I've authored and which are worth mentioning in this context are ViennaGrid [2] (mesh handling) and ViennaData [3] (generic data storage) plus the still rather immature ViennaMath [4] (static and dynamic symbolic math kernel targeted towards PDEs) and ViennaFEM [5] (finite elements, using ViennaMath). My future work on PETSc will presumably focus on multicore architectures and extended GPU support. However, I'm still exploring options in order to find the sweet spot where I can contribute most. Discussions and proposals here on petsc-dev will follow :-) Best regards, Karli [1] http://viennacl.sourceforge.net/ [2] http://viennagrid.sourceforge.net/ [3] http://viennadata.sourceforge.net/ [4] http://viennamath.sourceforge.net/ [5] http://viennafem.sourceforge.net/
