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

How many mesh elements per second per CPU core ?

Register Blogs Community New Posts Updated Threads Search

Like Tree9Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 11, 2017, 10:05
Default
  #21
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,175
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
I think we are comparing orange and apples here (or at least I was).

I have full respect for such uniform grid solvers, which I somehow expect to be much faster than anything unstructured. Still, I don't see how such codes could ever manage to deal with the complexity faced in any industrial context. About the many doubts I have:

1) I work with immersed boundaries, and I call total bullshit on it. There might be room for external flows and moving objects but, I have serious doubts for internal flows and anything static. We have a post hanging On the immersed boundary method (sorry arjun and FMDenaro, I still have to put together the data).

2) Even without considering the theoretical issues of the IBM, I'm not pretty much convinced that billions of cells are the way to go. For a turbulent supersonic combustion simulation you might easily end up with 20 scalars just as main independent variables that you cannot deallocate. Which means 160 GB of memory. Even if your uniform grid code doesn't require anything else to be stored, how are you going to postprocess or store that data? Not to talk about the RAM. This already requires a 20-30k dollar machine, that only today are starting to become available as workstations.

3) The previous point also reminds me of the https://en.wikipedia.org/wiki/Wirth%27s_law.

4) Not all problems can be reduced to a single poisson solve per iteration. Not an expert here, but I guess that anything non-symmetric is already out of the game. Which means you are still tied to a convective CFL limit to advance your solution (at least for practical cases where you need upwind). So, no matter how fast you solve your poisson system, you just moved your information of 1 cell (still 1023 missing to reach the other domain end). This, again, reminds me of point 3.

5) Typically, a grid is built to capture ineteresting things, which mostly happen at boundaries, so your minimum required cell count for a given problem might be something like N^2 with an isotropic octree grid. However, most of the times this is already overkilling as some directions might require much less points than others, and a good working grid is somewhere between N and N^2. You are instead proposing N^3 as working paradigm. Which reminds me, again, point 3, but also this:

http://tfc.snu.ac.kr/jboard/file_dow...1405313764.pdf

Obviously, and I know this because that's where I come from, turbulence research has other requirements, which much better fit this model. But that's already overkilling for LES. And how would you justify a 1024 cell resolution in a direction where most of the variations will only happen over 10-20 cells near the body (e.g., RANS)?

@Michael:
Quote:
Originally Posted by mprinkey View Post
And if you haven't already, you should really read up on AofS versus SofA. (Arrays of Structs/Structs of Arrays) This is a huge topic touching on exactly your concerns about shoving all of your fields into structs. How those data are grouped and accessed can dramatically impact your code performance.
Yes, I know that, actually I don't have any array of small objects but just objects with large arrays. Still, instead of moving them around, I tend to build objects with such objects, so that I typically end up passing a very large object (an object with large objects) to most of my subroutines, so that I don't have to pass each argument all the times. I know this is bad programming practice, but sometimes helps. Fortran only works by reference, so the performances shouldn't be hit; still, if the compiler doesn't know which argument is going to be modified in a subroutine, it can't probably optimize at best. However, I'm also planning a modern code reorganization, where such things will not be present anymore.

@zx-81: You should really compare your solver with this
http://www.incompact3d.com/

@arjun: In a world where the peer review process is already completely flawed (even jcp accepts complete bullshit and most reviewers, nowadays ,barely know a fraction of their own field), do you think that patenting a computational procedure has any sense at all (considering that you are actually paying for it)? I don't want to be disrespectful, I believe that your method works as expected etc., I literally mean what I wrote. Let me give you an example. Let's say that I copy any of these http://patents.justia.com/patents-by...fication/703/9 methods and I use it in my solver. They'll never know (those who filed the patent). Let's make a further step and say that i develop a software using such copied method and sell that software. They could still never know that. Let's say that they are paranoid and decide to sue me just because of a suspicion. Besides the cost of an international law action with all its large uncertainties, I can still prove that all the parts of any patented work at that page are copied from someone else who published decades before they could actually use a PC and I could barely change the order of the parts of the process to obtain a different process which I could file for a patent myself. What's the sense then of all this? I stress again that I do not mean to be disrespectful, I'm truly interested in the answer.
sbaffini is offline   Reply With Quote

Old   February 11, 2017, 12:53
Default
  #22
Member
 
Bernd
Join Date: Jul 2012
Posts: 42
Rep Power: 14
zx-81 is on a distinguished road
Quote:
Originally Posted by sbaffini View Post
say that i develop a software using such copied method and sell that software. They could still never know .
That is true for proprietary software. The problematic thing with patents is the case where you want to publish your software as open source (an option wich I may consider to do at some point in time for my solver) Then the inner workings of your machinery is open for the whole world and you are exposed to a vast mine field of potential legal problems you do not want to waste 95% of your time on ... unless you do not happen to be a CFD software expert and a lawyer at the same time

(But let's not start a general patent discussion as its off-topic here)
sbaffini likes this.
zx-81 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


Similar Threads
Thread Thread Starter Forum Replies Last Post
stop when I run in parallel Nolwenn OpenFOAM 36 March 21, 2021 04:56
[snappyHexMesh] No layers in a small gap bobburnquist OpenFOAM Meshing & Mesh Conversion 6 August 26, 2015 09:38
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 18 March 3, 2015 05:36
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 06:20
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! sc298 OpenFOAM Meshing & Mesh Conversion 2 March 27, 2011 21:11


All times are GMT -4. The time now is 05:30.