# wallDist error in OF-1.5.x

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

 August 19, 2010, 11:27 wallDist error in OF-1.5.x #1 Member   Elisabet Mas de les Valls Join Date: Mar 2009 Location: Barcelona, Spain Posts: 61 Rep Power: 8 Hi everybody, I've experienced some problems with the wallDist function for the case shown below. It consists on two banana shaped channels (inlet at left and outlet at right) and the U-bend that connects both channels. I need to evaluate the wall distance from the patch market in black (at the left of the figure) banana_shape.png The wallDist function seems to return the good wall distance for the inlet channel but for the outlet channel it somehow follows what would be a fluid trajectory: banana_wallDist.png In order to obtain the right wall distance I've had to create a new geometry without the separation of both channels and, over it, apply the wallDist function. Afterwards, interpolate the result to the real geometry: unifiedBanana_wallDist.png In my case, as I needed the wall distance as a pre-processor and not during the simulation, the above mentioned solution was good enough (despite not elegant at all...). I guess the solution is not straightforward but for those who like maths challenges... here you are! Regards, Elisabet

 August 19, 2010, 12:06 #2 Super Moderator   Mattijs Janssens Join Date: Mar 2009 Posts: 1,416 Rep Power: 16 wallDist calculates the distance to any 'wall' patches. Where are your walls? Can you post/send the mesh? Mattijs

 August 19, 2010, 12:41 #3 Member   Elisabet Mas de les Valls Join Date: Mar 2009 Location: Barcelona, Spain Posts: 61 Rep Power: 8 Dear Matiijs, For the pre-processor I modified the boundary file in order to have one unique wall type boundary condition: the one that I want as a reference for the wallDist function (shown in black in the first figure). I'll send you the mesh in a private mail. Elisabet

 August 20, 2010, 06:11 #4 Super Moderator   Mattijs Janssens Join Date: Mar 2009 Posts: 1,416 Rep Power: 16 The wall distance is used in turbulence models to determine the effect of the wall so the current behaviour seems to be correct - it is the shortest path through fluid to the wall - it does not 'jump' gaps. If you want to change the behaviour you'll have to change finiteVolume/fvMesh/wallDist to do the calculation yourself.

 August 20, 2010, 16:45 #5 Member   Elisabet Mas de les Valls Join Date: Mar 2009 Location: Barcelona, Spain Posts: 61 Rep Power: 8 Yes, I first thought this, but when I tried to define the inlet as the 'wall' boundary and find the wall distance, wallDist function jumped the gap. See for instance the U-shaped channel defined by blockMeshDict.txt. When the bottom is defined as the unique 'wall', the output of wallDist is: bottom_wall.png However, when the inlet (left and bottom boundary) is the unique 'wall', the output is: inlet_wall.png hence, in this case, it jumps the gap!

August 23, 2010, 16:14
#6
Super Moderator

Mattijs Janssens
Join Date: Mar 2009
Posts: 1,416
Rep Power: 16
Hi Elisabet,

you are indeed right - it does jump the gap. The information travels on the mesh but then the distance is calculated 'as the crow flies'.

Attached an interesting hack in the form of replacements for wallDist.C, patchWave.[CH] and wallPoint*[CH]. It calculates the cumulative distance through the mesh which I think is what you want for your case. It also reads the wallDistance if it is already there so you can calculate your own as a preprocessing step.

Mattijs
Attached Files
 wallDist.tar.gz (5.8 KB, 6 views)

 August 27, 2010, 16:48 #7 Member   Elisabet Mas de les Valls Join Date: Mar 2009 Location: Barcelona, Spain Posts: 61 Rep Power: 8 Dear Mattijs, Sorry for the delay, but I've been really busy these days.... I've saved your new files in the src directory and run Allwmake. There are some problems related with the usage of 'distSqr' in: 1. wallPointDataI.H: there are no arguments to ‘distSqr’ that depend on a template parameter, so a declaration of ‘distSqr’ must be available 2. wallPointYPlusI.H: ‘distSqr’ was not declared in this scope 3. inverseFaceDistanceDiffusivity.C: ‘const class Foam::wallPoint’ has no member named ‘distSqr’ 4. patchDataWave.C: ‘const class Foam::wallPointData >’ has no member named ‘distSqr’ 5. wallPointDataI.H: ‘distSqr’ was not declared in this scope Any suggestions? Elisabet

 August 30, 2010, 11:59 #8 Super Moderator   Mattijs Janssens Join Date: Mar 2009 Posts: 1,416 Rep Power: 16 My fault - tested it just with a copy of a solver - they will not be drop-in replacements. Just copy your favourite solver and add the files (and add wallPoint.C, patchWave.C, wallDist.C to the Make/files).

 September 7, 2010, 10:56 #9 Member   Elisabet Mas de les Valls Join Date: Mar 2009 Location: Barcelona, Spain Posts: 61 Rep Power: 8 Hi Mattijs, I've arrived today from real holidays (those without any available PC), so probably I'm not reaaly concentrated today and I missed something. I've saved all your files (.C and .H) in my application folder. In order to make it compile, I've changed the line 74 in wallDist.C: old: Code: `labelHashSet wallPatchIDs(getPatchIDs());` new: Code: `labelHashSet wallPatchIDs(getPatchIDs(wallPolyPatch::typeName));` but it still provides the wrong result when I call the function Code: `wallDist(mesh).y()` what am I missing? elisabet

September 7, 2010, 11:20
#10
Super Moderator

Mattijs Janssens
Join Date: Mar 2009
Posts: 1,416
Rep Power: 16
Attached my little test program (a stripped down yPlusRas) which just calculates and writes wallDist. It compiles fine under 1.7.x, probably needs some small changes for 1.5.x.
Attached Files
 dumpWallDist.tar.gz (6.8 KB, 6 views)

 September 8, 2010, 04:13 #11 Member   Elisabet Mas de les Valls Join Date: Mar 2009 Location: Barcelona, Spain Posts: 61 Rep Power: 8 Ok, again the same results but I've realized that, based on the geometry I attached some days before: 1. If 'inlet' is the unique patch: your dumpWallDist works perfectly 2. If the 'refWall' is the unique patch: keeps giving the same result as before so.... almost you get it! elisabet

 Thread Tools Display Modes Linear Mode

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

 Similar Threads Thread Thread Starter Forum Replies Last Post volker OpenFOAM Programming & Development 11 May 1, 2015 11:54 sripplinger OpenFOAM Installation 3 June 10, 2010 22:01 carsten OpenFOAM 20 October 12, 2009 09:18 linnemann OpenFOAM Installation 7 July 30, 2009 03:14 gareth__it_power OpenFOAM Installation 5 April 1, 2009 03:27

All times are GMT -4. The time now is 19:22.