[FreeFEM 6] Adaptive mesh generation in FreeFEM
Ғылым және технология
Adaptive meshing is a common technique for certain applications where higher numerical accuracy is needed for a particular region in the computational domain. This has interesting applications in a wide range of different simulations such as interface tracking methods, about which we will talk more in the future. In this video, we have a look at some of the FreeFEM capabilities to generate 2D and 3D adaptive mesh.
Codes, models, and resources:
You can find all the codes and models required to follow the videos and reproduce the output, grouped for different episodes, at tuxriders.com/videos/freefem/ and github.com/TuxRiders/freefem-...
💡 Finite element series, in which a single problem was solved in different open-source tools including FreeFEM • Introduction to finite...
💡 Applied numerical computing series, in which the underlying theories of these videos are discussed: • Introduction to applie...
Topics covered:
🎯 Mesh adaptation techniques in FreeFEM
🎯 Mesh adaptation using the adaptmesh function
🎯 Mesh adaptation according to PDE sollutions
🎯 3D mesh adaptation
🎯 Tetgen and Mmg for adaptive meshing
Lecturer: Mojtaba Barzegari mbarzegary.github.io/
To learn more about the goals of the TuxRiders project, please visit our website at tuxriders.com.
Chapters in this video!
################
00:00 - Intro
00:46 - Basic usage of adaptmesh function for a circle metric
03:43 - Using adaptmesh for a rectangle metric
05:39 - Using a mixed shape as the adaptation metric
07:36 - Adapting mesh on the surface of a screw
08:42 - Adapting mesh based on the solution of a PDE
12:00 - 3D mesh adaptation using Tetgen
15:27 - 3D mesh adaptation using Mmg
17:08 - Adapting a 3D mesh based on the solution of a PDE
Пікірлер: 16
Hi, if you had a transient problem and wanted to perform several mesh adaptations based on the solution obtained at each timestep, would you need to set uold=uold (where uold is the old solution from the previous timestep) after each adaptation? This would surely resize uold such that it would fit the newly adapted mesh.
@TuxRiders
4 ай бұрын
Yes, you need to do it every time you adapt the mesh so that FF can interpolate (map) the values from the old mesh to the new one.
Very helpful video ! Thank you Mojtaba Can you please do a tutorial on the same topic (Adaptive mesh refinement) but in FEniCS ? I find it kinda more technical there, as we have to make good use of cell_markers etc. That would be really interesting !
@TuxRiders
Жыл бұрын
glad to know it was useful. it's indeed a great suggestion. yes, doing that is more challenging in FEniCS.
Thank you
@TuxRiders
Жыл бұрын
You're welcome :)
is it my eyes or the adaption is performed on the first rough mesh not on the geometry. The fine mesh is following the coarse mesh outlines?
@TuxRiders
Жыл бұрын
you are absolutely right, the function is first mapped to the original mesh and then used for the adaptive refinement. that's the reason behind using a very fine mesh in example 3.
Hi, do you know if freeFEM allows mesh adaptation to multiple functions? I have a coupled-PDE problem with three unknowns and it would be good if there was a way to incorperate all three solutions into the the mesh adaptation process. Great video!
@TuxRiders
Жыл бұрын
hi, as far as I know, it doesn't support such mesh adaptation. I don't expect other mesh manipulation interfaces such as MMG and TetGen support it neither. maybe you need to combine all the unknowns into one representative metric and then use it for performing the mesh adaptation.
Very good series on FreeFEM. Is is possible to apply FreeFEM to a real world process with varying boundary conditions from measurements?
@TuxRiders
Жыл бұрын
thanks! yes, it's relatively easy to define a variable BC in FreeFEM.
@michaelhecht5429
Жыл бұрын
@@TuxRiders will you show it in a video?
@TuxRiders
Жыл бұрын
@@michaelhecht5429 yes, sure.
cool
@TuxRiders
Жыл бұрын
:)