// This check can be done only on single processor
for(size_ti=0;i<trpl.size();i++)
Vcluster&v_cl=create_vcluster();
if(v_cl.getProcessingUnits()==1)
{
nz_cols.get(trpl.get(i).col())=true;
}
openfpm::vector<unsigned>nz_cols;
nz_cols.resize(row_b);
// all the rows must have a non zero element
for(size_ti=0;i<nz_rows.size();i++)
{
if(nz_rows.get(i)==false)
for(size_ti=0;i<trpl.size();i++)
nz_cols.get(trpl.get(i).col())=true;
// all the rows must have a non zero element
for(size_ti=0;i<nz_rows.size();i++)
{
key_and_eqke=from_row_to_key(i);
std::cerr<<"Error: "<<__FILE__<<":"<<__LINE__<<" Ill posed matrix row "<<i<<" is not filled, position "<<ke.key.to_string()<<" equation: "<<ke.eq<<"\n";
if(nz_rows.get(i)==false)
{
key_and_eqke=from_row_to_key(i);
std::cerr<<"Error: "<<__FILE__<<":"<<__LINE__<<" Ill posed matrix row "<<i<<" is not filled, position "<<ke.key.to_string()<<" equation: "<<ke.eq<<"\n";
}
}
}
// all the colums must have a non zero element
for(size_ti=0;i<nz_cols.size();i++)
{
if(nz_cols.get(i)==false)
std::cerr<<"Error: "<<__FILE__<<":"<<__LINE__<<" Ill posed matrix colum "<<i<<" is not filled\n";
// all the colums must have a non zero element
for(size_ti=0;i<nz_cols.size();i++)
{
if(nz_cols.get(i)==false)
std::cerr<<"Error: "<<__FILE__<<":"<<__LINE__<<" Ill posed matrix colum "<<i<<" is not filled\n";
}
}
}
...
...
@@ -328,6 +362,178 @@ private:
}
}
/*! \brief Copy a given solution vector in a normal grid