|
[Sponsors] | |||||
|
|
|
#1 |
|
Member
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 16 ![]() |
Dear Foamers,
does anyone have experience in using wallBoundedStreamLine? What do the entries exactly mean? I commented, what I do understand or think I understand and which questions I have: Code:
wallBoundedStreamLines
{
functionObjectLibs ("libfieldFunctionObjects.so");
type wallBoundedStreamLine;
outputControl outputTime;
setFormat vtk;
UName UNear; //calculation of near wall velocity field for later streamline calculation
trackForward true;
interpolationScheme cellPoint;
fields (p U k UNear); //necessary fields for streamline calculation
lifeTime 100; //life time of generated particles? life time in time steps?
cloudName wallBoundedParticleTracks;
seedSampleSet patchSeed; //whats the difference between the coeffs types?
uniformCoeffs
{
type uniform;
distance 0.00051;
nPoints 20;
}
cloudCoeffs
{
type cloud;
distance 0.00051;
}
patchSeedCoeffs
{
type patchSeed;
patches (rotor_OBJECT); //patch to calculate streamlines on
axis x; //distance; //what does the axis mean?
maxPoints 2000; //no. of particles or streamlines?
}
}
Moreover: I run a simulation (MRFSimpleFoam, wind turbine rotor blade 120° wedge) with cyclic patches in parallel. If I activate wallBoundStreamLines (WBSL) OF gives me an error (problem with cyclic and parallel ...). So I reconstruct the latest time step, and run one more step with WBSL, which OF does. It calculates UNear, U, p and so on, but afterwards I get the following message for a lot of cells: Code:
--> FOAM Warning :
From function Foam::List<Foam::tetIndices> Foam::polyMeshTetDecomposition::faceTetIndices(const polyMesh&, label, label)
in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 570
No base point for face 3348692, 5(1402997 1323072 1353391 1309945 1345687), produces a valid tet decomposition.
--> FOAM Warning : Suppressing any further warnings.
What I actually would like to get are the close wall values of U and p and the resulting streamlines. Thanks and best regards Julian |
|
|
|
|
|
|
|
|
#2 |
|
Member
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 16 ![]() |
P.S.:
This is the error I get, when I run my simulation with wallBoundedStreamLines in parallel: Code:
[3] --> FOAM FATAL ERROR: [3] Particle tracking across AMI patches is only currently supported for cases where the AMI patches reside on a single processor [3] [3] From function void Foam::Cloud<ParticleType>::initCloud(const bool) [3] in file lnInclude/Cloud.C at line 59. [3] FOAM parallel run aborting [3] [3] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [3] #1 Foam::error::abort()[1] [1] [1] --> FOAM FATAL ERROR: [1] Particle tracking across AMI patches is only currently supported for cases where the AMI patches reside on a single processor [1] [1] From function void Foam::Cloud<ParticleType>::initCloud(const bool) [1] in file lnInclude/Cloud.C at line 59. [1] FOAM parallel run aborting [1] [1] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [1] #1 Foam::error::abort()[0] [0] [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 lnInclude/Cloud.C at line 59. [0] FOAM parallel run aborting [0] [0] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [3] #2 Foam::passiveParticleCloud::passiveParticleCloud(Foam::polyMesh const&, Foam::word const&, bool) at ??:? [0] #1 Foam::error::abort() at ??:? [3] #3 Foam::uniformSet::trackToBoundary(Foam::passiveParticle&, Foam::Vector<double>&, int&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const at ??:? [1] #2 Foam::passiveParticleCloud::passiveParticleCloud(Foam::polyMesh const&, Foam::word const&, bool) at ??:? [0] #2 Foam::passiveParticleCloud::passiveParticleCloud(Foam::polyMesh const&, Foam::word const&, bool) at ??:? [3] #4 Foam::uniformSet::calcSamples(Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const at ??:? [1] #3 Foam::uniformSet::trackToBoundary(Foam::passiveParticle&, Foam::Vector<double>&, int&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const at ??:? [0] #3 Foam::uniformSet::trackToBoundary(Foam::passiveParticle&, Foam::Vector<double>&, int&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const at ??:? [1] #4 Foam::uniformSet::calcSamples(Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const[2] [2] [2] --> FOAM FATAL ERROR: [2] Particle tracking across AMI patches is only currently supported for cases where the AMI patches reside on a single processor [2] [2] From function void Foam::Cloud<ParticleType>::initCloud(const bool) [2] in file lnInclude/Cloud.C at line 59. [2] FOAM parallel run aborting [2] [2] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [3] #5 Foam::uniformSet::genSamples() at ??:? [0] #4 Foam::uniformSet::calcSamples(Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const at ??:? [2] #1 Foam::error::abort() at ??:? [1] #5 Foam::uniformSet::genSamples() at ??:? [3] #6 Foam::uniformSet::uniformSet(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [0] #5 Foam::uniformSet::genSamples() at ??:? [2] #2 Foam::passiveParticleCloud::passiveParticleCloud(Foam::polyMesh const&, Foam::word const&, bool) at ??:? [0] #6 Foam::uniformSet::uniformSet(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [3] #7 Foam::sampledSet::addwordConstructorToTable<Foam::uniformSet>::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [2] #3 Foam::uniformSet::trackToBoundary(Foam::passiveParticle&, Foam::Vector<double>&, int&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const at ??:? [1] #6 Foam::uniformSet::uniformSet(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [0] #7 Foam::sampledSet::addwordConstructorToTable<Foam::uniformSet>::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [3] #8 Foam::sampledSet::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [2] #4 Foam::uniformSet::calcSamples(Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&, Foam::DynamicList<double, 0u, 2u, 1u>&) const at ??:? [1] #7 Foam::sampledSet::addwordConstructorToTable<Foam::uniformSet>::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [0] #8 Foam::sampledSet::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [3] #9 Foam::wallBoundedStreamLine::read(Foam::dictionary const&) at ??:? [2] #5 Foam::uniformSet::genSamples() at ??:? [1] #8 Foam::sampledSet::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [0] #9 Foam::wallBoundedStreamLine::read(Foam::dictionary const&) at ??:? [3] #10 Foam::wallBoundedStreamLine::wallBoundedStreamLine(Foam::word const&, Foam::objectRegistry const&, Foam::dictionary const&, bool) at ??:? [0] #10 Foam::wallBoundedStreamLine::wallBoundedStreamLine(Foam::word const&, Foam::objectRegistry const&, Foam::dictionary const&, bool) at ??:? [2] #6 Foam::uniformSet::uniformSet(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [1] #9 Foam::wallBoundedStreamLine::read(Foam::dictionary const&) at ??:? [3] #11 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::allocateFilter() at ??:? [0] #11 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::allocateFilter() at ??:? [2] #7 Foam::sampledSet::addwordConstructorToTable<Foam::uniformSet>::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [1] #10 Foam::wallBoundedStreamLine::wallBoundedStreamLine(Foam::word const&, Foam::objectRegistry const&, Foam::dictionary const&, bool) at ??:? [3] #12 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::start() at ??:? [0] #12 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::start() at ??:? [2] #8 Foam::sampledSet::New(Foam::word const&, Foam::polyMesh const&, Foam::meshSearch const&, Foam::dictionary const&) at ??:? [3] #13 Foam::functionObjectList::read() at ??:? [1] #11 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::allocateFilter() at ??:? [0] #13 Foam::functionObjectList::read() at ??:? [2] #9 Foam::wallBoundedStreamLine::read(Foam::dictionary const&) at ??:? [3] #14 Foam::Time::run() const at ??:? [1] #12 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::start() at ??:? [0] #14 Foam::Time::run() const at ??:? [2] #10 Foam::wallBoundedStreamLine::wallBoundedStreamLine(Foam::word const&, Foam::objectRegistry const&, Foam::dictionary const&, bool) at ??:? [3] #15 Foam::Time::loop() at ??:? [1] #13 Foam::functionObjectList::read() at ??:? [0] #15 Foam::Time::loop() at ??:? [2] #11 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::allocateFilter() at ??:? [3] #16 Foam::simpleControl::loop() at ??:? [1] #14 Foam::Time::run() const at ??:? [0] #16 Foam::simpleControl::loop() at ??:? [3] #17 at ??:? [2] #12 Foam::OutputFilterFunctionObject<Foam::wallBoundedStreamLine>::start() at ??:? [1] #15 Foam::Time::loop() at ??:? [0] #17 at ??:? [2] #13 Foam::functionObjectList::read() at ??:? [1] #16 Foam::simpleControl::loop() [3] at ??:? [3] #18 __libc_start_main at ??:? [1] #17 at ??:? [2] #14 Foam::Time::run() const[0] at ??:? [0] #18 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" [3] #19 in "/lib/x86_64-linux-gnu/libc.so.6" [0] #19 at ??:? [2] #15 Foam::Time::loop() [1] at ??:? [1] #18 __libc_start_main at ??:? [2] #16 Foam::simpleControl::loop()-------------------------------------------------------------------------- MPI_ABORT was invoked on rank 3 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. |
|
|
|
|
|
|
|
|
#3 |
|
Member
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 16 ![]() |
Hi,
help is still very much appreciated ![]() In serial the calculation is running, but during writing the output it seems to crash Code:
Create time
Create mesh for time = 1000
Reading field p
Reading field U
Reading/calculating face flux field phi
AMI: Creating addressing and weights between 48621 source faces and 71280 target faces
AMI: Patch source weights min/max/average = 0.9997723, 1.000002, 0.9999998
AMI: Patch target weights min/max/average = 0.9997389, 1.000002, 0.9999998
Selecting incompressible transport model Newtonian
Selecting RAS turbulence model kOmegaSST
kOmegaSSTCoeffs
{
alphaK1 0.85034;
alphaK2 1;
alphaOmega1 0.5;
alphaOmega2 0.85616;
gamma1 0.5532;
gamma2 0.4403;
beta1 0.075;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
b1 1;
c1 10;
F3 false;
}
Creating fintite volume options from fvOptions
Selecting finite volume options model type MRFSource
Source: rotatingVolume
- applying source for all time
- selecting cells using cellZone rotor_cells_zone
- selected 10941018 cell(s) with volume 287.696
SIMPLE: convergence criteria
field p tolerance 1e-10
field U tolerance 1e-09
field k tolerance 1e-08
Starting time loop
forces forces:
forceCoeffs forceCoeffs:
nearWallFields nearWallFields: Creating 2 fields
created pNear to sample p
created UNear to sample U
wallBoundedStreamLine : fixed track length specified : 0.0064
Time = 1001
DILUPBiCG: Solving for Ux, Initial residual = 2.821475e-05, Final residual = 2.151082e-09, No Iterations 7
DILUPBiCG: Solving for Uy, Initial residual = 0.000104667, Final residual = 5.230414e-08, No Iterations 5
DILUPBiCG: Solving for Uz, Initial residual = 3.168403e-05, Final residual = 9.593234e-09, No Iterations 6
GAMG: Solving for p, Initial residual = 0.03821306, Final residual = 0.0003685356, No Iterations 26
GAMG: Solving for p, Initial residual = 0.01049193, Final residual = 9.309729e-05, No Iterations 16
GAMG: Solving for p, Initial residual = 0.002297191, Final residual = 2.072066e-05, No Iterations 23
GAMG: Solving for p, Initial residual = 0.001000528, Final residual = 9.442547e-06, No Iterations 19
GAMG: Solving for p, Initial residual = 0.0004666346, Final residual = 4.53107e-06, No Iterations 15
GAMG: Solving for p, Initial residual = 0.0002317556, Final residual = 2.234682e-06, No Iterations 16
GAMG: Solving for p, Initial residual = 0.0001345208, Final residual = 1.170508e-06, No Iterations 12
GAMG: Solving for p, Initial residual = 7.3326e-05, Final residual = 6.203478e-07, No Iterations 13
GAMG: Solving for p, Initial residual = 4.606675e-05, Final residual = 3.245047e-07, No Iterations 11
time step continuity errors : sum local = 1.427492e-09, global = 1.643401e-10, cumulative = 1.643401e-10
DILUPBiCG: Solving for omega, Initial residual = 3.306011e-05, Final residual = 7.599807e-09, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1.774335e-05, Final residual = 2.623527e-09, No Iterations 1
ExecutionTime = 438.76 s ClockTime = 439 s
forces forces output:
forces(pressure,viscous,porous) = ((0.1925579 0.01165662 0.04023865),(0.0004173754 9.395157e-05 -0.001121611),(0 0 0))
moment(pressure,viscous,porous) = ((0.02154812 0.00185286 -0.123217),(-0.000778934 -5.635177e-06 -0.0002338782),(0 0 0))
forceCoeffs forceCoeffs output:
Cm = 0.8881965
Cd = 8.252606
Cl = 0.5025144
Cl(f) = 1.139454
Cl(r) = -0.6369393
nearWallFields nearWallFields output:
Writing sampled fields to 1001 HERE IT SIMPLY STOPS AND DOES NOT GO ON...
Thanks
__________________
πάντα ῥεῖ - Heraclitus |
|
|
|
|
|
|
|
|
#4 |
|
Member
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 16 ![]() |
Dear Foamers, did anybody successfully use the wall bounded streamlines utility (besides the motor bike tutorial)?
Are there any things in particular, I have to take care of? I just don`t understand why it is not working in my case ![]() Thanks Julian
__________________
πάντα ῥεῖ - Heraclitus |
|
|
|
|
|
|
|
|
#5 |
|
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 130 ![]() ![]() ![]() ![]() ![]() ![]() |
Greetings Julian,
Let's see... regarding the first post, you can find more information if you follow these steps:
Code:
checkMesh -allGeometry -allTopology -constant As for using function objects after the simulation is finished, have a look here: http://www.cfd-online.com/Forums/ope...s-utility.html Beyond this, I have never user this function object, so I don't have experience with it. Best regards, Bruno
__________________
|
|
|
|
|
|
|
|
|
#6 | |||
|
Member
Julian Langowski
Join Date: May 2011
Location: Bremen, Germany
Posts: 91
Rep Power: 16 ![]() |
Dear Bruno,
thanks for your answer. Quote:
Quote:
This error is already outdated and no problem anymore. Quote:
Thanks anyway for your reply. Seems, as if the wallBoundedStreamlinesFunction is quite unkown to the OF community. Best regards Julian
__________________
πάντα ῥεῖ - Heraclitus |
||||
|
|
|
||||
![]() |
| Tags |
| near wall fields, post processing, wall bounded streamlines |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| opening sims as a wall. | Curran919 | CFX | 8 | March 19, 2012 22:31 |
| Airfoil simulation using moving wall | Alejandro | Fidelity CFD | 9 | November 4, 2008 03:00 |
| RELATIVE STREAMLINES | ozgur | FLUENT | 0 | September 30, 2004 09:15 |
| help :streamlines bumping head-on into wall | Subhra Datta | Main CFD Forum | 6 | November 25, 2003 19:26 |
| streamlines problem | newbie | FLUENT | 0 | January 17, 2002 13:06 |