On Tue, 12 Apr 2016, Torquil Macdonald Sørensen wrote:
I'm trying to use MeshTools::Modification::distort together with TET10.
However, after this operation the mesh seems to no longer be
tetrahedral
Well, technically it's tetrahedral, it's just that all the tetrahedra
now have quadratic rather than linear sides.
and I'm suspecting that this is the reason I'm getting a
lot of negative jacobian problems.
If you use a large enough distortion, you can get negative Jacobians
on any mesh, but the definition of "large enough" does get much, much
looser on second-order geometric elements.
Is there a way in libmesh to distort
a TET10 mesh while preserving the tetrahedral property?
If you don't have an EquationSystems attached to the mesh yet, you can
use all_first_order() to get TET4, distort that, then
all_second_order() to get TET10 again.
If you do have an EquationSystems attached, then you can't drop nodes
without losing dof numbering data. The best you can do is loop over
your elements, loop over the second-order nodes (i.e. skip the
vertices), then on each use n_second_order_adjacent_vertices() and
second_order_adjacent_vertex() to find the neighbors, and finally set
the second-order node to the average of its neighbors' locations.
If you have to do that, and you want to make it a new method in
MeshModification, we'd love a patch.
---
Roy
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users