A querry about the inversion of M in step 20

131 views
Skip to first unread message

Hussein Shaito

unread,
Nov 21, 2023, 2:48:10 PM11/21/23
to deal.II User Group
Hello
I am working on step 20 in deal.
I believe that the schur inverse calls op_M_inv multiple times is that correct?
How can I know how many times the inversion of M is done in that case? I tried to write a wrapper but couldn't do it myself. 
Help is appreciated. 

Thanks in advance.
Shaito

Hussein Shaito

unread,
Nov 24, 2023, 6:13:17 AM11/24/23
to deal.II User Group
Hello
I moved on to step 22 so I am using classes to construct my preconditioner now and can create a counter within the class. This works.

Wolfgang Bangerth

unread,
Nov 24, 2023, 6:57:38 PM11/24/23
to dea...@googlegroups.com

> I am working on step 20 in deal.
> I believe that the schur inverse calls op_M_inv multiple times is that correct?
> How can I know how many times the inversion of M is done in that case? I tried
> to write a wrapper but couldn't do it myself.

I know you've already solved your problem, but because this is generally
useful, I documented how I would approach your question here:
https://github.com/dealii/dealii/pull/16294/commits/6c0cd4894183967bad6a37f6a2764e3197448038

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/


Hussein Shaito

unread,
Nov 28, 2023, 7:46:42 AM11/28/23
to deal.II User Group
Hello,

Thank you, I'll Take a look.
I faced some more issues,  appreciate if someone can help


Wolfgang Bangerth

unread,
Dec 8, 2023, 1:55:19 AM12/8/23
to dea...@googlegroups.com
On 11/28/23 05:46, Hussein Shaito wrote:
>
> I ran step 32 with mpi 2 straight out of the tutorials and I goe this error:
>
> An error occurred in line <682> of file
> </home/hass/dealii-candi/deal-II/dealii/source/lac/trilinos_vector.cc> in function
>     dealii::TrilinosScalar
> dealii::TrilinosWrappers::MPI::Vector::operator()(dealii::TrilinosWrappers::MPI::Vector::size_type) const
> The violated condition was:
>     false
> Additional information:
>     You are trying to access element 11536 of a distributed vector, but
>     this element is not stored on the current processor. Note: There are
>     37375 elements stored on the current processor from within the range
>     [37549,74923] but Trilinos vectors need not store contiguous ranges on
>     each processor, and not every element in this range may in fact be
>     stored locally.
>     A common source for this kind of problem is that you are passing a
>     'fully distributed' vector into a function that needs read access to
>     vector elements that correspond to degrees of freedom on ghost cells
>     (or at least to 'locally active' degrees of freedom that are not also
>     'locally owned'). You need to pass a vector that has these elements as
>     ghost entries.
>
> I have built from the source code. I pulled dealii from github and built again
> but I still got the same error. I am using trilinos-release-13-2-0.
>
> Are you getting the same Issue?

Hussein:
Ugh, yes. Thanks for reporting this! This is awkward. I opened
https://github.com/dealii/dealii/issues/16332

I don't know what patch broke the program. If you had too much time, and an
interest in getting this fixed, it would be great if you could help identify
which patch is responsible for this!

Best
Wolfgang

Wolfgang Bangerth

unread,
Dec 8, 2023, 12:47:18 PM12/8/23
to dea...@googlegroups.com
On 12/7/23 23:55, Wolfgang Bangerth wrote:
>
> Ugh, yes. Thanks for reporting this! This is awkward. I opened
> https://github.com/dealii/dealii/issues/16332

I believe this is the correct fix:
https://github.com/dealii/dealii/pull/16335
Reply all
Reply to author
Forward
0 new messages