Question regarding P:D:Tria

38 views
Skip to first unread message

RAJAT ARORA

unread,
Mar 4, 2017, 6:39:14 PM3/4/17
to deal.II User Group
Hello all,

I am using deal.ii along with PetSc and P4est to solve a 3D solid mechanics problem.

I am using the GridGenerator::hyper_rectangle function to create a rectangular grid with 1000 X 500 X 1 (0.5 million) elements.

My question is: - since the coarsest mesh contains 0.5 million elements, does that mean all the processors have 0.5 million elements?
(I think the answer is yes, I read that the deal.ii (p4est) stores the coarsest mesh on all processors.)

I need a mesh (overall) which should be rectangular and should have 1000 X 500 X 1 elements. Note: It should only have 1 element in the z-direction.
Is there any way such that I can have this mesh by not replicating the whole mesh on all processors as it takes a lot of memory. I thought of making a 2D mesh and then refining it and then extruding it using extrude::triangulation, but extrude triangulation does not work on refined meshes.


Any help will be appreciated.

Thanks again.

Daniel Arndt

unread,
Mar 5, 2017, 7:48:56 AM3/5/17
to deal.II User Group
Rajat,



I am using the GridGenerator::hyper_rectangle function to create a rectangular grid with 1000 X 500 X 1 (0.5 million) elements.

My question is: - since the coarsest mesh contains 0.5 million elements, does that mean all the processors have 0.5 million elements?
(I think the answer is yes, I read that the deal.ii (p4est) stores the coarsest mesh on all processors.)
Yes, that is true. 

I need a mesh (overall) which should be rectangular and should have 1000 X 500 X 1 elements. Note: It should only have 1 element in the z-direction.
Is there any way such that I can have this mesh by not replicating the whole mesh on all processors as it takes a lot of memory. I thought of making a 2D mesh and then refining it and then extruding it using extrude::triangulation, but extrude triangulation does not work on refined meshes.
As you already said, we (currently) require to store the same coarse mesh on all processes and only isotropic refinement is allowed. This means that you can get 1 element in z-direction if you don't refine. There is some work [1] on a Triangulation that allows you to specify the distribution of cells across processes yourself without the need of a common coarse mesh.

Best,
Daniel

RAJAT ARORA

unread,
Mar 5, 2017, 1:44:05 PM3/5/17
to deal.II User Group
Hello Daniel,

Thanks for the prompt reply. Yes, I thought about this as deal.ii uses P4est which does not support anisotropic refinement.

I wanted to confirm that this was indeed the case and I am not missing something. 


Thanks again for the clarification.

Wolfgang Bangerth

unread,
Mar 6, 2017, 11:47:54 PM3/6/17
to dea...@googlegroups.com
On 03/05/2017 11:44 AM, RAJAT ARORA wrote:
>
> Thanks for the prompt reply. Yes, I thought about this as deal.ii uses P4est
> which does not support anisotropic refinement.
>
> I wanted to confirm that this was indeed the case and I am not missing something.

Correct.

I'm going to add to both your question and Daniel's answer that 500k elements
in the coarse mesh do not necessarily mean that you will run out of memory.
Sure, it's a lot, but if you have a non-trivial problem, then you will also
have 50k "locally owned" cells on each processor, and the linear system is
going to consume at least as much memory as the 450k artificial cells.

So I think that 500k coarse cells is sort of the limit of what makes sense,
but it's not in itself a death sentence yet that derails the whole approach.

Best
W.

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

zhaowen...@gmail.com

unread,
Mar 12, 2017, 8:02:27 AM3/12/17
to deal.II User Group
Dear Rajat,

I  might meet the similar question. Do you have the solution now? 
Thanks 
ZHAO Wenbo
在 2017年3月5日星期日 UTC+8上午7:39:14,RAJAT ARORA写道:
Reply all
Reply to author
Forward
0 new messages