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

Reply via email to