Dear All,
Could we use block sparsity pattern again the same class?
For example,
I am solving the problem separated into two parts.
One is for solving stoke equation, the other is for solving othres.
In order to reduce the consumption of memory, I was supposed to separate
into two sections, But, if I set as :
BlockSparsityPattern sp;
When I solve the stokes equation, I would like to generate pattern for u-u
,u-p, p-u couplings into sp sparsity pattern, After solving stokes
equation, I also generate only for mass matrix with same sparsity
pattern(sp).
But, I found the error like
---------------------------------------------------------
An error occurred in line <103> of file <source/subscriptor.cc> in function
virtual dealii::Subscriptor::~Subscriptor()
The violated condition was:
counter == 0
The name and call sequence of the exception was:
ExcInUse (counter, object_info->name(), infostring)
Additional Information:
Object of class N6dealii15SparsityPatternE is still used by 1 other objects.
from Subscriber SparseMatrix
Stacktrace:
-----------
#0 /home/miranus/ysh/deal.II/lib/libbase.g.so:
dealii::Subscriptor::~Subscriptor()
#1 /home/miranus/ysh/deal.II/lib/liblac.g.so:
dealii::SparsityPattern::~SparsityPattern()
#2 /home/miranus/ysh/deal.II/lib/liblac.g.so:
dealii::BlockSparsityPatternBase<dealii::SparsityPattern>::reinit(unsigned
int, unsigned int)
#3 /home/miranus/ysh/deal.II/lib/libdeal_II_2d.g.so:
dealii::BlockSparsityPattern::reinit(unsigned int, unsigned int)
#4 /home/miranus/ysh/deal.II/lib/liblac.g.so:
dealii::BlockSparsityPattern::copy_from(dealii::BlockCompressedSetSparsityPattern
const&)
#5 ./testNoDG: StokOldrydB<2>::MakeSparseMatrix(unsigned int)
#6 ./testNoDG: StokOldrydB<2>::assembleSysOldrodBNODG(unsigned int)
#7 ./testNoDG: StokOldrydB<2>::run()
#8 ./testNoDG: main
--------------------------------------------------------
Could we generate twice with same name of sparsity pattern/
If I separate sparsitypatter name like sp0 , sp1 and then generate them
each other, Total memory consumption is the sum of sp0, sp1?
for example, If memory consumption of sp0 is 100 bytes, sp1 is 150 bytes,
total occupied memory for a generation of sparsity pattern is 250 bytes?
If then, I have a problem of soring out to reduce memory problem.
Could you give a advice?
How could we reinitialize the SparsityPattern? and so on..
_______________________________________________