Roy,
This turned out to be unrelated to adaptivity.
I am working on immersed boundary problems where I cut a FE based on a
level-set function. On each element obtained by the cut operation, I ask the FE
to be initialized, either using a quadrature rule, or by specific in the QP
locations.
While this forward operation of QP -> compute shape functions, derivatives
and normals (on sides) should work out fine, the issue is showing up in
compute_face_map() (
https://github.com/libMesh/libmesh/blob/c4c9fd5450489486fd5f7baf2ec9a8ac0d47fc99/src/fe/fe_boundary.C#L224
<https://github.com/libMesh/libmesh/blob/c4c9fd5450489486fd5f7baf2ec9a8ac0d47fc99/src/fe/fe_boundary.C#L224>
).
It appears that compute_face_map() is using the xyz locations of the
quadrature points to figure out non-dimensional location of the quadrature
points here:
https://github.com/libMesh/libmesh/blob/c4c9fd5450489486fd5f7baf2ec9a8ac0d47fc99/src/fe/fe_boundary.C#L754
<https://github.com/libMesh/libmesh/blob/c4c9fd5450489486fd5f7baf2ec9a8ac0d47fc99/src/fe/fe_boundary.C#L754>
So, every once in a while the level-set based intersection leads to sliver
cut-cells, which case this inverse-map method to fail.
I am guessing there is a reason to do things this way, even though the
user may have explicitly provided the quadrature points to begin with. Do you
know if there is a way to bypass the inverse_map for FE reinit?
Thanks,
Manav
> On May 2, 2019, at 8:10 AM, Stogner, Roy H <[email protected]> wrote:
>
>
> On Thu, 2 May 2019, Manav Bhatia wrote:
>
>> I ran the debug version and this is where it crashed.
>
> Well, I'm afraid that's no more help. Thanks anyway.
>
> Could you loop through elem 16514's parent (672) and parent's parent
> and so on up to the top level and print them? I'm not sure where to
> begin looking for the problem, unless you can set up a test case we
> can reproduce.
> ---
> Roy
>
>> [2] src/fe/fe_map.C, line 1866, compiled Apr 29 2019 at 13:59:12
>> WARNING: Newton scheme has not converged in 11 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(-1.21944e-13,
>> -1.12163e-06, 0) p=(x,y,z)=( -1, -0.57735, 0)
>> error=1.12163e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> [2] src/fe/fe_map.C, line 1866, compiled Apr 29 2019 at 13:59:12
>> WARNING: Newton scheme has not converged in 12 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(-1.21944e-13,
>> -1.12163e-06, 0) p=(x,y,z)=( -1, -0.577351, 0)
>> error=1.12163e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> [2] src/fe/fe_map.C, line 1866, compiled Apr 29 2019 at 13:59:12
>> WARNING: Newton scheme has not converged in 13 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(2.43888e-13,
>> 2.24326e-06, 0) p=(x,y,z)=( -1, -0.577349, 0)
>> error=2.24326e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> [2] src/fe/fe_map.C, line 1866, compiled Apr 29 2019 at 13:59:12
>> WARNING: Newton scheme has not converged in 14 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(-1.21944e-13,
>> -1.12163e-06, 0) p=(x,y,z)=( -1, -0.57735, 0)
>> error=1.12163e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> [2] src/fe/fe_map.C, line 1866, compiled Apr 29 2019 at 13:59:12
>> WARNING: Newton scheme has not converged in 15 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(-1.21944e-13,
>> -1.12163e-06, 0) p=(x,y,z)=( -1, -0.577351, 0)
>> error=1.12163e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> [2] src/fe/fe_map.C, line 1866, compiled Apr 29 2019 at 13:59:12
>> WARNING: Newton scheme has not converged in 16 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(2.43888e-13,
>> 2.24326e-06, 0) p=(x,y,z)=( -1, -0.577349, 0)
>> error=2.24326e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> [2] src/fe/fe_map.C, line 1866, compiled Apr 29 2019 at 13:59:12
>> WARNING: Newton scheme has not converged in 17 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(-1.21944e-13,
>> -1.12163e-06, 0) p=(x,y,z)=( -1, -0.57735, 0)
>> error=1.12163e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> WARNING: Newton scheme has not converged in 21 iterations:
>> physical_point=(x,y,z)=( 0.27, 0.2775, 0)
>> physical_guess=(x,y,z)=( 0.27, 0.2775, 0)
>> dp=(x,y,z)=(-1.21944e-13,
>> -1.12163e-06, 0) p=(x,y,z)=( -1, -0.577351, 0)
>> error=1.12163e-06 in element 16514
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> ERROR: Newton scheme FAILED to converge in 21 iterations in element 16514
>> for physical point = (x,y,z)=( 0.27, 0.2775, 0)
>> Elem Information
>> id()=16514, processor_id()=2
>> type()=QUAD4
>> dim()=2
>> n_nodes()=4
>> 0 Node id()=13234, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> 1 Node id()=604, processor_id()=2, Point=(x,y,z)=(0.271875, 0.2775,
>> 0)
>> DoFs=(0/0/13470) (0/1/13471) (0/2/13472) (0/3/13473) (0/4/13474)
>> (0/5/13475) (2/0/2245) (3/0/2245)
>> 2 Node id()=13235, processor_id()=4294967295, Point=(x,y,z)=(0.271875,
>> 0.2775, 0)
>> DoFs=
>> 3 Node id()=13233, processor_id()=4294967295, Point=(x,y,z)=( 0.27,
>> 0.2775, 0)
>> DoFs=
>> n_sides()=4
>> neighbor(0)=nullptr
>> neighbor(1)=nullptr
>> neighbor(2)=nullptr
>> neighbor(3)=nullptr
>> hmin()=9.89829e-11, hmax()=0.001875
>> volume()=1.85593e-13
>> active()=1, ancestor()=0, subactive()=0, has_children()=0
>> parent()=672
>> level()=4, p_level()=0
>> refinement_flag()=DO_NOTHING
>> p_refinement_flag()=DO_NOTHING
>> DoFs=
>> Exiting...
>> [2] src/fe/fe_map.C, line 1905, compiled Apr 29 2019 at 13:59:12
>>
>>
>>
>>
>> On May 1, 2019, at 9:29 PM, Stogner, Roy H <[email protected]>
>> wrote:
>>
>>
>> On Wed, 1 May 2019, Manav Bhatia wrote:
>>
>> I am using h-refinement in my analysis, which uses the mesh function
>> routines to compute the value of the function in the
>> interior of an element.
>>
>> All of my elements in the original mesh (before any refinements) are
>> squares (quad4).
>>
>> For the most part everything works out fine without any issues.
>> Occasionally, however, I will get an error in the inverse_map()
>> like this. I am particularly perplexed by the hmin() size of
>> 10^-11.
>>
>> The size of my elements before refinement is hmin() = .015 and I
>> allow a max of 4 refinements in any element. Would there be any
>> reason to expect an hmin of order 10^-11 in this case?
>>
>>
>> Not even close, but there's definitely *something* going seriously
>> wrong here.
>>
>> You have a degenerate element; points 0 and 3 and points 1 and 2
>> coincide.
>>
>> You have three nodes with invalid processor ids.
>>
>> You probably ought to
>>
>> Rerun in devel/dbg mode for more details.
>>
>>
>> (preferably dbg) and see whether it catches any problems earlier.
>> ---
>> Roy
>>
>>
>>
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users