Hi Wolfgang,

I have gotten as far as I think I can go without a little help. I implemented the face domination function, and now the distribute_dofs function works well (so far as I can tell). I have now implemented a second test case where I solve a laplacian system in an L shaped domain, by taking a square domain and "deleting" one corner (see attachments). There are a few issues to address though:

One needs to avoid reinit-ing the FEValues objects on an FENothing cell, but that is not hard for a user to do in practice, and seems to make reasonable sense.

The code compiles and runs correctly in optimized mode (basically, because all assertions in FENothing are turned off). Unfortunately many places in the dealii library make calls to the get_data functions of FENothing and it seems very difficult to avoid this in practice. For example, interpolating boundary values or building data_out patches all seem to require FEValues information from the FENothing class. These calls trigger our exceptions and the code fails.

Does it perhaps make sense for us not to trigger an exception in these cases, but rather have the FENothing return silently with empty information? That way we don't have to change all of the other functionality in the library, but instead have the FENothing class return the expected information, even if it is meaningless info. So far the various parts of the library seem to be able to correctly deal with the FENothing information that is passed to them.

The other problem is that the code encounters issues when attempting to create hanging node constraints. I have included this in the test case, but it is commented out for now. The issue seems to revolve around the number of active fe indices at a shared face. Beyond that I don't have a clear idea what is going on.

I have cleaned up the documentation, and can revise it as we go forward. Also, this test case doesn't follow the guidelines for the regression tests, though it shouldn't be hard to modify once i get the major functionality working. It also only works for two and three dimensions, so the 1d case is left out for now.

Anyway, thanks again for your help!
Josh


Attachment: fe_nothing_test_02.cc
Description: Binary data




Attachment: fe_nothing.h
Description: Binary data




Attachment: fe_nothing.cc
Description: Binary data




_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to