From: Francis M. <fm...@em...> - 2008-10-30 23:11:06
|
Hi, I'm trying to solve the compressible Euler equations in Lagrangian coordinate with two fluids separated by a free surface. They are no mixing between the two fluids. The mesh is moving with the fluids and the quality of the mesh degrade rapidly with the deformation. So I need tools to correct the mesh, just like your AMR tools and your VariationalSmoother functions. But I have to know if the AMR and the VariationalSmoother support the presence of internal boundary (a free surface) and how they deal with it. So I have two main questions: 1- Is it possible to add a free surface (or an internal boundary) in a mesh? If yes, how can I add a free surface in libMesh? 2- If I suppose that I have an internal boundary in the mesh and I use the VariationnalSmoother and the AMR. What happen to my internal boundary? Is it preserved or the algorithms with destroy it or move it. Thank you Francis Moore INRS-EMT, Varennes (Québec) |
From: Derek G. <fri...@gm...> - 2008-11-12 22:34:03
|
First: my apologies for not getting back to you sooner... Second: A quick warning on the variational smoother code... it was originally a C code developed by a PhD student that I picked up and wrapped in C++ and stuck into libMesh. I did various things to make it interface better with libMesh... but the code itself is still somewhat rough. Just keep that in mind when working with/in it. Now... on to the meat: Internal boundaries are not currently preserved.... but it wouldn't take much to hack something together that would preserve them. If you look at the readgr() method you'll see where in 3D there is a mask bit that is set to 1 if a node is on a boundary. This will keep the variational smoother from moving that node. It should be trivial to extend that functionality to allow you to specify a node list that you don't want to move and set those mask bits to 1 as well... this would allow you to preserve an internal boundary. I did a bit of work to make AMR compatible with the VariationalSmoother.... it really should work ok. Note that the vsmoother is inherently a _Serial_ process. You can use it in parallel... but you will literally be redistributing the mesh separately on each processor. This is ok as long as the input to the smoother is exactly the same on every processor... it's just redundant calculation. This also means that you can't use it with ParallelMesh... Let me know if you have more questions. Derek On Thu, Oct 30, 2008 at 3:57 PM, Francis Moore <fm...@em...> wrote: > Hi, > > I'm trying to solve the compressible Euler equations in Lagrangian > coordinate with two fluids separated by a free surface. They are no mixing > between the two fluids. The mesh is moving with the fluids and the quality > of the mesh degrade rapidly with the deformation. So I need tools to > correct the mesh, just like your AMR tools and your VariationalSmoother > functions. But I have to know if the AMR and the VariationalSmoother > support the presence of internal boundary (a free surface) and how they > deal with it. > > So I have two main questions: > 1- Is it possible to add a free surface (or an internal boundary) in a > mesh? If yes, how can I add a free surface in libMesh? > > 2- If I suppose that I have an internal boundary in the mesh and I use the > VariationnalSmoother and the AMR. What happen to my internal boundary? Is > it preserved or the algorithms with destroy it or move it. > > Thank you > > Francis Moore > INRS-EMT, Varennes (Québec) > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Libmesh-users mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > |