On Tue, May 5, 2015 at 1:38 PM, David Knezevic <david.kneze...@akselos.com>
wrote:
> On Tue, May 5, 2015 at 3:07 PM, David Knezevic <david.kneze...@akselos.com
> > wrote:
>
>> On Tue, May 5, 2015 at 2:30 PM, John Peterson <jwpeter...@gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Tue, May 5, 2015 at 12:20 PM, David Knezevic <
>>> david.kneze...@akselos.com> wrote:
>>>
>>>> On Tue, May 5, 2015 at 10:27 AM, John Peterson <jwpeter...@gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Tue, May 5, 2015 at 7:10 AM, David Knezevic <
>>>>> david.kneze...@akselos.com> wrote:
>>>>>
>>>>>> [0] /home/dknez/software/libmesh-src/src/fe/fe_map.C, line 618,
>>>>>> compiled May 5 2015 at 08:08:28
>>>>>> ERROR: negative Jacobian: -1.79627e-07 in element 7051
>>>>>>
>>>>>
>>>>> Is your fe_map.C not the version in master? Line 618 doesn't have a
>>>>> libmesh_error_msg() on it for me.
>>>>>
>>>>> In any event, we have the Elem* available, so we should probably just
>>>>> be helpful and print the stuff that Roy requested before erroring out...
>>>>>
>>>>
>>>>
>>>> I added some print statements to the test code I was running before
>>>> (with libMesh git hash 1a6a549f26219f462ac4ceef87c3c03e9eafa836) and I get
>>>> the info printed below for the failing element.
>>>>
>>>> When I update to the git HEAD, I now get a segfault with no stack trace
>>>> when I just loop over the elements and call fe->reinit(elem). I'm wondering
>>>> if maybe ExodusIO isn't reading this mesh in properly, or something.
>>>>
>>>
>>> That, or a dirty build?
>>>
>>
>>
>> I agree that a dirty build seems like a reasonable explanation, but it
>> doesn't seem to be the case here. I did distclean, bootstrapped and
>> re-configured, and I tested a bunch of libMesh examples and they all worked
>> fine. But with this negative-jacobian test, l still got the same segfault.
>>
>
> OK, so the issue is that your change from today triggers an infinite loop
> for my "bad element", eventually leading to the segfault.
>
> I think the problem is that calling "elem->print_info()" then calls
> "elem->volume()", which reinits an FE object, which triggers negative
> jacobian error again, and then you keep looping forever.
>
Haha. Yo dawg, heard you like reinitializing.
> If I comment out the elem->print_info calls that you added, I get back to
> the negative jacobian error that I had before.
>
static_bool is a reasonable fix, but I'd also be OK with just removing the
call to elem->volume() from Elem::print_info(). In theory, you can always
estimate that by knowing the node locations...
--
John
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel