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

Streamlines and AMI patches

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   April 15, 2015, 05:27
Default Streamlines and AMI patches
  #1
New Member
 
Johannes Kneer
Join Date: Mar 2009
Location: Germany, Karlsruhe
Posts: 13
Rep Power: 8
johannesk is on a distinguished road
Hi,

I have a rhoSimpleFoam case that uses AMI patches that I need to extract streamlines from (OpenFOAM 2.3.1-262087cdf8db). The case ran fine and has converged. I now want to extract streamlines using execFlowFunctionObjects.

In parallel it fails with this error message:
Quote:
[0] --> FOAM FATAL ERROR:
[0] Particle tracking across AMI patches is only currently supported for cases where the AMI patches reside on a single processor
[0]
[0] From function void Foam::Cloud<ParticleType>::initCloud(const bool)
[0] in file /usr/local/share/OpenFOAM/OpenFOAM-2.3.1/src/lagrangian/basic/lnInclude/Cloud.C at line 59.
[0]
FOAM parallel run aborting
In several tries I always got this error message whether I had applied preservePatches or not in decomposeParDict. So I reconstructed the converged result and called execFlowFunctionObjects on a single processor, which fails with this error message:

Quote:
--> FOAM FATAL ERROR:
Particle lost across cyclicAMI patches ami_0 and ami_1 at position (0.34529617 0.013167192 0.906585)

From function template<class TrackData>void Foam::particle::hitCyclicAMIPatch(const cyclicAMIPolyPatch&, TrackData&, const vector&)
in file /usr/local/share/OpenFOAM/OpenFOAM-2.3.1/src/lagrangian/basic/lnInclude/particleTemplates.C at line 1072.

FOAM aborting

Also the trackLength of the streamlines is setup so they should never actually reach the AMI patches. Checkmesh tells me the mesh is fine.

I've run out of ideas, any suggestions on how I can still extract the streamlines?
__________________
--
Johannes Kneer
Institute for Thermal Turbomachinery
Karlsruhe Institute of Technology
johannesk is offline   Reply With Quote

Old   April 19, 2015, 05:23
Default Workaround
  #2
New Member
 
Johannes Kneer
Join Date: Mar 2009
Location: Germany, Karlsruhe
Posts: 13
Rep Power: 8
johannesk is on a distinguished road
Tested the most recent version (3.1.x commit 7445bfe6342), the issue persists.
I had a quick look at the source. It seems like the streamline-particle is lost as it hits the cyclicAMI boundary and no corresponding face on the neighbour patch can be found. I'm not sure how this can even happen on a cyclicAMI patch with the same total area. Maybe someone with more insight in the AMI-logic can comment on this?

For the time being I found a simple workaround:
  • reconstruct the case (using a script and changeDictionary to convert the patch type from cyclicAMI to patch in boundary and BCs to avoid a known bug with reconstructPar an cyclicAMI.)
  • setting a fixedValue BC instead of cyclicAMI
  • run execFlowFunctionObjects with the streamline instructions
This workaround only works for me as I'm not interested in streamlines traversing the cyclicAMI boundary.
__________________
--
Johannes Kneer
Institute for Thermal Turbomachinery
Karlsruhe Institute of Technology

Last edited by johannesk; April 19, 2015 at 15:21.
johannesk is offline   Reply With Quote

Old   August 22, 2015, 09:48
Default Streamlines and AMI patches
  #3
Member
 
Jason Dale
Join Date: Mar 2009
Location: UK
Posts: 65
Rep Power: 8
jason is on a distinguished road
Hi,

I have the same problem when running icoUncoupledKinematicParcelDyMFoam in OF v2.4.0 in Ubuntu 14.04. It crashes when the particles reach the AMI boundary and reports the following:

--> FOAM FATAL ERROR:
Particle lost across cyclicAMI patches AMI1a and AMI1b at position (0.105136 0.184009 0.05)

From function template<class TrackData>void Foam:article::hitCyclicAMIPatch(const cyclicAMIPolyPatch&, TrackData&, const vector&)
in file /home/openfoam/OpenFOAM/OpenFOAM-2.4.0/src/lagrangian/basic/lnInclude/particleTemplates.C at line 1071.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) at ??:?
#1 Foam::error::abort() at ??:?
#2 ? at ??:?
#3 ? at ??:?
#4 ? at ??:?
#5 ? at ??:?
#6 ? at ??:?
#7 ? at ??:?
#8 ? at ??:?
#9 ? at ??:?
#10 ? at ??:?
#11 ? at ??:?
#12 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#13 ? at ??:?
Aborted (core dumped)

I noticed a bug report/fix here which says the problem is resolved but it appears not.
http://www.openfoam.org/mantisbt/view.php?id=1694

Attached is a simple case: it is a fan and particles enter at the inlet, I want to see where the particles go after passing the fan. The AMI interface surrounds the fan. Just run blockMesh and icoUncoupledKinematicParcelDyMFoam in OF v2.4.0 to reproduce.

The solver crashes at Time = 0.0113s. Note that it will not run on more than one processor due to the other solver error message mentioned in first post below which I haven't followed up yet.

Could anyone advise if they have had any success? I need to use OF v2.4.0 but I will compile OF v3.1.x and test and report back. The workaround will not work as I do want to follow the particles through the AMI interface.

Br

Jason
Attached Files
File Type: gz conceptTest.tar.gz (4.9 KB, 0 views)
jason is offline   Reply With Quote

Reply

Tags
amicyclic, streamlines

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On



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