Examples of Linking Codes Within GeoFramework
Abstract
Geological processes usually encompass a broad spectrum of length and time scales. Traditionally, a modeling code (solver) is written to solve a problem with specific length and time scales in mind. The utility of the solver beyond the designated purpose is usually limited. Furthermore, two distinct solvers, even if each can solve complementary parts of a new problem, are difficult to link together to solve the problem as a whole. For example, Lagrangian deformation model with visco-elastoplastic crust is used to study deformation near plate boundary. Ideally, the driving force of the deformation should be derived from underlying mantle convection, and it requires linking the Lagrangian deformation model with a Eulerian mantle convection model. As our understanding of geological processes evolves, the need of integrated modeling codes, which should reuse existing codes as much as possible, begins to surface. GeoFramework project addresses this need by developing a suite of reusable and re-combinable tools for the Earth science community. GeoFramework is based on and extends Pyre, a Python-based modeling framework, recently developed to link solid (Lagrangian) and fluid (Eulerian) models, as well as mesh generators, visualization packages, and databases, with one another for engineering applications. Under the framework, a solver is aware of the existence of other solvers and can interact with each other via exchanging information across adjacent boundary. A solver needs to conform a standard interface and provide its own implementation for exchanging boundary information. The framework also provides facilities to control the coordination between interacting solvers. We will show an example of linking two solvers within GeoFramework. CitcomS is a finite element code which solves for thermal convection within a 3D spherical shell. CitcomS can solve for problems either within a full spherical (global) domain or a restricted (regional) domain of a full sphere by using different meshers. We can embed a regional CitcomS solver within a global CitcomS solver. We not that linking instances of the same solver is conceptually equivalent to linking to different solvers. The global solver has a coarser grid and a longer stable time step than the regional solver. Therefore, a global-solver time step consists of several regional-solver time steps. The time-marching scheme is described below. First, the global solver is advanced one global-solver time step. Then, the regional solver is advanced for several regional-solver time steps until it catches up global solver. Within each regional-solver time step, the velocity field of the global solver is interpolated in time and then is imposed to the regional solver as boundary conditions. Finally, the temperature field of the regional solver is extrapolated in space and is fed back to the global. These two solvers are linked and synchronized by the time-marching scheme. An effort to embed a visco-elastoplastic representation of the crust within viscous mantle flow is underway.
- Publication:
-
AGU Fall Meeting Abstracts
- Pub Date:
- December 2003
- Bibcode:
- 2003AGUFMNG11A0182T
- Keywords:
-
- 3210 Modeling;
- 8120 Dynamics of lithosphere and mantle: general;
- 8160 Rheology: general