iMesh, iMeshP Use Cases The use cases below describe the PDE to be solved, and any application-imposed constraints on the parallel solution approach. These are meant to illustrate the use of the iMesh and iMeshP interfaces to solve these problems. For a given use case, describe how the constructs proposed for iMesh and iMeshP (e.g. Process, iMesh/iMeshP Instances, iMesh/iMeshP API functions, Partition, Part) will be used to solve the problem. While not absolutely required, this will generally require desription of: - the basic approach to distributing the domain and computations for the domain across Processes - what kind of communications are done in general, and how those interact with iMeshP constructs - the basic steps of the computational or time step kernel, and how they interact with iMeshP/iMesh. ===================== Use case 1: Solve a discretized PDE with FEM using spatial domain decomposition --------------------- Problem statement Solve a function dF/dx = f(x) on a spatial domain with prescribed boundary conditions. =============================== Use case 2: Radiation transport ------------------------------- Problem Statement In this use case, the radiation flux phi(x,E,t) is computed over a finite element grid, with flux values stored at vertices. In a very simplified form, the implicit formulation of this equation can be written as: d/d(x,E,t) phi(x,E,t1) = f(S(x,E), phis(x,t0)) where phis(x,t) = sum_E{w_E phi(x,E,t)} is the scalar flux, a weighted sum of energy-dependent fluxes phi(x,E,t). The discretized problem is partitioned into S spatial domains {si} and E energy domains {ej}. A given time step solution consists of two parts. First, across an energy subdomain ej, the problem is solved over the spatial subdomains si using a domain decomposition PDE solution method; the result is an phi(v(si),ej,t0), the radiation flux for a given energy ej at each vertex si. Second, the energy-based flux is converted to a scalar phi(v(si),t0), by computing a weighted sum over energy subdomains ej of the flux at each vertex, phi(v(si),ej,t0). The scalar flux is used in computing the energy-dependent flux phi(v(si),t1) on the next time step. =============================== Use case 3: Structural dynamics with parallel contact detection ------------------------------- Problem Statement Solve a structural dynamics problem: d/dt^2 x(x,t) = f(x,t) over a volumetric domain V with multiple connected sets V_k, handling cases where connected sets come into contact and exert force on each other when their boundaries collide. Solve each time step in two phases. In the first phase, solve for new positions x(x,t) using a standard (spatial) domain decomposition FEM, with each process responsible for computing behavior of a spatial subdomain. In the second phase, for all faces bounding single volume elements (i.e. not contiguously connected to two volume elements), given the length of the next timestep t, compute location and time of collision of any two faces in that set. Solve this second phase by distributing faces over processes according to spatial proximity, based on some space-filling decomposition of the bounding box of all volume elements (which will by definition enclose all bounding faces). No restrictions should be placed on which process is assigned a volume element and any of its connected boundary faces; that is, a volume and its connected boundary faces are not required to be solved by the same process.