Furthermore, based on my understanding, I have to loop over all cells in 
order to assemble the multigrid-matrices, but can only aquire the gradients 
on the current cell if it is active. Wouldn't that crash (looping and 
gathering data from all cells, but only getting data from the active cells)?

Am Samstag, 20. Juli 2019 11:03:05 UTC+2 schrieb Maxi Miller:
>
> Based on what I get (within the if-loop):
> I print the cell information using 
> std::cout << "Aquiring function gradients on cell with data points " << 
> cell->level_subdomain_id() << '\t' << triangulation.
> locally_owned_subdomain() << '\t' << cell->active() << '\t' << 
> cell_counter << '\n';
>
> with cell_counter a static variable, increasing for every function call.
> This gives me
> Aquiring function gradients on cell with data points 1  1       0       1
> Aquiring function gradients on cell with data points 0  0       0       1
> Aquired function gradients on cell 1
> Aquired function gradients on cell 1
> Aquiring function gradients on cell with data points 1  1       0       2
> Aquiring function gradients on cell with data points 0  0       0       2
> Aquired function gradients on cell 2
> Aquired function gradients on cell 2
> Aquiring function gradients on cell with data points 0  0       0       3
> Aquiring function gradients on cell with data points 1  1       0       3
> Aquired function gradients on cell 3
>
>
> before crashing, indicating a problem on cell 1 1 0 3. As long as 
> cell->active() is false, I can not call the function is_artificial() for 
> checking if I am on an artificial cell. Is my if-loop correct, or did I 
> miss something here?
>
> Am Freitag, 19. Juli 2019 18:01:03 UTC+2 schrieb Wolfgang Bangerth:
>>
>> On 7/19/19 9:59 AM, 'Maxi Miller' via deal.II User Group wrote: 
>> >     What do the parallel multigrid functions do? Could you just have 
>> your if() 
>> >     inside that function -- i.e., it is called on all cells, but does 
>> nothing if 
>> >     the cell doesn't allow you to do anything? 
>> > 
>> > 
>> > That's exactly what my if()-conditions should do (but is not doing)... 
>>
>> Then put a breakpoint on it and see why it isn't doing what you think it 
>> is 
>> doing :-) 
>>
>> W. 
>>
>> -- 
>> ------------------------------------------------------------------------ 
>> Wolfgang Bangerth          email:                 bang...@colostate.edu 
>>                             www: http://www.math.colostate.edu/~bangerth/ 
>>
>>

-- 
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 dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/27a58ff4-e4fb-4510-8220-68d4979f346a%40googlegroups.com.

Reply via email to