I am seeking the optimal method for implementing DG on a parallel system. For my research, I come across two types of problems.
For the first problem, I am solving a time-independent (steady-state) boundary value problem. I end up with the stiffness matrix multiplied by the vector of my unknowns equal to the vector of the volume-integrated source function. In this case, it seems to me I have to solve the system as a whole since the surface fluxes are implicit on the neighbor solution.
For the second problem, I am solving a time-dependent initial value problem. After applying an explicit time discretization scheme, I end up with the mass matrix which I must invert and multiply to the vector of the stiffness matrix multiplied by the solution vector of the previous time step plus my volume-integrated source terms. In this case, it seems to me I do not have to solve the system as a whole since the surface fluxes in the last time step are known and can be passed to each local system as needed.
I currently solve both scenarios globally. Instead, is it possible to solve both scenarios locally over each cell? This to me would seem to greatly improve parallel efficiency (via domain decomposition) versus trying to solve a global system (though some parallelism can be achieved using Trilinos or another library to do the sparse matrix operations).