View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001131OpenFOAM[All Projects] Bugpublic2014-01-10 20:352014-01-24 09:01
Reporterripudaman 
Assigned Tomattijs 
PriorityhighSeveritymajorReproducibilityrandom
StatusresolvedResolutionno change required 
PlatformLinuxOSUbuntuOS Version12.04
Product Version2.2.x 
Target VersionFixed in Version2.2.x 
Summary0001131: Wrong surface normals with snappyHexMesh's baffle feature on varying blockMeshDict description
DescriptionI understand that this problem was observed and resolved here http://www.openfoam.org/mantisbt/view.php?id=772 [^] but there is are situations when this problem resurfaces. One such situation is varying the blockMeshDict file. I notice an error in the orientation of the surface normals (hence Displacements and Stresses) if my blockMesh deviates from the following box dimensions (-100,-50,-50) by (100,50,50) with (50,25,25) blocks in the respective directions. The baffle I am creating using SHM is a circular surface with center at (0,0,0) and radius as 5 in the yz plane. The two deviations that don't work that I have tested so far are
1. box dims = (-100,-50,-50) by (200,50,50), #blocks = (75,25,25)
2. box dims = (-100,-50,-50) by (300,50,50), #blocks = (100,25,25)
As you can see the aspect ratio is 1:1:1 in all the cases.

I am using soildDisplacementFoam. The case calculates the stresses around an open fracture by applying equal and opposite tractionDisplacement boundary conditions on the two faces of the baffle.
Steps To ReproduceRun attached case.
Vary blockMeshDict and run case again.

blockMesh
snappyHexMesh -overwrite
solidDisplacementFoam
Tagsbaffle, snappyHexMesh, surface normal
Attached Fileszip file icon frac1.zip [^] (757,315 bytes) 2014-01-10 20:35
png file icon 200x100x100_50x25x25.png [^] (221,258 bytes) 2014-01-10 20:36


png file icon 300x100x100_75x25x25.png [^] (249,808 bytes) 2014-01-10 20:36


png file icon 400x100x100_100x25x25.png [^] (267,570 bytes) 2014-01-10 20:37
gz file icon Sneddon_50_25_25.tar.gz [^] (7,783 bytes) 2014-01-20 21:59
gz file icon Sneddon_100_25_25.tar.gz [^] (7,734 bytes) 2014-01-20 21:59

- Relationships

-  Notes
(0002759)
ripudaman (reporter)
2014-01-10 20:43

File 200x100x100_50x25x25 shows the correct displacement profile. This was obtained by using a blockmesh dimensions (-100,-50,-50) by (100,50,50) with (50,25,25) blocks in the respective directions. The circle you see in the figure is a baffle with equal and opposite traction displacement pressure on the two faces hence creating a uniform displacement profile.
File 300x100x100_75x25x25 and File 400x100x100_100x25x25 show the incorrect displacement profiles. As you see there are specific blocks in these two grids where the displacement is varying between the extreme +ve and -ve values randomly.
In all cases the circular disk fracture is located with center at (0,0,0) and radius of 5 in the YZ plane.
(0002764)
mattijs (manager)
2014-01-20 09:23

I am running your setup (100x25x25) and the normals are ok.

x_n -100;
x_p 300;
y_n -50;
y_p 50;
z_n -50;
z_p 50;

n_x 100;
n_y 25;
n_z 25;
(0002765)
ripudaman (reporter)
2014-01-20 21:59

Mattijs,

I am sorry but I am not able to reproduce the result. Can you help me diagnose what is wrong in my case? I have attached the exact cases with this note. Sneddon_50_25_25 is able to identify the normals correctly while Sneddon_100_25_25 is not able to identify the normals on the chosen patch correctly. The patches I am interested in are ff and ff_slave. Running the Allrun file in both cases should be enough to generate results.

Thanks for your help.
Ripu
(0002766)
mattijs (manager)
2014-01-21 09:06

All works fine for me in 22x. Normals are correctly oriented (ff points in +x direction, ff_slave in -x direction). Normals are correctly preserved in renumberMesh.

Are you running an uptodate 22x?
(0002770)
ripudaman (reporter)
2014-01-21 18:14

Thanks Mattijs. I am running a binary version of of222. I will install the latest version from a source pack and see if I can figure this out. Thanks for all your help. I will respond back in a couple of days and let you know if updating helped.
(0002781)
ripudaman (reporter)
2014-01-24 05:07

The problem was fixed by installing an uptodate version of 22x from the Openfoam repository. Thanks for your help!

- Issue History
Date Modified Username Field Change
2014-01-10 20:35 ripudaman New Issue
2014-01-10 20:35 ripudaman File Added: frac1.zip
2014-01-10 20:36 ripudaman File Added: 200x100x100_50x25x25.png
2014-01-10 20:36 ripudaman File Added: 300x100x100_75x25x25.png
2014-01-10 20:37 ripudaman File Added: 400x100x100_100x25x25.png
2014-01-10 20:38 ripudaman Tag Attached: snappyHexMesh
2014-01-10 20:38 ripudaman Tag Attached: baffle
2014-01-10 20:38 ripudaman Tag Attached: surface normal
2014-01-10 20:43 ripudaman Note Added: 0002759
2014-01-20 09:23 mattijs Note Added: 0002764
2014-01-20 21:59 ripudaman Note Added: 0002765
2014-01-20 21:59 ripudaman File Added: Sneddon_50_25_25.tar.gz
2014-01-20 21:59 ripudaman File Added: Sneddon_100_25_25.tar.gz
2014-01-21 09:06 mattijs Note Added: 0002766
2014-01-21 18:14 ripudaman Note Added: 0002770
2014-01-24 05:07 ripudaman Note Added: 0002781
2014-01-24 09:01 mattijs Status new => resolved
2014-01-24 09:01 mattijs Fixed in Version => 2.2.x
2014-01-24 09:01 mattijs Resolution open => no change required
2014-01-24 09:01 mattijs Assigned To => mattijs