|
[Sponsors] |
March 1, 2011, 05:26 |
lagrangian particles in parallel
|
#1 |
New Member
Frank
Join Date: Apr 2009
Posts: 7
Rep Power: 17 |
Hello all,
I am having a problem in that running "decomposePar" does not decompose the folder "lagrangian" which contains information about solid particles. All works OK when run in serial. Anyone have any ideas? The directory structure is: [fmuldoo@tetra a]# l 0 total 16K drwxr-xr-x 4 4.0K Mar 1 10:05 lagrangian -rw-r--r-- 1 1.1K Mar 1 10:05 p -rw-r--r-- 1 1.2K Mar 1 10:05 T -rw-r--r-- 1 1.3K Mar 1 10:05 U [fmuldoo@tetra a]# l 0/lagrangian/defaultCloud total 196K -rw-r--r-- 1 26K Mar 1 10:05 d -rw-r--r-- 1 84K Mar 1 10:05 positions -rw-r--r-- 1 75K Mar 1 10:05 U [fmuldoo@tetra a]# l processor*/0.000000 processor0/0.000000: total 12K -rw-rw-r-- 1 1.2K Mar 1 10:08 p -rw-rw-r-- 1 1.3K Mar 1 10:08 T -rw-rw-r-- 1 1.4K Mar 1 10:08 U processor1/0.000000: total 12K -rw-rw-r-- 1 1.2K Mar 1 10:08 p -rw-rw-r-- 1 1.3K Mar 1 10:08 T -rw-rw-r-- 1 1.4K Mar 1 10:08 U The case is at: http://tetra.fluid.tuwien.ac.at/fmul...sue0014.tar.gz Cheers, Frank |
|
March 2, 2011, 05:08 |
|
#2 |
Member
Sebastian Vogl
Join Date: Mar 2009
Location: Munich, Germany
Posts: 62
Rep Power: 17 |
Hi Frank,
thank you for your reply on my post. You helped me a lot. So maybe I can help you a little bit. Indeed I perform Euler-Lagrange-Simulation and decomposing a case including particles has always worked fine. I just downloaded your case and saw in your system/decomposePar dictionary that you specify the number of sub-domains with 002. It may be better to use simple integers. numberOfSubdomains 002; --> numberOfSubdomains 2; The second issue is: you use metis as method for decomposition. So you may also supply the weighting coefficients for each processor in the metisCoeffs sub dictionary. For equal weithting you should insert the entry: metisCoeffs { processorWeights ( 1 1 ); } You can of course change the weighting factors. Regards, Sebastian |
|
March 2, 2011, 08:16 |
|
#3 |
Member
Join Date: Dec 2009
Posts: 36
Rep Power: 17 |
||
March 11, 2011, 10:15 |
|
#4 |
New Member
Frank
Join Date: Apr 2009
Posts: 7
Rep Power: 17 |
Hello Sebastian,
I reply only now as I was away at a conference. It seems that you have indeed found a bug. I was incorrect in saying that your equation was the same as in OpenFOAM. This is true if the equations are interpreted as equalities, however, the meaning of them as programmed is different, as in this context the meaning is to replace the left-hand-side with the right-hand-side, using current values of the left-hand-side (i.e., U_) appearing on the right-hand-side. I have also derived this equation and arrive at the same result as you. Perhaps you could look at this derivation and pass any comments you have back to me? It can be found at: http://tetra.fluid.tuwien.ac.at/fmul...articles-1.pdf It is unclear to me where (and how) the particle position (as opposed to velocity) is updated, perhaps you know? As for running in parallel, could you perhaps send a case that you have successfully ran so I can try to figure out what should be changed. Regards, Frank |
|
March 15, 2011, 09:43 |
|
#5 |
Member
Sebastian Vogl
Join Date: Mar 2009
Location: Munich, Germany
Posts: 62
Rep Power: 17 |
Hi Frank,
I haven't read your derivation, yet, as I was on vacation last week. However, as far as your particle case, which you posted here above, is concerned the answer to your question is clear to me now. I forgot to check your a/0/lagrangian/defaultCloud/positions file. Every particle position is specified with to entries in the list inside of this file:
That's the case for OF-1.5.x at least and I guess for all the following versions. However I don't know the situation in the extended versions. You have th check the constructors in the Particle/Cloud classes which you can find in src/lagrangian/basic. Now to your second question: The position of a particle is calculated in the function "trackToFace" which you can find in the Particle.C file. This function is called by the solidParticle class in the solidParticle::move(...) function which itself lies in the file solidParticle.C. The position of a particle is an attribute of the base class Particle and can be accessed via the base class function position() (see Particle.H and Particle.C). I think this shoud help. Best regards, Sebastian |
|
October 31, 2014, 22:28 |
need your help!
|
#6 | |
New Member
Chen Linya
Join Date: Oct 2014
Posts: 4
Rep Power: 12 |
Quote:
I have the same question. Can you tell me how you have solved the problem. Thank you very much! |
||
Tags |
lagrangian particles, parallel |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Mapping Lagrangian particles | gschaider | OpenFOAM Bugs | 7 | December 20, 2023 09:45 |
Lagrangian material particles | bramv101 | STAR-CCM+ | 5 | October 23, 2017 06:27 |
Multiphase Lagrangian Particles | moritzhoefert | OpenFOAM | 1 | December 8, 2010 09:48 |
Additional variable for lagrangian particles (dieselFoam) | N. A. | OpenFOAM | 0 | July 16, 2010 11:45 |
How to set correct mass flow rate for lagrangian particles ? | sankarv | OpenFOAM | 0 | April 19, 2010 12:40 |