There are many exciting developments on the horizon (no pun intended) for openGR. The following presents an outline for functionality that we plan to incorporate into the next release of openGR.
- Development API
- A development API will provide a set of standardized classes which provide functionality that is abstracted away from the developer. This will allow for more scaled development cycles allowing developers using the openGR framework much more flexibility to utilize the provided method implementations, or inherit and implement their own, all while maintaining the level of performance of the overall system. This will also provide an added benefit of reduced compile times, and increased ability to incorporate application specific optimizations. Our development API is being developed with only general relativity simulations in mind so that developers using openGR will not be presented with unnecessary complication and documentation, allowing them to focus on the physics.
- Adaptive Mesh Refinement
- Adaptive mesh refinement allows simulations to conserve computational resources by minimizing extraneous grid points in areas of little physical activity. With in our framework, the developer will be able to inherit our mesh refinement schemes or implement his or her own. Because openGR also encorporates the multigrid method, independent patches will be able to implement independent AMR schemes.
- Automated Testing and Visualization Utilities
- The data from large simulations can be quite unweildy to work with directly, so it is important to have a set of tools to render visualization materials which can be run on a cluster itself. For the second release of openGR we will distribute our set of automated testing and visualization utilities geared towards general relativistic simulations.