> > Thanks for your answer. By the way, would a wrapper for the Eigen
> library be appealing to anyone?
> I am sure it would be useful!
>
>
Good to know, Bruno. I will start looking into those wrappers and I hope
some student of mine will be helping (fingers crossed).
Is there a small documentation that I can read? For instance, I see there
are several namespaces like LinearAlgebra,
PETSc/Epetra/Trilinos/CUDAWrappers, LinearAlgebraDealii and so on, that
might be restructured without compromising old codes, adding some
uniformity to classes.
>
> It looks like the sparsity pattern does not exist anymore. The matrix
> object does not keep a copy of the sparsity pattern, so the sparsity
> pattern needs to exist as long as the matrix that uses it is alive.
>
>
Thanks, that did the trick! The problem now moved to the AffineConstraints
(which I didn't touch) complaining about dimensions:
--------------------------------------------------------
An error occurred in line <3781> of file
</Users/sensei/Downloads/src/dealii-9.1.0/include/deal.II/lac/affine_constraints.templates.h>
in function
void
dealii::AffineConstraints<double>::distribute_local_to_global(const
FullMatrix<number> &, const Vector<number> &, const std::vector<size_type>
&, MatrixType &, VectorType &, bool, std::integral_constant<bool, true>)
const [number = double, MatrixType = dealii::BlockSparseMatrix<double>,
VectorType = dealii::BlockVector<double>]
The violated condition was:
static_cast<typename ::dealii::internal::argument_type<void( typename
std::common_type<decltype(global_matrix.m()),
decltype(global_vector.size())>::type)>::type>(global_matrix.m()) ==
static_cast<typename ::dealii::internal::argument_type<void( typename
std::common_type<decltype(global_matrix.m()),
decltype(global_vector.size())>::type)>::type>(global_vector.size())
Additional information:
Dimension 2467 not equal to 0.
Stacktrace:
-----------
#0 2 libdeal_II.g.9.1.0.dylib 0x00000001164eb3a2
_ZNK6dealii17AffineConstraintsIdE26distribute_local_to_globalINS_17BlockSparseMatrixIdEENS_11BlockVectorIdEEEEvRKNS_10FullMatrixIdEERKNS_6VectorIdEERKNSt3__16vectorIjNSF_9allocatorIjEEEERT_RT0_bNSF_17integral_constantIbLb1EEE
+ 1570: 2 libdeal_II.g.9.1.0.dylib 0x00000001164eb3a2
_ZNK6dealii17AffineConstraintsIdE26distribute_local_to_globalINS_17BlockSparseMatrixIdEENS_11BlockVectorIdEEEEvRKNS_10FullMatrixIdEERKNS_6VectorIdEERKNSt3__16vectorIjNSF_9allocatorIjEEEERT_RT0_bNSF_17integral_constantIbLb1EEE
#1 3 step-31 0x0000000108d5b641
_ZN6Step3121BoussinesqFlowProblemILi2EE22assemble_stokes_systemEv + 1953: 3
step-31 0x0000000108d5b641
_ZN6Step3121BoussinesqFlowProblemILi2EE22assemble_stokes_systemEv
#2 4 step-31 0x0000000108d4e468
_ZN6Step3121BoussinesqFlowProblemILi2EE3runEv + 504: 4 step-31
0x0000000108d4e468
_ZN6Step3121BoussinesqFlowProblemILi2EE3runEv
#3 5 step-31 0x0000000108d4de6d main + 125:
5 step-31 0x0000000108d4de6d main
#4 6 libdyld.dylib 0x00007fff6bbd93d5 start + 1: 6
libdyld.dylib 0x00007fff6bbd93d5 start
#5 7 ??? 0x0000000000000001 0x0 + 1: 7
??? 0x0000000000000001 0x0
--------------------------------------------------------
Signal: SIGABRT (signal SIGABRT)
on this line (initial timestep):
if (rebuild_stokes_matrix == true)
stokes_constraints.distribute_local_to_global(local_matrix,
local_rhs,
local_dof_indices,
stokes_matrix,
stokes_rhs);
The stokes_constraints.distribute_local_to_global apparently doesn't like
how I implemented the sparsity patterns to build the matrices. All I did
here is to add two sparsity patterns, one for the Stokes matrix, and one
for the temperature:
stokes_matrix_sp.reinit(2, 2); // probably unnecessary
stokes_matrix_sp.copy_from(dsp);
stokes_matrix.reinit(stokes_matrix_sp); //stokes_matrix.reinit(dsp);
BlockSparsityPattern stokes_matrix_sp; // the definition
stokes_matrix_sp.copy_from(dsp);
stokes_matrix.reinit(stokes_matrix_sp); //stokes_matrix.reinit(dsp);
I am probably doing something terribly stupid here...
Thanks for any help!
Franco
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/3bbde225-e547-43ab-abf3-2ef53dd09559%40googlegroups.com.