Mathias,

> I want to simulate how a solid moves in a fluid with a fixed mesh using 
> Cut-FEM. I implemented this using the hp-framework and set all the DoFs 
> where just the solid is to FE_Nothing. You can see this in (attached) 
> two pictures: overlay_0 shows a solid circle lying in a fluid. On 
> no_overlay_0 the overlay is removed and you see the the underlying 
> "solution" behind the cut and the 4 complete solid cells (the FE_Nothing 
> cells).
> 
> This works well, but the idea has always been to move now the solid in 
> the fluid. This works until the solid gets out of the starting 
> FE_Nothing cells. What I do in a naive way every timestep is I check 
> where the solid is and set the active FE index accordingly but this is 
> not enough, and the solution gets distorted. You see this in overlay_1 
> (distorsion top left of the solid should not be there) and in 
> no_overlay_1 you see that see that see just activated cells are not 
> continuous (and they should be, since I use continuous elements).

I can see that this doesn't look right. But do you understand *why* 
things go wrong? I can't tell from the pictures, but I've often found 
that when trying to solve a problem for which I know that there is a bug 
somewhere, then it's worthwhile investing the time to *understand* why 
it is wrong, rather than trying to come up with completely different 
ways of doing this.

This is because I may want to use the technique that doesn't work again 
at a later time, and it's useful to actually understand how to make it 
work. It's also possible that the bug is not in fact where one thinks it 
is, and then using a different approach isn't actually going to solve 
anything.


> So now I'm thinking of a proper and computationally cheap way to achieve 
> my goal and have two ideas in mind:
> 
> 1.) Using the hp-framework and FE_Nothing:
> After setting the right FE_Index I have call distribute_dofs(), update 
> my constraints and reinit all my matrices and vectors. I further have to 
> somehow transfer the old solution to the new "grid". I guess these 
> things make this option computationally expensive.

No, I would venture the guess that the cost of assembling and solving 
linear systems is still the dominant factor.


> 2.) Not using FE_Nothing:
> Just using the fluid FE everywhere on the mesh and set the DoF where the 
> solid is to "0" (by using constraints?). Since I use a relatively 
> complex block matrix (in parallel) with some non-quadratic blocks I 
> guess this probably means fiddling around with the corresponding matrix 
> entries to make the resulting matrix not singular?

You should be able to put these constraints into an AffineMatrix object 
for the whole DoFHandler. This will ensure that all rows and columns of 
the matrix are correct.

Best
  W.


-- 
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                            www: http://www.math.colostate.edu/~bangerth/

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/5837bcc6-5298-df87-6993-9ce76896d03b%40colostate.edu.

Reply via email to