Unable to visualise high order polynomial variation in ParaView

48 views
Skip to first unread message

vachanpo...@gmail.com

unread,
Jan 20, 2021, 6:06:59 AM1/20/21
to deal.II User Group
Dear all,

I have a working code that outputs pvtu/vtu files for visualisation.

I have read the wiki page for writing and visualising high order output. Currently, I only have straight-edge quadrilaterals so I the only change I have made to my code is to update VtkFlags and set them in the DataOut object (as below). Please correct me if I am missing anything here.

DataOutBase::VtkFlags flags;
flags.write_higher_order_cells = true;
data_out.set_flags(flags);

However, the output of this modified code still produces linear variation when visualised. I have also set the Nonlinear Subdivision Level in paraview accordingly. But is seems to produce no change.

What am I missing?

Thanking in anticipation
Vachan

luca.heltai

unread,
Jan 20, 2021, 11:49:59 AM1/20/21
to Deal.II Users
Did you call

data_out.build_patches(mapping, subdivisions,DataOut<dim>::curved_inner_cells);

with subdivisions > 1?

L.
> --
> 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+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/8c366b2b-2cc4-430d-9d14-6415693d7556n%40googlegroups.com.

Timo Heister

unread,
Jan 20, 2021, 3:33:19 PM1/20/21
to deal.II User Group
One thing that might not be obvious is that it is not enough to have a manifold id for boundary faces. You need to assign a manifold to the cells as well.

vachanpo...@gmail.com

unread,
Jan 22, 2021, 12:38:33 AM1/22/21
to deal.II User Group
Did you call

data_out.build_patches(mapping, subdivisions,DataOut<dim>::curved_inner_cells);

with subdivisions > 1?

Thanks a lot. I was missing this. Since my mesh has only straight edges, I am instead calling

data_out.build_patches(fe.order);

Reply all
Reply to author
Forward
0 new messages