CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

How much time did it take for you to create your solvers? And what mstakes you made?

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 2 Post By sbaffini

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 17, 2021, 16:20
Default How much time did it take for you to create your solvers? And what mstakes you made?
  #1
Senior Member
 
Sayan Bhattacharjee
Join Date: Mar 2020
Posts: 495
Rep Power: 8
aerosayan is on a distinguished road
All of the CFD codes that I see in the market seems like they have been in development for a long time. It doesn't become clear how much time it actually took them to become good enough to develop their own solvers. And most importantly they only share where they succeeded, but never about where they failed.


What has been your experience?



Here's my experience through failures. If anyone is a beginner and would want to ask more about the mistakes I made, let me know : It took me around 1.5 year to try out a few different versions of my solver. Most of them were not good enough. For the first version, I just took some matlab code and made it work with some spit and glue. It was horrible, but it worked. For second version I tried to improve performance, but after 4 months of work and finding one issue, I gave up using Fortran, and started using C++. Then I optimized for the wrong thing. That is, I optimized for latency instead of throughput, and my code became so "fast", it was choking the memory bus, as every thread waited for memory. For the third version, the development is going on smoothly. I figured out where I was doing premature optimization and where I should be focusing my efforts.
aerosayan is offline   Reply With Quote

Old   October 18, 2021, 04:03
Default
  #2
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,152
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
Probably, any absolute measure you are going to consider in development, will always be biased, if not completely inaccurate.

For example, anything between 1 and 2 years seems reasonable to develop a full, unstructured, cell centered finite volume solver, batteries included, with all the bells and whistles. But, I think, only assuming you already did it before, so you are kind of allowed to take a look at your previous code whenever you don't remember something (not copy/paste of course, otherwise there would be no reason to rewrite stuff).

For example, in my development journey, I have rewritten stuff multiple times, each time also redesigning or learning new things. So, I have spent time learning or designing stuff that you can't reasonably include in this 1-2 years, also because they happened in very different moments in time. And I'm just mentioning true advanced stuff that you only consider for actual production codes. Not even considering the years it took me to learn CFD from scratch. Also, when you need to switch between the different topics of a full code, having to learn/design stuff will also induce a lack of efficiency, inevitably, because every time you derail from what you're doing you need the time to get back; the more you do it, the more you spend time in doing, basically, nothing.

So, in the end, it really depends. But having been there (and being there now as well), I confirm that the 1-2 years figure is appropriate as long as you know what you're doing in every detail.

EDIT: mistakes... plain ones probably not, but sometimes assumptions turned out not wise enough to make the underlying code last as much as I would have liked. Yet, when I developed my first 3D panel code I was unaware of certain theoretical details, which led to me spend 6 months on it, inlcuding a full rewrite from scratch (full scratch, like I even trashed all my hand notes), only to come up with the exact same code because there were no mistakes but a lacking theoretical knowledge.
Chris2337 and aerosayan like this.
sbaffini is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 14:00.