Best products from r/CFD

We found 34 comments on r/CFD discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 36 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

Top comments mentioning products on r/CFD:

u/[deleted] · 12 pointsr/CFD

>I'm not sure what kinds of other heavy scientific computing you've done, but CFD is a very difficult field and takes years to understand.

CFD isn't this difficult.

On one side you have partial differential equations (PDEs) describing fluid flow. On the other side you have numerical methods used to solve those PDEs. Put the two together, implement it in code, and you get a rudimentary CFD simulation. For CS students, who typically already have knowledge of numerical methods, coding one of these basic simulations can be done within a semester's worth of focused effort. Venturing into finer, more complex domains and trying to model more advanced flow phenomenons do indeed require years of study, but a beginner -- a 3rd year CS undergrad of all people -- has no need to deal with that stuff when all they want to accomplish is to get their feet wet with the inner workings of the simplest CFD simulation.

So let's not intimidate the poor kid and not oversell the profession. A lot of people love pretending like this stuff is black magic, presumably because it promotes job security, but it just isn't. There are lots of people doing CFD that come from CS and Applied Math backgrounds instead of Engineering or Physics. They all started somewhere. So can the OP.

-------------------------------------

@ /u/AnotherBrownBike

Khan Academy Physics, Fluid Dynamics lectures are your best friend in this.

I would recommend that you start with getting a decent physical understanding of incompressible (also called divergence-free) advection-diffusion equation. This is a simple PDE that describes how particles (or other quantities like energy) are transferred inside a physical system due to the process of diffusion and advection (aka convection). Solving this equation using a numerical solution method for PDEs (such as finite volume or finite element) will allow you to practice the fundamental underpinnings of a CFD code.

Finite Volume methods are more popular in CFD than finite element methods, because they're mathematically easier for people who have a robust understanding of fluid mechanics. That's not going to be the case for you, because you're not studying fluids academically. I would recommend that you focus on finite element methods instead. These are mathematically more challenging -- using them with fluid PDEs require stabilization terms (like SUPG or GLS) to prevent the solution from oscillating. However, the application of finite element methods to fluid PDEs require essentially no knowledge of the physics behind the PDE. It's pure mathematics, and you as a CS student should be well equipped to handle this.

If you're not familiar with finite element methods for solving PDEs, I would strongly recommend starting with a Python library called FEniCS. This is a brilliant finite element solver that allows you to input the bilinear form of your partial differential equation (Google what "bilinear form" is for finite element methods) in Python and generate a solution. This will allow you to practice the mathematics of finite element methods without getting tangled up in the code implementation of the solution process. Solve the Poisson equation first, and then the advection-diffusion.

Simple solvers you might like working with:

EasyCFD -- Educational program intended to teach the basics of a "black-box" CFD solver.

CFD Python -- A Python program designed with a 12-step lesson plan to solving Navier-Stokes equations.

PyFR -- Another Python-based flow solver. Documentation is a bit sparse, so you need an understanding of how CFD works to use it. But once you have that, PyFR's open-source nature allows you to break apart an actual full CFD solver and look at its components before trying to write your own.

Useful literature you might want to check out from your campus library:

White, Fluid Mechanics and/or Cengel and Cimbala, Fluid Mechanics -- Basically the two beginner level fluid mechanics bibles, depending on who you ask. An overwhelming number of engineers out there have had one or the other as their textbook in school. They're both fantastic. Flip a coin.

Moin, Fundamentals of Engineering Numerical Analysis -- Yet another undergraduate bible, this time on numerical methods commonly used by engineers (of all types). It covers material so crucial in all scientific computing that one of my doctoral qualification examiners specifically requested that I know this book from cover to cover.

Anderson, Computational Fluid Dynamics -- Superb introductory book that covers most everything related to CFD. If you're going to buy anything in this list, buy this one.

Hughes, Finite Element Methods -- The bible on finite element methods. The book focuses on structural applications (which do not require stabilization terms) but the mathematics involved are identical regardless of the physics behind the PDE, so this is still a very useful reference.

Zienkiewicz, Taylor and Nithiarasu, Finite Element Method for Fluid Dynamics -- Great supplement to Hughes' book for anyone using FEM on fluid flow. Covers stabilized methods, starting with easy equations (like advection-diffusion) and scaling up all the way to turbulent flows (which you shouldn't bother with right now).

Anderson, Fundamentals of Aerodynamics -- Just putting this down in case you ever need to specifically learn about aerodynamic applications of fluid flow.

Anderson, Introduction to Flight -- Used nationwide as an introductory aerospace engineering book. I recommend it to everybody outside of the industry who wants to work/study in it. Superfluously covers every aspect of the discipline, from structures to propulsion, from aerodynamics to flight control, from aviation to space.

Panton, Incompressible Flow -- Often used as a graduate level book on theoretical fluid mechanics. Focused mathematical approach. Not an easy read, required some prerequisite knowledge of fluid flow (overview of the fundamentals is very brief), but it's the next logical step up when you're ready to take your fluid work further.

u/hotcheetosandtakis · 3 pointsr/CFD

First off, I have used OpenFOAM for the past 7 years and I used it throughout my PhD work. I am now in a position in which I develop code, fix bugs, perform analysis using only Open Source tools.

I responded to another thread with nearly the same comment as I am going to make now:

Learning OpenFOAM

  • Be patient, its difficult
  • Read the users guide and programmer's guide but realize there are mistakes in it....but its a good place to start.
  • CFD-Online and Google are your friends. There are many resources out there including free courses, wiki articles, training material from old workshops, and blogs.
  • Read this book by Ferziger and Peric' as this is where some of the methods implemented in OF come from.
  • Read this thesis by one of the original programmers. This is the most important resource you have.

    Granted, all of this can be done while playing with OpenFOAM and the tutorials, but...if you want to master it...then look through what I have provided. Also, if you want to get using it quickly, try using a preprocessor like swiftSnap or HELYX-OS.

    General Comments on OpenFOAM

  • Market Share: First of all OpenFOAM is displacing commercial codes and do outperform both ANSYS and CFX in certain cases. Europe has wide acceptance of OpenFOAM (e.g. VW in Germany) and it is growing in the US. What is slowing the acceptance in the US is the misconception of Open Source in general, the business model of software as a service, and who supports or improves Open Source libraries like OpenFOAM.

  • Functionality: OpenFOAM has tremendous functionality, covering all major areas of CFD including single/multiphase, RANS/LES turbulence, and reacting/multiphysics flows. OpenFOAM may not have a specific "membrane modeling" module, but all the tools are there to produce one. Even if you paid someone to make one for you it will be cheaper than commercial products. It scales well on clusters and the

  • Costs: The cost to train and support OpenFOAM users is less than half of the cost the an ANSYS user requires to run operations (not opinion this is my experience). The model for users is that providers of OpenFOAM support hlep users setup models, provide custom documentation, troubleshoot cases, and fix bugs....only done after having years of experience doing so.
  • Criticism of OpenFOAM: Q " my simulation gives me a slightly different answer than FLUENT...what gives?" A: Well what is FLUENT doing under the hood to give you that perfectly stable answer, could there be some massaging? I wont argue that FLUENT is a great push button solution for users that need quick answers (COMSOL being the best push button solution for small cases). The number one criticism, is that most people are really apprehensive about learning OpenFOAM. In reality, it is difficult but as another poster put it, once you learn OpenFOAM...other codes are much simpler to learn. In reality, the cost of OpenFOAM may be zero, but it costs in time. The entire process is front loaded in terms of people spend time learning the code (time), companies spend money to get the exact same workflow automation as code X or Y (time and money), and there is a cost of daily support in terms of having access to experts in OpenFOAM (hard cost for x hours). Even with all of this, its still cheaper than commercial codes. Europe has figured this one out and the US is still moving towards this in the next few years.

    I could talk for hours about my experience in it, but I think OpenFOAM will gain a greater market share in the US and students/engineers need to be prepared to answer questions in job interviews like "have you used OpenFOAM?". I see it all the time, so if you want to keep saying that OF is an academic code and wont make it in US industry then I would at least entertain the thought of OF making a larger impact on the US engineering community since it already has in many other parts of the world.

    My two cents.
u/pisosimple · 11 pointsr/CFD

If you're looking to get started, you should start with a good book like this one:
http://www.amazon.com/Computational-Fluid-Dynamics-John-Anderson/dp/0070016852

That book starts out with the basics of Fluid Dynamics equations and is really very good.

Turbulence theory and turbulence modeling is a pretty advanced topic. You will first have to learn about laminar boundary layers, boundary layer equations and then about transition to turbulence, turbulent boundary layers and turbulence modeling.

This is the best book I have read on Boundary Layer theory that covers both laminar and turbulent flow:
http://www.amazon.com/gp/aw/d/3540662707/ref=mp_s_a_1_1?qid=1425473580&sr=8-1&keywords=schlicting+boundary+layer&pi=AC_SY200_QL40&dpPl=1&dpID=41ZQZkmQBNL&ref=plSrch

Turbulence modeling is something you can move on to after that. I recommend this book:
http://www.amazon.com/gp/aw/d/1928729088/ref=mp_s_a_1_1?qid=1425473660&sr=8-1&keywords=wilcox+turbulence+modeling

Wilcox goes into much detail about the nature of turbulence and the different methods that have been formulated to model this phenomenon.

Here is a book that talks about the basics of fluid dynamics that is pretty good too:

http://www.amazon.com/gp/aw/d/0123821002/ref=mp_s_a_1_1?qid=1425473759&sr=8-1&keywords=kundu+fluid+mechanics&pi=AC_SY200_QL40&dpPl=1&dpID=41h-Ynv4uGL&ref=plSrch


Another great resource is this set of fluid dynamics videos made a few decades ago. They are awesome and will give you a strong conceptual understanding:
http://web.mit.edu/hml/ncfmf.html

There you go. I'm sorry if I was unclear on anything. Let me know about it and I'll be glad to help you out more.

Now could you point me to some material about how you use hydrodynamics in your field? I love to learn about different fields! Thank you in advance!

u/userjjb · 3 pointsr/CFD

> I want to at least give myself some experience with using CFD oriented programs

Allow me to read between the lines a little. Your original request seems to imply you want experience using commercial CFD applications. This is certainly a good sub-reddit for that, but I think you also will want/need experience with underlying CFD theory/algorithms to be successful in a graduate program on the subject (although a more industry focused Master's program might not need this at all, but I'm assuming you mean PhD programs). Academic research and advanced applications work tends to be beyond what commercial applications can provide and usually involves in-house or purpose built codes.

As suggested here Dr. Barba's "12 Steps" is a decent starting place. You'll touch on both theory, algorithms, and write code. There a couple additional recommendations I might add. There are a number of methods for CFD, the earliest one is Finite Difference methods and this is what "12 Steps" uses. However for the most part modern academic work uses either Finite Element/Volume, Discontinuous Galerkin, or Spectral methods. You'll likely branch out into one these methods depending on what your PI likes.

That isn't to say that your knowledge from "12 Steps" will be useless, there is a fair degree of overlap, but you'll likely move on from it. Having an applied math background puts you in a good place foundation-wise to quickly dive into other material. I recommend starting with Gustafsson's text Fundamentals of Scientific Computing. It's relatively simple and may cover things you already know depending on your background, but it is a comprehensive starting place that will also walk you through each of the main methods.

From there you could branch out into a method that interests you, my recommended starting texts:

Finite Volume: Leveque's "Finite Volume Methods for Hyperbolic Problems".

Finite Element: Rather than a text, I highly recommend Dr. Garikipati's online course from UMich. The video lectures are all on Youtube and are high-quality both production and layout-wise.

Discontinuous Galerkin: The defacto text is Hesthaven and Warburton's "Nodal DG Methods". I don't think it's a great intro to DG for students, but it's certainly a good reference. Shameless self-plug: I put together a set of Intro to DG video lectures that walks you through a high-order 1-D solver.

Spectral/Spectral Element: I'm least familiar with this area, but have looked through both Boyd's Chebyshev and Fourier Spectral Methods and Kopriva's Implementing Spectral Methods for Partial Differential Equations and found them to be pretty good.

Domain specific wise I'd expect you to be using a FV or DG method to deal with shock-capturing for hypersonic flow. You'll inevitably want to take a look at Toro's Riemann Solvers for shock handling and flux function related stuff. Look here last (or at all) once you actually need it.

u/TurbulentViscosity · 11 pointsr/CFD

I'm not sure what's specifically standard for those types of applications and what sorts of cases are run, but industry standard changes a lot even in single industries.

CFD is often the long pole in the tent because of the plethora of assumptions made on the flow physics. We don't have computers fast enough to resolve everything easily so generally engineers use lots of models which don't always work. Good boundary condition data is often hard to come by, complex geometry is hard to mesh well, and you end up in a position where lots of subtle things can make everything go wrong.

It sounds like you're doing a sort of aero analysis, which often are very costly computationally because the mesh requirements are so large. If you want to buy hardware you're looking at $2-3k minimum in equipment to get the job done very slowly. Which doesn't include the software, if you want a commercial package those are very, very costly, typically far outside hobbyist range. Open-source packages exist but you have to be willing to put a lot of effort into them, since they often lack good documentation and training. You may be able to limit the size of the case to save yourself computational cost, but then see my comment about assumptions above.

If your work has a commercial package onsite that you're allowed to play with on company hardware this is your best entry route. The two most common packages are Fluent from ANSYS and STAR-CCM+ from Siemens PLM. They will have good documentation and step-by-step tutorials.

If you really want to delve into things yourself, you can download OpenFOAM, which is an open-source package. It has a steep learning curve, but tutorials exist with varying quality on youtube and elsewhere.

CFD is not really something to jump in to without learning theory, though. I would recommend you pick up a book or two. My recommendation for your sort of scenario would be this one: https://www.amazon.com/Introduction-Computational-Fluid-Dynamics-Finite/dp/0131274988 though you may be able to find PDF copies on the internet. You really need to learn what the buttons do before you press them, else you can easily land yourself in a position with good-looking pictures that are nonsense.

u/boesmensch · 3 pointsr/CFD

Numerical Simulation in Fluid Dynamics: A Practical Introduction
The nice thing about this book is that it guides you through the creation of a basic CFD code with lots of pseudo code and recommended method interfaces and data structures. The discretization is done in finite differences. Advanced topics like turbulence, energy transport and free boundary problems are also discussed.

Computational Methods for Fluid Dynamics
In contrast to the first one, this book does not provide you any recommendations regarding the implementation but covers more topics like finite volume discretization, numerical solvers, multigrid, DNS, LES etc.

I would say, if you want a practical approach, pick the first one, if you are more interested in the theory of different methods and concepts, pick the second one.

u/3pair · 6 pointsr/CFD

While Anderson's book is pretty good, I wouldn't recommend it in this case. He writes primarily from an aerodynamics view, with the assumption that the Mach number will be important, and deals mainly with density based solvers. None of that is going to be relevant to most hydrodynamics situations. I would instead recommend something that focuses more on pressure based solvers and low Mach number flows, like Ferziger & Peric, or Versteeg & Malalakesera if you want something that is a bit more of a hand book. I find Ferziger & Peric especially helpful for dealing with OpenFOAM because so much of the terminology is similar.

u/FlyingTinOpener · 1 pointr/CFD

Yeah, baby steps indeed! None of us learned this stuff overnight. I think a decent number of people in this subreddit have devoted at least a year (if not more) of advanced undergrad or beginner graduate level coursework to really master the principles behind CFD solvers.

I cannot recommend Moin's Fundamentals of Engineering Numerical Analysis enough. It starts with the very basics (numerical integration and finite differences) and then builds all the ODE/PDE discretization techniques right on top of these basics. If you're going to be learning about PDEs this semester, and then linear algebra next, this numerical methods book from Moin will be a great companion.

By the end of your linear algebra class, you should be able to write a program that discretizes an ODE with central differencing, which creates a linear matrix system (Ax=b), which in turn is solved using some iterative method (i.e.: Gauss-Seidell). That's not exactly how CFD solvers work (they use different discretization methods) but the general workflow is identical. Doing an exercise of that sort would be very helpful, and the general framework of your code can later be upscaled to more advanced discretization techniques.

u/a_bourne · 1 pointr/CFD

If you are interested in a book on numerical solution of PDE, you should check this one out. This is the book I learned out of, and it is particularly suited to finite difference methods (but covers some of FVM and FEM and has a chapter on linear solvers).

This is a good introduction to finite volume methods.

As for books about CFD, I am not too sure, my research is on numerical solution of hyperbolic PDE (think Euler equations), and I work with a particular method (discontinuous Galerkin). But these two books should be accessible to you with your background. Read them, try to code things up. See what happens when you break stability conditions, see what happens why you do not limit a shock. These things will help you understand and interpret CFD results.

u/pedrojrebelo · 2 pointsr/CFD

If you never took any modules in CFD you might learn where to click on any software but I will invest some time in learning the founding bricks of CFD. This might seem strange but when doing CFD you are always confronted with modelling decisions and having that strong background can really help you. To really start I would suggest a rather general book like the one from Prof Hirsch https://www.amazon.com/Numerical-Computation-Internal-External-Flows/dp/0750665947

u/AKSpaceMan576 · 4 pointsr/CFD

Computational Fluid Mechanics and Heat Transfer 2nd or 3rd Edition by John C. Tannehill, Dale A. Anderson, and Richard H. Pletcher Amazon Link

I've read through some of this book, and it's been recommended to me by my mentor. It's a great book to build a strong foundation in CFD

u/CFD1986 · 1 pointr/CFD

https://www.amazon.co.uk/Introduction-Computational-Fluid-Dynamics-Finite/dp/0131274988

This book is great for starting out. There are others more suited to aerodynamics but that book is a good starting point.

u/luidkid · 4 pointsr/CFD

This is a good book for you to start: An Introduction to Computational Fluid Dynamics: The Finite Volume Method

You will find the definition of some terms and how the different models work. I think it is important for you to get acquaintance with RANS equations. If I can suggest you one more thing it is to look for an publication of a similar work, even if the focus is different than yours, you can find some tips of how to run your simulations.

u/Overunderrated · 6 pointsr/CFD

There's a lot out there. I would probably recommend Hirsch's Numerical Computation of Internal and External Flows. It's got good coverage "from the beginning" and still has a decent amount of rigor.

u/AgAero · 1 pointr/CFD

Buy or check out this book from a library. That will be your goto for all the cfd aspects(AKA the numerical simulation of a physical problem). Other resources you'll find will be more strictly programming based(Things like MPI, OpenMP, Fortran, etc.).


Edit: For getting your feet wet.

u/ritchiev · 2 pointsr/CFD

Check out chapter 10 of the Anderson CFD book. It's an explicit FD formulation of this exact problem.

Link: https://www.amazon.com/dp/0070016852/ref=cm_sw_r_cp_apa_xiTZAbSJCCYF4

If you're just looking for source code, it's somewhere out there on them interwebs, in Matlab and C at least.