Hello,
I'm trying to further work with CompressedSimpleSparsityPattern and I
don't understand how to avoid this error:
An error occurred in line <847> of file
</usr/local/deal.II-dev/source/lac/constraint_matrix.cc> in function
void dealii::ConstraintMatrix::condense(dealii::SparsityPattern&) const
The violated condition was:
sparsity.is_compressed() == false
The name and call sequence of the exception was:
ExcMatrixIsClosed()
Because I need to take into account hanging nodes and want to use
CompressedSimpleSparsityPattern at the same time:
CompressedSparsityPattern c_sparsity(dof_handler.n_dofs());
DoFTools::make_sparsity_pattern (dof_handler, c_sparsity);
sparsity_pattern.copy_from(c_sparsity);
hanging_node_constraints.condense (sparsity_pattern);
sparsity_pattern.compress();
What would be the way to do that?
Thanks.
On 08.05.2012 12:24, Alexander Grayver wrote:
Timo, Markus,
CompressedSimpleSparsityPattern didn't help.
However I see the point now. I've just thought that the limit will be
reached a bit later...
Thank you.
On 07.05.2012 14:50, Timo Heister wrote:
you are demanding too much memory here. With your triangulation and
this
FESystem you create more than 12 million degrees of freedom.
Especially with
the Nédélec elements, which couple quite heavily, this requires a
bit more
than 64 GB of memory.
That is not quite correct. You roughly have 2 million cells that
takes about
700mb in the Triangulation and you have 12.8 million DoFs: the
DoFHandler uses around 300mb for that.
The problem lies in the way you create your SparsityPattern.
dof_handler.max_couplings_between_dofs() is a very pessimistic value
as an estimate for the number of entries per row, especially in 3d. In
your case it is 1764. With this you create a SparsityPattern with 12.8
million*1764= 22 billion entries (which is too much memory!).
The first step would be replace the SparsityPattern by a
CompressedSimpleSparsityPattern and check if that reduces the number
of entries enough (see step-3).
--
Regards,
Alexander
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii