Hi, I'm having serious trouble installing enGrid on Ubuntu 13.10. I've tried the 1.5-dev from the unofficial PPA-repository and the build.bash script with 1.4. The installation is going fine and enGrid starts but all I get is a black screen. It even seems to import the STL-file just fine but nothing is showing. Screenshot is attached. I don't have any other supported geometry files to test.
I should note that I have no trouble with graphics with other software, for example ParaView. I also tested with a Debian wheezy based laptop and the situation is the same, STL just gives black screen. The STL files are fine and working in other software (Meshlab, SALOME, OpenFOAM..), I'm really puzzled about this.
Greetings Pekka,
Looks like the STL file was read, but all triangles were dropped. If you look at the status bar, it says that there are no surface faces/triangles.
Nonetheless, to check if there is a rendering problem in enGrid, try following this tutorial:
https://github.com/enGits/engrid/wik...TL-geometry%29
If the tutorial works fine, then the problem should be with the STL file. The first rule is that the STL file should be a perfectly closed surface, with all triangles properly connected to their neighbour triangles. If this is the case, then I suggest that you load the STL geometry into Meshlab or Blender and repair any unwanted holes in the geometry.
For Blender, there is an old tutorial here:
https://github.com/enGits/engrid/wik...ing_Geometries
Best regards,
Bruno
Thanks for quick reply. I'm quite ashamed that I didn't notice the tutorial folders myself, anyway, the STL-file from the tutorial seems to be working. So the problem is with my STL-files..
Any tips for exporting surfaces from SALOME to get them right at the first time?
I'm not familiar with SALOME, but can you describe how you perform the export? If you provide images for each export step, I might be able to see some familiar export option.
By the way, in SALOME, is your surface mesh (from which the STL is exported) in millimetre or metre? Because it could be a problem with scaling.
Best regards,
Bruno
I'm using the mesh module to create 2D triangular surface of and then I export it to STL (ascii). I'm still having a lot of trouble getting the import to work.
For example, if I create a dense surface mesh with automatic triangulation (Mefisto, max_length=0.001), the STL file can be imported to enGrid. But if I use max_length=0.005, the STL file cannot be imported. The behaviour seems to be more random than consistent and I still haven't figured out how to produce STL files that will work in enGrid.
All my dimensions are in meters, I have scaled the surfaces in the geometry module. enGrid also crashes often when I try to import the STL files (I'm using the 1.5-dev version from the unofficial Ubuntu repo). I have also tried to export the surfaces straight from the geometry module, but with no luck.
The SALOME case file can be downloaded from the following link:
http://blacklight.fi/~zordiack/fantest2.hdf.zip
Hi Pekka,
Sorry, I tried to use Salome Meca 7 to generate a mesh with your case and I had no choice but to
walk away
, because I can't figure out how it works
Even with a few tutorials...
Anyway, all I could figure out was:
-
The HDF5 file you provided had the mesh set-up, but not generated.
-
Exporting the geometry to STL wasn't enough (exported in ASCII, manually merged the files into a single STL file), because the inlet and outlet are not connected to the pipe by the triangle vertexes. Therefore, it won't work in enGrid.
If you can provide a mesh already made in Salome, then I might be able to try and export the surface mesh.
Best regards,
Bruno
I gota lot of trouble with importing stls or begc files too.
When i try to load a stl the Terminal outputs the following:
Code:
Bus::open: Can not get ibus-daemon's address.
IBusInputContext::createInputContext: no connection to ibus-daemon
m_LogFileName = /tmp/enGrid_20140625190822510/enGrid_output.txt
KGlobal::locale(): Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
The output in engrid is :
cleaning STL geometry:
tolerance = 1e-12
tolerance = 1.5e-12
tolerance = 2.25e-12
tolerance = 3.375e-12
tolerance = 5.0625e-12
tolerance = 7.59375e-12
tolerance = 1.13906e-11
tolerance = 1.70859e-11
tolerance = 2.56289e-11
tolerance = 3.84434e-11
tolerance = 5.7665e-11
tolerance = 8.64976e-11
tolerance = 1.29746e-10
tolerance = 1.9462e-10
tolerance = 2.91929e-10
tolerance = 4.37894e-10
tolerance = 6.56841e-10
tolerance = 9.85261e-10
tolerance = 1.47789e-09
tolerance = 2.21684e-09
tolerance = 3.32526e-09
tolerance = 4.98789e-09
tolerance = 7.48183e-09
tolerance = 1.12227e-08
tolerance = 1.68341e-08
tolerance = 2.52512e-08
tolerance = 3.78768e-08
tolerance = 5.68151e-08
tolerance = 8.52227e-08
tolerance = 1.27834e-07
tolerance = 1.91751e-07
tolerance = 2.87627e-07
tolerance = 4.3144e-07
tolerance = 6.4716e-07
tolerance = 9.7074e-07
tolerance = 1.45611e-06
tolerance = 2.18416e-06
tolerance = 3.27625e-06
tolerance = 4.91437e-06
tolerance = 7.37155e-06
tolerance = 1.10573e-05
tolerance = 1.6586e-05
tolerance = 2.4879e-05
tolerance = 3.73185e-05
tolerance = 5.59777e-05
tolerance = 8.39666e-05
tolerance = 0.00012595
tolerance = 0.000188925
tolerance = 0.000283387
tolerance = 0.000425081
tolerance = 0.000637622
tolerance = 0.000956432
tolerance = 0.00143465
tolerance = 0.00215197
tolerance = 0.00322796
tolerance = 0.00484194
tolerance = 0.00726291
tolerance = 0.0108944
tolerance = 0.0163415
tolerance = 0.0245123
tolerance = 0.0367685
tolerance = 0.0551527
tolerance = 0.0827291
tolerance = 0.124094
tolerance = 0.18614
tolerance = 0.279211
tolerance = 0.418816
tolerance = 0.628224
tolerance = 0.942336
The STL geometry could not be cleaned.
secs. for IOOperation: 18
The bottom line in engrid says that there are surface cells and nodes like expected but the screen stays black.
Loading the damper tutorial works without any problem. A cube created by blender and saved as etlor begc also works fine.
The stl causing the output above is perfectly closed according to blender and netfabb.Its the same pro blem with all the other stl files I got on my computer..
I really dont know whats the matter with these stl files or with my engrid installation. Maybe someone else got the same problem or an idea to solve it.
Btw I'm running engrid 1.4 on kubuntu 14.04.
/edit: The Tool "check for surface integrety" in engrid says that every cell is empty, the stl isnt water tight at some faces and it calls every single face a bad one.
Gmesh is able to import the same stl but says that there are some duplicate triangles. The tool Netfabb doesn't detect any error for this stl.
Greetings julianschl,
My guess is that there is one or more triangles that have points that are very close to each other or there are some very skew triangles.
You can try one simple strategy, which I vaguely remember it was discussed back in the old forum: try scaling up the model by 10 or 1000 times.
Which reminds me to ask a few questions:
-
What units are you using in your STL model?
-
Is the STL file in ASCII or binary?
-
From your past posts, you seem to use OpenFOAM. Try using
surfaceCheck
to diagnose the geometry:
Code:
surfaceCheck your_model.stl
Best regards,
Bruno
Thanks for your really helpful reply Bruno!
The unit in the CAD system is mm. So I the coordinates in the STL file are numbers >1.
The stl file format is ASCII .
SurfaceCheck indeed shows many Errors! I attached the log.
It's pretty amazing that tools like netfabb doesn't show any error for this file while Surfacecheck detects so many of them.
I created a stl file of the same part with other settings for the triangle size. I also set the file format to binary and this file is loaded by engrid without any problem.
But still....Engrid is a diva when it comes to import stl files.
Best regards,
Julian
I'm glad it's finally working. And
surfaceCheck
did complain about a lot of bad triangles!
And yes, binary format should give you the best numerical precision.
Quote:
Well... there are a few important details that you should keep in mind:
-
The STL file format was originally designed for 3D printing.
AFAIK
, it allows for certain issues and some levels of bad triangles. As for precision, it depends on the printer itself, which unlikely will be able to properly print something smaller than 1 mm, unless it's a pretty good 3D printer!
-
The STL file format used for meshing for CFD (and possibly FEM) must be as close to perfect as possible, no matter if you're using enGrid, OpenFOAM or any other CFD application. At least, open source ones, since some commercial applications might have some special tools for triangle pruning and repair.
-
In OpenFOAM, at least with
snappyHexMesh
, it only needs the STL to act as a
barrier
to the mesh. But as
surfaceCheck
indicates, the STL should nonetheless be as
perfect
as possible.
-
In enGrid, the STL is the initial surface mesh! Any imperfection will automatically equate to a rather unhealthy surface+volume mesh!
Best regards,
Bruno