# FEniCS CFD work-flow for complex geometries

I have COMSOL and the CFD package therein available, which provides me with an all-in-one solution for solving CFD problems. I have modeled and solved the geometry shown in the pictures below, which took me roughly one hour.

Now (just for kicks) I want to do the same in FEniCS and see how that goes. At this point, I am trying to establish an optimal work flow.

My approach at the moment is this:

1. create the geometry in gmsh
2. create the mesh in gmsh
3. import the mesh to dolfin using dolfin-convert mesh_file.msh mesh_file.xml
4. set-up boundary conditions in dolfin
5. solve navier-stokes equations
6. post-processing in ParaView

Before I start doing that, I would like to know if this work-flow is a good idea?!

Possible issues I see are setting up the boundary conditions from the imported gmsh mesh in dolfin, based on this launchpad post. I.e. is it better to define the boundary conditions in gmsh or in dolfin?

As for the specification of boundary conditions, I think dolfin-convert still doesn't carry over the tag information from Gmsh meshes to the dolfin format. If your domain isn't too complicated, manually re-tagging the boundaries in FEniCS should be doable though.
• According to comments in meshconvert.py it seems that both cell and facet markers are suported for gmsh for a pretty long time. If you also take this workflow seriously then it may be worth tweaking meshconvert.py for your needs. – Jan Blechta Jun 6 '13 at 13:50