importing a mesh

100 views
Skip to first unread message

rcb...@ualberta.ca

unread,
Dec 6, 2013, 6:31:17 PM12/6/13
to dea...@googlegroups.com
Hi I am importing a mesh that I developed using Salome and it is a unv file. And when I run my program deal.ii is unable to read my mesh. 
I get this error 

An error occurred in line <663> of file </home/robert/programs/deal.II/source/grid/grid_reordering.cc> in function
    static void dealii::GridReordering<dim, spacedim>::invert_all_cells_of_negative_grid(const std::vector<dealii::Point<spacedim> >&, std::vector<dealii::CellData<dim> >&) [with int dim = 2; int spacedim = 2]
The violated condition was: 
    n_negative_cells==0 || n_negative_cells==cells.size()
The name and call sequence of the exception was:
    ExcInternalError()
Additional Information: 
(none)

Can anyone give me advice.
Thank you

Martin Steigemann

unread,
Dec 7, 2013, 2:55:49 AM12/7/13
to dea...@googlegroups.com
Hi,
 
this means that your mesh has some distorted cells, the Jacobian of the mapping from the reference cell to the real cell has a non-positive determinant, have a look here
 
 
but I am not sure how to fix this in Salome, just worked one or two times with it, maybe there is some smoothing method or something like that.
 
Best,
Martin
--
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.
For more options, visit https://groups.google.com/groups/opt_out.

Wolfgang Bangerth

unread,
Dec 7, 2013, 11:38:25 AM12/7/13
to dea...@googlegroups.com
Robert -- as Martin already pointed out, this is a problem in the mesh you are
reading, not in deal.II. For more context, the error message you would have
gotten from the current development sources reads like this:


ExcMessage(std::string("This class assumes that either all cells have positive "
"volume, or that all cells have been specified in an "
"inverted vertex order so that their volume is negative. "
"(In the latter case, this class automatically inverts "
"every cell.) However, the mesh you have specified "
"appears to have both cells with positive and cells with "
"negative volume. You need to check your mesh which "
"cells these are and how they got there.\n"
"As a hint, of the total ")
+ Utilities::int_to_string (cells.size())
+ " cells in the mesh, "
+ Utilities::int_to_string (n_negative_cells)
+ " appear to have a negative volume."));


Best
Wolfgang

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

Reply all
Reply to author
Forward
0 new messages