Thanks to Mihai and Wolfgang for the ideas. I will switch to CG for the 2-D code.
> I also tried doing > > > > std::vector< FullMatrix<double> > inv_mass_matrix; > > > > inv_mass_matrix.resize( triangulation.n_cells() ); > > > > But then I could not allocate memory for the FullMatrix objects. > > Why not? What happens when you do > inv_mass_matrix.resize (triangulation.n_cells(), > FullMatrix (dofs_per_cell, dofs_per_cell)); > ? > > I did not know that resize can take a second argument. I was instead searching for a resize function for FullMatrix. I have got a basic 1-d code solving Euler equations using RKDG. Only first order works now since I need to implement some form of limiter. I am using subdivided_hyper_cube to make the grid. Then I know the order of the face indices and cell numbering. I dont plan to do any refinement. So I first compute flux using some Riemann solver at all cell faces and store them. Then while assembling the rhs, I am using these fluxes. Basically I dont want to compute flux at a face twice. I dont know how to do this in 2d. Storing all the face fluxes would be expensive. I have looked at MeshWorker in Step-12. But it seems to be used for assembling matrices. Is it useful for RKDG type schemes where I really dont assemble any matrices ? Does MeshWorker avoid computing face flux more than once ? Thanks praveen PS: My updated code is at the same place (r194) http://code.google.com/p/cfdlab/source/browse/trunk/deal.ii/dg_ns_1d/dg.cc
_______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
