|
[Sponsors] |
September 4, 2010, 17:02 |
|
#81 | |
Senior Member
Join Date: Mar 2009
Location: My oyster
Posts: 124
Rep Power: 17 |
Quote:
Salome has been working relatively well for me. It has a few minor issues like the lack of redo/undo and no automatic inclusion of the entity name within the stl file. You have to add it yourself after. This applies to all export functions even in the meshes (boundary patches are exported unnamed). The GEOM module is fairly reliable for coupling with snappy though and it has lots of interesting CAD manipulation functions like revolving, extrusion, cutting, grouping, etc. Heard some good things about FreeCAD but I still have not had time to install it and test it. |
||
September 4, 2010, 18:22 |
|
#82 | |
Senior Member
Join Date: Mar 2009
Location: My oyster
Posts: 124
Rep Power: 17 |
Quote:
I have an interesting "heavy" sHM mesh that is full of jagged and ragged edges. Lots of perpendicular and intersecting surfaces. Check out the jpg below and let me know if you wanna try it. There are a lot more messed up edges in there than can be seen in the pic. I haven't passed it through snapEdge yet though so I have no idea if it will work at all. The mesh size is about 195,000 cells. Cheers, Ziad |
||
September 6, 2010, 01:51 |
|
#83 |
Member
Greg Givogue
Join Date: Aug 2010
Location: Ottawa Canada
Posts: 57
Rep Power: 16 |
Hi Niklas,
I'm trying to install snapEdge in OF 1.7. I tried both the procedure that you describe and the one described above by Stephane but I get the following message in log.snapEdge - command not found. When I run ./Allwmake in opt/openfoam170 I get the following error (this is just a portion); make[3]: *** No rule to make target `linux64GccDPOpt/options'. Stop. wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created make[2]: *** [stressComponents] Error 1 make[2]: Target `application' not remade because of errors. make[2]: Leaving directory `/opt/openfoam170/applications/utilities/postProcessing/stressField' make[1]: *** [stressField] Error 2 make[2]: Entering directory `/opt/openfoam170/applications/utilities/postProcessing/turbulence' mkdir: cannot create directory `linux64GccDPOpt': Permission denied /bin/sh: cannot create linux64GccDPOpt/options: Directory nonexistent make[3]: *** [linux64GccDPOpt/options] Error 2 /opt/openfoam170/wmake/MakefileFiles:39: linux64GccDPOpt/options: No such file or directory make[3]: *** No rule to make target `linux64GccDPOpt/options'. Stop. wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created make[2]: *** [R] Error 1 mkdir: cannot create directory `linux64GccDPOpt': Permission denied /bin/sh: cannot create linux64GccDPOpt/options: Directory nonexistent make[3]: *** [linux64GccDPOpt/options] Error 2 /opt/openfoam170/wmake/MakefileFiles:39: linux64GccDPOpt/options: No such file or directory make[3]: *** No rule to make target `linux64GccDPOpt/options'. Stop. wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created make[2]: *** [createTurbulenceFields] Error 1 make[2]: Target `application' not remade because of errors. make[2]: Leaving directory `/opt/openfoam170/applications/utilities/postProcessing/turbulence' make[1]: *** [turbulence] Error 2 make[2]: Entering directory `/opt/openfoam170/applications/utilities/postProcessing/velocityField' mkdir: cannot create directory `linux64GccDPOpt': Permission denied /bin/sh: cannot create linux64GccDPOpt/options: Directory nonexistent make[3]: *** [linux64GccDPOpt/options] Error 2 /opt/openfoam170/wmake/MakefileFiles:39: linux64GccDPOpt/options: No such file or directory make[3]: *** No rule to make target `linux64GccDPOpt/options'. Stop. wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created make[2]: *** [Co] Error 1 mkdir: cannot create directory `linux64GccDPOpt': Permission denied /bin/sh: cannot create linux64GccDPOpt/options: Directory nonexistent make[3]: *** [linux64GccDPOpt/options] Error 2 /opt/openfoam170/wmake/MakefileFiles:39: linux64GccDPOpt/options: No such file or directory make[3]: *** No rule to make target `linux64GccDPOpt/options'. Stop. wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created make[2]: *** [Lambda2] Error 1 mkdir: cannot create directory `linux64GccDPOpt': Permission denied /bin/sh: cannot create linux64GccDPOpt/options: Directory nonexistent make[3]: *** [linux64GccDPOpt/options] Error 2 /opt/openfoam170/wmake/MakefileFiles:39: linux64GccDPOpt/options: No such file or directory make[3]: *** No rule to make target `linux64GccDPOpt/options'. Stop. wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created make[2]: *** [Mach] Error 1 mkdir: cannot create directory `linux64GccDPOpt': Permission denied /bin/sh: cannot create linux64GccDPOpt/options: Directory nonexistent make[3]: *** [linux64GccDPOpt/options] Error 2 /opt/openfoam170/wmake/MakefileFiles:39: linux64GccDPOpt/options: No such file or directory make[3]: *** No rule to make target `linux64GccDPOpt/options'. Stop. wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created make[2]: *** [Pe] Error 1 mkdir: cannot create directory `linux64GccDPOpt': Permission denied /bin/sh: cannot create linux64GccDPOpt/options: Directory nonexistent make[3]: *** [linux64GccDPOpt/options] Error 2 /opt/openfoam170/wmake/MakefileFiles:39: linux64GccDPOpt/options: No such file or directory I'm not sure how to fix this problem without the risk of messing up my current configuration of OF 1.7. Thanks in advance for your help! Greg |
|
September 6, 2010, 06:05 |
|
#84 | |
Member
Norman Del Puppo
Join Date: Mar 2009
Location: Hinwil, CH
Posts: 57
Rep Power: 17 |
Quote:
I don't have too much time to look after other cases.. I was looking for something already tested with snapEdge, therefore if you want to try snapEdgeHexMesh, give me you email address and I'll send you this application. Take in mind I didn't parallelized the snapEdge application in snapEdgeHexMesh..if you have some time to spend to look at the code parallelization I think there will be a lot of people grateful here Kind regards Norman |
||
September 6, 2010, 06:17 |
|
#85 | |
Senior Member
BastiL
Join Date: Mar 2009
Posts: 530
Rep Power: 20 |
Quote:
Ok Norman I will take a look. Please mail to BastiL2001[at]yahoo.de. I will provide you with some feedback. Regards Bastian |
||
September 6, 2010, 07:57 |
|
#86 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
just tested to run it in parallel and it does not work...needs some extra checking i guess
N |
|
September 6, 2010, 10:14 |
|
#87 | |
Senior Member
BastiL
Join Date: Mar 2009
Posts: 530
Rep Power: 20 |
Quote:
Bastian Finding the edges time was reduced by a factor of 3 on 4cpus instead of one. However, snapEdge crashed while moving the nodes with some errors on processor-boundaries... Last edited by bastil; September 6, 2010 at 10:43. Reason: Run is finised |
||
September 7, 2010, 15:16 |
|
#88 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
I updated the wiki with some info on how snapEdge works (or should work)
It would be nice if anyone see any flaws or ways to improve it. |
|
September 8, 2010, 05:17 |
|
#89 | |
Senior Member
BastiL
Join Date: Mar 2009
Posts: 530
Rep Power: 20 |
Quote:
I am currently looking into the parallelization of it. Maybe I will try to replace the method you find the features on the patches since it is not possible in parallel the way you do it. furthermore using your method it is essential to run snapEdge after snap (otherwise you have no angles on the patches) which is not what I really want to have for integration into sHM. Regards Bastian |
||
September 8, 2010, 06:59 |
|
#90 |
Senior Member
Markus Rehm
Join Date: Mar 2009
Location: Erlangen (Germany)
Posts: 184
Rep Power: 17 |
Hello Niklas,
I checked the version from the Wiki but a GREAT smallestEdgeLength is calculated and nothing is done. Do you have an explanation for that? Ich tried different tolerances etc. in the snapEdgeDict without success. Here is the error: Create time Create mesh for time = 0 Finding features for stl : test4STL.stl Done! smallestEdgeLength = 1e+15 (1/15) Matching edges... ( 0 / 0 ). sum(move) = 0. ( 0 / 0 ). sum(move) = 0. Moving points...Done! (2/15) Matching edges... ( 0 / 0 ). sum(move) = 0. ( 0 / 0 ). sum(move) = 0. Moving points...Done! (3/15) Matching edges... ( 0 / 0 ). sum(move) = 0. ( 0 / 0 ). sum(move) = 0. Moving points...Done! (4/15) Matching edges... ( 0 / 0 ). sum(move) = 0. ( 0 / 0 ). sum(move) = 0. Moving points...Done! (5/15) Matching edges... ( 0 / 0 ). sum(move) = 0. ( 0 / 0 ). sum(move) = 0. Moving points...Done! (6/15) Matching edges... ( 0 / 0 ). sum(move) = 0. ( 0 / 0 ). sum(move) = 0. Moving points...Done! Regards, Markus. |
|
September 8, 2010, 07:11 |
|
#91 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
your snapPatches is empty
|
|
November 3, 2010, 05:25 |
|
#92 | |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Hi Niklas and all foamers out there,
first of thanks a lot to Niklas for this great snapEdge tool! It makes sHM really usable in combination with this tool. Nevertheless, I'm still struggling with some problems using this combination, as my mesh at some points does not look like it should and/or checkMesh sometimes fails. I have already played around a lot with the sHM and snapEdge settings, but have not yet found any good solution... So I hope, anybody could give me a little help.. . Attached are a few pictures of my model/mesh. You can see the surface mesh, the interior of the structure is empty. So the mesh around it is produced, as flow around the structure shall be modelled. Settings1: 'includeInterior yes', 'tolerance 1.9' in snapEdge. - Picture 1: Overall model - Picture 2: Crop with position where the points could not be snapped to the edges. The mesh is already quite fine (finer as necessary for the simulation) and shall not be further refined if possible - Picture 3: Crop with position in the middle where points are moved together in a strange way. CheckMesh gives: Quote:
- Picture 4: Less snapping to the edges than with settings 1, but checkMesh is OK. Changed settings: 'includeInterior no', 'tolerance 1.9' in snapEdge. - Picture 5: No snapping to the edges. checkMesh is OK. The sHM and snapEdge dicts are attached. The case can be attached as well, if needed. Do you have any suggestions? Arne |
||
November 3, 2010, 05:50 |
|
#93 | |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Interestingly, when meshing the inner part of the structure (which is of course not what I need), the edges are perfectly snapped.
Nevertheless, checkMesh gives Quote:
|
||
November 4, 2010, 03:07 |
|
#94 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
I also get this 'error' sometimes, but when I look at the mesh and especially the wrongOrientedFaces I cant find anything wrong and the simulation seems to run just fine.
I dont know what it is. |
|
November 4, 2010, 03:27 |
|
#95 |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Thanks Niklas,
I guess I can live with this error. But that the mesh is still not snapping to the edges of my structure in locations where patches are close together is something that I don't really like... By 'playing' around yesterday, I could further improve my mesh, but its still not optimal. Concerning the 'includeInterior' setting, I now set it to 'no' and use several single .stl files including only single or a compound of surfaces. So the problem at the corners of the single pile/top edge is fixed now (picture 5 of my previous post). Some questions: - Do you know if its somehow possible to use the mesh created inside the structure (last post) for the creation of the outside, surrounding 3D mesh - like inverted? - Which function do you use for creating layers around the structure shell? The one included in sHM is not working very fine, esp. at the end points/edges of the structure, where all boundary layers snap to the end point/edges and get a zero thickness. -Concerning the snapping procedure of snapEdge: Does it only use points and mesh edges that are directly on the structure 'shell', which are then moved to the edges (as it seems to look like), or is it somehow possible to also move points from the whole surrounding 3D mesh? Arne Last edited by Arnoldinho; November 4, 2010 at 03:45. |
|
November 4, 2010, 04:20 |
|
#96 | ||
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
Quote:
usually get the best best results. Have you checked the stl? The stl quality is sometimes pretty bad and features exists at what looks like planar surfaces which can result in edges snapping to weird places. Quote:
Lets say you have a simple pipe with 3 patches, inlet, outlet and walls. If you want to snap both inlet and outlet patches you can set includeInterior to no and just use the wall patch. there is no need to use the inlet and outlet patch as these are the same. Actually now that I think of it, it might produce duplicate feature lines if you use all patches for snapping and that can create overlapping edges. I dont always use the layer functionality in sHM, it sometimes deteriorates the walls and I dont know what is causing this. Your last question: yes, but he mesh edges that will be used for the snapping is determined by half the feature angle, since for instance a 90 deg angle on the stl might produce a mesh with a face at 45 deg there, resulting in 2 mesh features. If you want to include the entire mesh edges you should just modify this line and set cosFeature2 to 1 Code:
scalar cosFeature2 = ::cos(featureAngle*0.5*deg2rad); |
|||
November 4, 2010, 04:47 |
|
#97 | |||
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Quote:
Quote:
Quote:
So if I first create a 3D mesh inside the whole pipe, can I use the faces of this mesh located at the pipe shell (on the patch) to then create the 3D mesh outside the pipe (in the surrounding box where the pipe interior is 'cut out) including the faces on the shell? For layer addition, I'm now having a look at refineWallLayer. Thanks, I will have a closer look on this later. |
||||
November 4, 2010, 10:04 |
|
#98 | |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
Quote:
Im using my own hack to extract features from an stl. Its quite slow, but it will extract the feature-lines from an stl and write them on vtk-format. the feature angle is defined in the code double angle = 10.0; |
||
November 4, 2010, 11:24 |
|
#99 |
Senior Member
|
Hi Foamers,
I'm new in using the snapEdge tool, I would like to use it for an airfoil mesh with a sawthoot trailing edge. I'm doing some test, using the same snapEdgeDict that I found in the wiki, and I have this error: Create time Create mesh for time = 2 Finding features for stl : serrated_5.stl Done! smallestEdgeLength = 0.00033288559 (1/20) Matching edges... ( 6361 / 7601 ). sum(move) = 0.05553276. Moving points...Done! (2/20) Matching edges... ( 6400 / 7461 ). sum(move) = 0.048513019. Moving points...Done! (3/20) Matching edges... ( 6443 / 7296 ). sum(move) = 0.042531551. Moving points...Done! (4/20) Matching edges... ( 6444 / 7089 ). sum(move) = 0.03451624. Moving points...Done! (5/20) Matching edges... ( 6442 / 6827 ). sum(move) = 0.028525285. Moving points...Done! (6/20) Matching edges... ( 6445 / 6650 ). sum(move) = 0.023509365. Moving points...Done! (7/20) Matching edges... ( 6441 / 6571 ). sum(move) = 0.01899255. Moving points...Done! (8/20) Matching edges... ( 6438 / 6537 ). sum(move) = 0.015463336. Moving points...Done! (9/20) Matching edges... ( 6438 / 6511 ). sum(move) = 0.012560161. Moving points...Done! (10/20) Matching edges... ( 6430 / 6488 ). sum(move) = 0.010244766. Moving points...Done! (11/20) Matching edges... ( 6426 / 6470 ). sum(move) = 0.0084030353. Moving points...Done! (12/20) Matching edges... ( 6428 / 6459 ). sum(move) = 0.0068775375. Moving points...Done! (13/20) Matching edges... ( 6424 / 6449 ). sum(move) = 0.0056868575. Moving points...Done! (14/20) Matching edges... ( 6426 / 6445 ). sum(move) = 0.0046826913. Moving points...Done! (15/20) Matching edges... ( 6426 / 6445 ). sum(move) = 0.0038104206. Moving points...Done! (16/20) Matching edges... ( 6424 / 6441 ). sum(move) = 0.0031277847. Moving points...Done! (17/20) Matching edges... ( 6424 / 6439 ). sum(move) = 0.0025449846. Moving points...Done! (18/20) Matching edges... ( 6424 / 6439 ). sum(move) = 0.002071942. Moving points...Done! (19/20) Matching edges... ( 6424 / 6439 ). sum(move) = 0.0016878568. Moving points...Done! (20/20) Matching edges... ( 6424 / 6438 ). sum(move) = 0.0013778227. Moving points...Done! Smoothing patch faces... --> FOAM FATAL ERROR: Requested field U does not exist in the database From function Foam::fieldAverage::initialize() in file fieldAverage/fieldAverage/fieldAverage.C at line 102. FOAM exiting My procedure is: castellated -> SHM snappy -> SHM snapEdge boundary layers -> SHM It fails at snapEdge. Any suggestions? Thanks, Ivan |
|
November 4, 2010, 13:54 |
|
#100 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
That is really weird...
It looks like its calling for an average operation. Im guessing that your controlDict contains functionObjects that require U. |
|
Tags |
edges, jagged edges, snappyhexmesh |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] snappyHexMesh sticking point | natty_king | OpenFOAM Meshing & Mesh Conversion | 11 | February 20, 2024 10:12 |
[snappyHexMesh] snappyHexMesh does not create any mesh except one for the reference cell | Arman_N | OpenFOAM Meshing & Mesh Conversion | 1 | May 20, 2019 18:16 |
[snappyHexMesh] sHM layer process keeps getting killed | MBttR | OpenFOAM Meshing & Mesh Conversion | 4 | August 15, 2016 04:21 |
[snappyHexMesh] No layers in a small gap | bobburnquist | OpenFOAM Meshing & Mesh Conversion | 6 | August 26, 2015 10:38 |
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! | sc298 | OpenFOAM Meshing & Mesh Conversion | 2 | March 27, 2011 22:11 |