CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

particles data transfer in parallel

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 14, 2015, 07:20
Default particles data transfer in parallel
  #1
New Member
 
Félix Collin-Bastiani
Join Date: Dec 2014
Posts: 1
Rep Power: 0
felix.cb is on a distinguished road
Hi all,

I'm facing a problem while dealing with the transfer of particles from one processor to an other in parallel in OF2.3.

The parallel transfer of particles is managed in the move() function in Cloud.C .

For what I understand, each particle is moved ( bool keepParticle = p.move(td, trackTime); l.256 ) and if it touches a processorpatch, so it has to be transfered, the particle and its data are stored in a list ( particleTransferLists[n].append(this->remove(&p)); l.282 ) and sent to the corresponding processor via particleStream and newParticles. The final reception of the particles and its attributes is l.377 : addParticle(newParticles.remove(&newp)); .

Looking in detail at which attributes of the particle are transfered,
particleTransferLists=
...
(0.00515625019531 0.00234375058594 0.00050000125) 0 1363 1 4 -1 0 0 240 (-0.000608108152204 -0.000621487668205 0)
...
I can recognize the first vector which is the position of the particle, the last vector which is its velocity, and other attributes as ident=240, origProc=4 ... but no stepFraction!

What I don't understand is that it looks that position and also stepFraction are well transfered but the velocity U of the particle is lost! To see this, I just print one particle's data before and after its motion that include a parallel transfer:

if (p.ident_ == 240)
{
Sout << "[" << Pstream::myProcNo() << "] " << "[" << p.ident_ << "]" << "0stepFraction= " << p.stepFraction() << endl;
Sout << "[" << Pstream::myProcNo() << "] " << "[" << p.ident_ << "]" << "0position= " << p.position() << endl;
Sout << "[" << Pstream::myProcNo() << "] " << "[" << p.ident_ << "]" << "0U= " << p.U() << endl;
}

// Move the particle
bool keepParticle = p.moveboth(td, trackTime);

if (p.ident_ == 240)
{
Sout << "[" << Pstream::myProcNo() << "] " << "[" << p.ident_ << "]" << "1stepFraction= " << p.stepFraction() << endl;
Sout << "[" << Pstream::myProcNo() << "] " << "[" << p.ident_ << "]" << "1position= " << p.position() << endl;
Sout << "[" << Pstream::myProcNo() << "] " << "[" << p.ident_ << "]" << "1U= " << p.U() << endl;
}


And this is what I obtain:

[5] [240]1stepFraction= 0.346330447805
[5] [240]1position= (0.00518478005541 0.00234374980469 0.000500002499988)
[5] [240]1U= (0.000397471442878 0.00100014123841 0)
[4] [240]0stepFraction= 0.346330447805
[4] [240]0position= (0.00518478005541 0.00234374980469 0.000500002499988)
[4] [240]0U= (-0.000864510861128 -9.13459388866e-05 0)

or after an other parallel transfer:

[4] [240]1stepFraction= 0.531836307903
[4] [240]1position= (0.00515625 0.002418360579 0.000500003749963)
[4] [240]1U= (-0.00069785742786 0.000518578803944 0)
[3] [240]0stepFraction= 0.531836307903
[3] [240]0position= (0.00515625 0.002418360579 0.000500003749963)
[3] [240]0U= (6.94526088624e-310 0 0)


How can I transfer well this velocity as I want the particle to continue its way with this velocity (I don't want to re-interpolate the velocity field each time the particle cross a processorpatch) ?

Any help would be appreciated, thanks in advance!

Félix
felix.cb 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
Getting data of injected particles Lior FLUENT 10 April 9, 2020 14:12
Question about heat transfer coefficient setting for CFX Anna Tian CFX 1 June 16, 2013 07:28
heat transfer coefficient and interfacial area density Data required kmgraju CFX 3 December 28, 2012 12:27
Writing profile data at transient heat transfer analysis Ama FLUENT 0 July 5, 2009 08:35
Transfer data in MPI hall Main CFD Forum 0 May 3, 2004 19:57


All times are GMT -4. The time now is 06:09.