Open NRJank opened 1 month ago
There are some issues related to AMR & discontinuous meshes that hinder this. 1) Currently the error indicator is a nodal quantity and probably assumes that the primary field is nodal as well. There has been extension to p-elements within year or so, but not to DG-elements. This is probably a minor indexing thing. In parallel it could be somewhat more complicated since the parallel info should be different for nodal and DG fields. 2) How to consider DG jumps for the error indicator. Probably some alterations are needed. Not really my specialty...
DG? (dual grid?)
I assumed this was a non-trivial item. Was bringing it up again mainly because i noticed the unhandled errors.
DG = discontinous galerkin
(we have the standard + special version of DG where the discontinuity only happens between materials)
Full original bug report in https://www.elmerfem.org/forum/viewtopic.php?t=6608 described a number of attempts to combine adaptive remesh with different discontinuity methods, which was triggering either odd results or segfaults in certain cases. Some changes were made to the code to catch the errors, halt operation, etc. Rechecking status of this on recent nightly build (ELMERFEM-nogui-nompi-Windows-AMD64.zip, 2024-10-23) it seems that Case 4 (combining heatgap with adaptive refinement) still produces a segfault,
adapt2.grd:
adapt2.sif:
segfault triggered by running:
output:
case6 and case 7 catch similar attempts at combining adaptive refinement with newer discontinuity methods and issue:
ERROR:: RefineMesh: Adaptive refinement not possible for discontinuous mesh!
case 8, however, seems to avoid the error being caught, runs to completion, but produces erroneous output where the adaptive solve refines around the discontinuity but the heatsolve ignores the heat gap as if it was 'leaky'. files for case 8:
adapt3.grd
adapt3.sif
Note the only difference between Case 7 and Case 8 is changing Discontinuous Bulk Greedy in the Simulation block from true to false.
Would recommend in the short term both the segfault and the non-error case be caught and stopped with the same error message used in Case 6/7.
Would request in the long term being able to combine adaptive refinement and discontinuous boundaries.
full set of test cases from forum report attached for reference.
elmertest.zip