Dear deal.II developers,
Thomas C. and myself are facing the following problem:
we work with the FESystem<dim>
(FE_Q<dim>(degree+1), dim,
FE_Nothing<dim>(), dim,
FE_Q<dim>(degree+1), dim,
FE_DGQ<dim>(degree), 1
)
and BlockCompressedSimpleSparsityPattern csp (4,4);
After initializing the different
blocks and calling sparsity_pattern.copy_from (csp);
we get the error message
An error occurred in line <139> of file
</home/people/twick/deal.II/source/lac/block_sparsity_pattern.cc> in
function
void dealii::BlockSparsityPatternBase<SparsityType>::collect_sizes()
[with SparsityPatternBase = dealii::SparsityPattern]
The violated condition was:
row_sizes[r] == sub_objects[r][c]->n_rows()
The name and call sequence of the exception was:
ExcIncompatibleRowNumbers (r,0,r,c)
Additional Information:
The blocks [0,0] and [0,1] have differing row numbers.
The reason is that the blocks which couple with
the FENothing component have
n_rows() != 0 but n_cols() = 0!!!
In the function BlockSparsityPattern::copy_from (const
BlockCompressedSimpleSparsityPattern &csp)
we have checked that
std::cout << sub_objects[0][1]->n_rows() << std::endl;
std::cout << csp.block(0,1).n_rows() << std::endl;
give different n_rows values:
sub_objects[0][1]->n_rows() = 0
csp.block(0,1).n_rows() != 0
In our opinion there should be the same numbers.
It seems that during some operations (we do not know where, therefore,
we write this email), for the object sub_objects[0][1]
n_rows() is set to zero because n_cols is zero.
Do you have any ideas for us?
Thanks,
Thomas & Thomas
--
++----------------------------------------++
Thomas Wick
University of Heidelberg
AG Numerik, Room 213
Im Neuenheimer Feld 293
69120 Heidelberg, Germany
Phone: +49(0)6221 / 54-5449
Email: [email protected]
www: http://numerik.uni-hd.de/~twick/
++----------------------------------------++
--
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii