@@ -138,27 +139,31 @@ int main(int argc, char ** argv)
numref=m.Integrate(numref);
if(numref)
{
tmp_time=Timer();
#if defined(USE_PARTITIONER)
if(balance_mesh_refine&&refcnt==0)
{
//m.Barrier();
am.ComputeWeightRefine(indicator,wgt);
p.SetWeight(wgt);
std::fill(nc.begin(),nc.end(),0);nc[m.GetProcessorRank()]=m.NumberOfCells();m.Integrate(&nc[0],nc.size());if(!m.GetProcessorRank()){std::cout<<"refine before ";for(unsignedq=0;q<nc.size();++q)std::cout<<nc[q]<<" ";std::cout<<std::endl;}
std::fill(nc.begin(),nc.end(),0);nc[m.GetProcessorRank()]=m.NumberOfCells();m.Integrate(&nc[0],nc.size());if(!m.GetProcessorRank()){std::cout<<"refine after ";for(unsignedq=0;q<nc.size();++q)std::cout<<nc[q]<<" ";std::cout<<std::endl;}
@@ -186,6 +191,9 @@ int main(int argc, char ** argv)
refcnt++;
}
while(numref);
ref_time=Timer()-ref_time;
crs_time=Timer();
refcnt=0;
do
{
...
...
@@ -212,38 +220,42 @@ int main(int argc, char ** argv)
numref=m.Integrate(numref);
if(numref)
{
tmp_time=Timer();
#if defined(USE_PARTITIONER)
if(balance_mesh_coarse&&refcnt==0)
{
m.Barrier();
am.ComputeWeightCoarse(indicator,wgt);
p.SetWeight(wgt);
std::fill(nc.begin(),nc.end(),0);nc[m.GetProcessorRank()]=m.NumberOfCells();m.Integrate(&nc[0],nc.size());if(!m.GetProcessorRank()){std::cout<<"coarse before ";for(unsignedq=0;q<nc.size();++q)std::cout<<nc[q]<<" ";std::cout<<std::endl;}
std::fill(nc.begin(),nc.end(),0);nc[m.GetProcessorRank()]=m.NumberOfCells();m.Integrate(&nc[0],nc.size());if(!m.GetProcessorRank()){std::cout<<"coarse after ";for(unsignedq=0;q<nc.size();++q)std::cout<<nc[q]<<" ";std::cout<<std::endl;}
@@ -259,22 +271,25 @@ int main(int argc, char ** argv)
refcnt++;
}
while(numref);
crs_time=Timer()-crs_time;
tmp_time=Timer();
#if defined(USE_PARTITIONER)
if(balance_mesh)
{
//m.Barrier();
p.SetWeight(Tag());
std::fill(nc.begin(),nc.end(),0);nc[m.GetProcessorRank()]=m.NumberOfCells();m.Integrate(&nc[0],nc.size());if(!m.GetProcessorRank()){std::cout<<"finish before ";for(unsignedq=0;q<nc.size();++q)std::cout<<nc[q]<<" ";std::cout<<std::endl;}
std::fill(nc.begin(),nc.end(),0);nc[m.GetProcessorRank()]=m.NumberOfCells();m.Integrate(&nc[0],nc.size());if(!m.GetProcessorRank()){std::cout<<"finish after ";for(unsignedq=0;q<nc.size();++q)std::cout<<nc[q]<<" ";std::cout<<std::endl;}