Hello, I was wondering if it is possible to change the ordering of the degrees of freedom in a numeric vector. In my application the domain is splitted in two parts, one containing the elements considered to be fine and the other the coarse ones. When we integrate the equations in time I use different coefficients for the different domains and this leads to a code like this one:
for(int i=0;i<coarse_dofs.size();i++) { dof = coarse_dofs[i]; vj->set(dof,mu[0]*(v1->el(dof))+nu[0]*(v2->el(dof)) + /*......*/); } for(int i=0;i<fine_dofs.size();i++) { dof = fine_dofs[i]; vj->set(dof,mu[1]*(w1->el(dof))+nu[1]*(w2->el(dof)) + /*......*/); } Obviously fine_dofs and coarse_dofs are not contiguous sets of indexes and the above loops are quite slow. So, if I can modify the dof_map so that every processor owns a set of degrees of freedom in which the first ones are the coarses end the others the fines I hope to get some performance improvements. I think that modifying the dof_map would be the easiest way because it wouldn't require any further code modification since also the matrices will be correctly reordered. Thanks ;) ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users