[aspect-devel] Dealing with the curved spherical mesh when applying different initial global refinement at different depths

Shangxin Liu sxliu at vt.edu
Tue Jul 26 12:32:31 PDT 2016


Hi Wolfgang,

Thanks for the information. So from this link, I notice that these
artifacts only happen with the higher order elements. In my instantaneous
flow model, I indeed used the quadratic elements for the figure attached in
my last email. To further confirm this, I tried another same case but use
the linear element by set:

subsection Discretization

  set Stokes velocity polynomial degree = 1

  set Temperature polynomial degree = 1

  set Use locally conservative discretization = true
end

in my test prm file.

But what surprises me is that my mesh output from Paraview is still the
same as before, having empty gaps at the initial global refinement division
depth. I attach the new temperature slice and my prm file here.

Is there anything wrong in my parameter settings or did I miss anything in
my additional initial global refinement code?

Best,
Shangxin


>
> Date: Mon, 25 Jul 2016 16:05:02 -0500
> From: Wolfgang Bangerth <bangerth at tamu.edu>
> To: aspect-devel at geodynamics.org
> Subject: Re: [aspect-devel] Dealing with the curved spherical mesh
>         when applying different initial global refinement at different
> depths
> Message-ID: <1b9c742b-4551-b00f-7d9e-5ffc0ae16f59 at tamu.edu>
> Content-Type: text/plain; charset=utf-8; format=flowed
>
> On 07/23/2016 11:26 PM, Shangxin Liu wrote:
> > Hi;
> >
> > When I use the fixed mesh to run global spherical shell model with
> ASPECT, I
> > find that the mesh size of shallower depths is larger than that of deeper
> > depths. In my model with 5 initial global refinement and 0 initial
> adaptive
> > refinement, for example, the mesh size above ~4501km is ~58km and the
> mesh
> > size below ~4501km is ~32 km. Because we commonly want the mesh size of
> upper
> > mantle smaller than that of lower mantle, I add the following code into
> the
> > core.cc after calling the initial global refinement to apply an
> additional
> > global refinement to the cells above a specified depth:
> >
> > // Do the additional initial global refinement down to specified depth
> if required
> >
> >         if (parameters.increase_initial_global_refinement_to_depth)
> >
> >           {
> >
> >             for (unsigned int m=0;
> > m<parameters.additional_initial_global_refinemnt; ++m)
> >
> >               {
> >
> >                 for (typename Triangulation<dim>::active_cell_iterator
> >
> >                      cell = triangulation.begin_active();
> >
> >                      cell != triangulation.end(); ++cell)
> >
> >                   {
> >
> >                     const Point<dim> cell_center = cell->center();
> >
> >                     const double depth =
> geometry_model->depth(cell_center);
> >
> >                     if (depth <
> > parameters.apply_initial_global_refinement_to_depth)
> >
> >                       cell->set_refine_flag ();
> >
> >                   }
> >
> >
> >
> >                 mesh_refinement_manager.tag_additional_cells ();
> >
> >                 triangulation.execute_coarsening_and_refinement();
> >
> >               }
> >
> >           }
> >
> > "increase_initial_global_refinement_to_depth",
> > "additional_initial_global_refinemnt", and
> > "apply_initial_global_refinement_to_depth" represent my new specified
> input
> > parameters to define whether apply this additional global refinement, the
> > additional refinement level, and above which depth this is applied. This
> > indeed works to add additional global refinement of the mesh at shallower
> > depths. However, for the curved spherical shell geometry domain, this
> will
> > generate the empty slots around the input division depth due to the
> > inconsistency of the mesh size above and below this depth. I attach one
> of my
> > test figure output from Paraview here to show this "empty slots" issue
> for
> > curved spherical shell geometry. Of course these empty slots will be
> smaller
> > and closer to 0 when using higher global refinement, but I wonder
> whether I
> > can directly make the mesh here tracking the circular domain at the
> division
> > depth. Jacky may have made this depth-dependent global refinement
> working.
> > Have you run into this "tiny empty slots" problem?
> >
> > Any idea how to fix this issue in curved spherical shell geometry?
>
> That's actually just an artifact of the visualization. The gap does not
> exist
> in the computation. A similar issue is discussed here:
>
>
> https://github.com/dealii/dealii/wiki/Frequently-Asked-Questions#in-my-graphical-output-the-solution-appears-discontinuous-at-hanging-nodes
>
> Cheers
>   W.
>
>
> --
> ------------------------------------------------------------------------
> Wolfgang Bangerth               email:            bangerth at math.tamu.edu
>                                  www: http://www.math.tamu.edu/~bangerth/
>
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> Aspect-devel mailing list
> Aspect-devel at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>
> ------------------------------
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20160726/443b7339/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 3D_spherical_shell_T.png
Type: image/png
Size: 47631 bytes
Desc: not available
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20160726/443b7339/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: shell_simple_3d.prm
Type: application/octet-stream
Size: 2846 bytes
Desc: not available
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20160726/443b7339/attachment-0001.obj>


More information about the Aspect-devel mailing list