The FEM framework makes it easy to write adaptive parallel programs based on the Finite Element Method. Programs can be written in Fortran90, C, or C++.
FEM is no longer under development, but it has been replaced by the ParFUM framework, which supports additional features such as incremental mesh modification and full adjacency tables.
Using the FEM framework also allows you to take advantage of all the features of CHARM++, including run-time load balancing, performance monitoring and visualization, and checkpoint/restart, with no additional effort.
A parallel FEM application written using the FEM framework closely resembles a sequential program. The difference is that in the FEM framework, the user's main subroutine operates on one of the many "chunks" of the unstructured mesh. These chunks are created from the serial mesh using, for example, the Metis graph partitioning library.
The only other calls needed by an FEM framework program are to:
- Register data fields that need to be communicated between chunks (for example, nodal attributes)
- Trigger an "update" of these shared data fields across processors (for example, to share nodal forces before a position update)
- Reduce a value across the machine (for example, to check convergence criteria or global energy)
The framework allows you to easily visualize the results of an ongoing simulation. See the NetFEM page for details.
The framework currently targets explicit codes; although some implicit solvers, such as the conjugate gradient method, can also be applied. We are working to add better support for parallel implicit solvers.
Papers / Talks
-
13-162013
PaperParallel Science and Engineering Applications: The Charm++ Approach
- Laxmikant Vasudeo Kale
- Abhinav Bhatele
-
08-152008
PaperParallel Simulations of Dynamic Fracture Using Extrinsic Cohesive Elements
- Isaac Dooley
- Sandhya Mangala
- Laxmikant Vasudeo Kale
- Philippe Geubelle
-
08-132008
PaperA Case Study in Tightly Coupled Multi-paradigm Parallel Programming
- Sayantan Chakravorty
- Aaron Becker
- Terry Wilmarth
- Laxmikant Vasudeo Kale
-
06-172006
MS Thesis -
05-052005
MS Thesis -
03-012003
PaperFaucets: Efficient Resource Allocation on the Computational Grid
- Laxmikant Vasudeo Kale
- Sameer Kumar
- Jayant DeSouza
- Mani Potnuru
- Sindhura Bandhakavi
-
99-041999
PaperMultilingual Debugging Support for Data-Driven and Thread-Based Parallel Languages
- Parthasarathy Ramachandran
- Laxmikant Vasudeo Kale