CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

lagrangian particles in parallel

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 1, 2011, 05:26
Default lagrangian particles in parallel
  #1
New Member
 
Frank
Join Date: Apr 2009
Posts: 7
Rep Power: 17
fmuldoo is on a distinguished road
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
fmuldoo is offline   Reply With Quote

Old   March 2, 2011, 05:08
Default
  #2
Member
 
Sebastian Vogl
Join Date: Mar 2009
Location: Munich, Germany
Posts: 62
Rep Power: 17
sebastian_vogl is on a distinguished road
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
sebastian_vogl is offline   Reply With Quote

Old   March 2, 2011, 08:16
Default
  #3
Member
 
Join Date: Dec 2009
Posts: 36
Rep Power: 16
FG_HSRM is on a distinguished road
Quote:
Originally Posted by sebastian_vogl View Post
For equal weithting you should insert the entry:

metisCoeffs
{
processorWeights
(
1
1
);
}
Not using any entry should also produce balanced parts of the mesh in terms of equal size, shouldn't it?
I never you use any entry.

Regards, fritz
FG_HSRM is offline   Reply With Quote

Old   March 11, 2011, 10:15
Default
  #4
New Member
 
Frank
Join Date: Apr 2009
Posts: 7
Rep Power: 17
fmuldoo is on a distinguished road
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
fmuldoo is offline   Reply With Quote

Old   March 15, 2011, 09:43
Default
  #5
Member
 
Sebastian Vogl
Join Date: Mar 2009
Location: Munich, Germany
Posts: 62
Rep Power: 17
sebastian_vogl is on a distinguished road
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:

  1. Location vector (x y z)
  2. Label of the computational cell in which the particle is.
In your case every particle is in cell 0. After decomposition only one processor - the one which contains the cell with label "0" - has got all the particles and therefore only in processor0/0.00000/ there is a lagrangian folder. If you don't know into which cell a position vector points, you can use a default label number -5. OpenFOAM realizes that you don't know the cell label and computes it depending on the position vector you set.
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
sebastian_vogl is offline   Reply With Quote

Old   October 31, 2014, 22:28
Default need your help!
  #6
New Member
 
Chen Linya
Join Date: Oct 2014
Posts: 4
Rep Power: 12
Chen Linya is on a distinguished road
Quote:
Originally Posted by fmuldoo View Post
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
Hi Frank

I have the same question. Can you tell me how you have solved the problem. Thank you very much!
Chen Linya is offline   Reply With Quote

Reply

Tags
lagrangian particles, parallel


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
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


All times are GMT -4. The time now is 11:29.