Hi everyone, I have some problems understanding the user_pointer. I know it is embedded in an union with user_index. The library tests for 3 states of the union: data_unknown, data_pointer and data_index.
My intention is to access additional data of the cell - like the quadrature point history in step-18 - only via the user_pointer to localize and encapsulate data more in an OOP sense. The user_pointer is supposed to be persistent through all refinement and timestep-cycles. For comparison: If I modify step-1 tutorial to test the user_pointer, I just assign, e.g. some ints, and it works... Especially, I donot have to mess with the triangulation object and after refinement I can assign the user_pointer of the children just like that. The problem: If I try to modify step 18 in a similar way, the program will throw an exception ExcPointerIndexClash() with violated condition: user_data_type == data_unknown || user_data_type == data_pointer To my understanding, this means the user_data holds now an user_index which I didnot assign or the value of user_data_type is not clearly defined. Even, if I clear the user_data by triangulation.clear_user_data(), the same exception is thrown again after one refinement step... I suspect the parallel partitioning but have no idea why is it like that and how to handle it... Thank you Roman _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
