A interactive mesh creation tool. Discretizer will create geometry and meshes for three dimensional flow simulations (CFD). Geometry import is not a goal: Discretizer will be furiously fast geometry builder (on many common engineering applications at least.
I want to do reusable already meshed geometries for parametrization and optimization.
I just read that Lyle Johnson stopped develop, support and maintain FXRuby: http://lylejohnson.name/blog/2010/08/04/moving-on/
Wasn't so difficult to read binary stl:s after all. Just committed binary stl support in Discretizer-Setup.

An export-dialog for Discretizer-Setup.
This is one way to calculate front area in ParaView. Front Area Calc
Working on tutorial (method) for aero simulations.

I try to find the right settings for automotive aero simulations.
Anyone succeded in compiling VirtualBox on Windows? What do I have to buy? MSDN subscription XXX$$$?
I've got 3 new screencasts from Gerhard Gruber. Cad creation in Freecad, volume mesh in Netgen, OpenFOAM calculation from Discretizer-Setup
I would like to hear some twitter on #openfoam! See you on: http://twitter.com/discretizer
OpenFOAM 1.6 compatibility. Visualization of blockMesh box and locationInMesh for snappyHexMesh usage.
discretizer-32bit.tar.gz (13 MB)
discretizer-64bit.tar.gz (13 MB)
Note: Just unpack and run "discretizer_setup64.sh" (example). For OpenFOAM functionality, start in a shell with OpenFOAM commands enabled.
Note: maybe you have to remove the libGL* files located in the lib directory of the downloads.

It will be nice to see where the blockMesh cube will be located when using snappyHexMesh. There is also a locationInMesh sphere dialog.

I'm working on a new release which will include snappyHexMesh. Are there other units wanted in the scale dialog? I've included m, dm, cm, mm, angstrom, in, feet and yard as well.
Since I've just moved to a bigger apartment there are no updates. Internet connection is supposed to be up February 16.
I've been trying to run simpleFoam on the snappyHexMesh for a couple of days. kOmegaSST was used. Car was scaled to 4.4 m.

After a lot of tweaking the influence from the 2 bad cells was minimized. simpleFoam steady state solver was used. 1,700,000 cells.

Y-plus is within the appropriate wall function range.
The manual never written has now been contributed from Gerhard Gruber. Thanks!
Discretizer-manual.pdf (1.6 MB)
I noticed that snappyHexMesh could be incorporated in the Discretizer::Setup as well. Then it is possible to create a mesh from stl surface meshes. It's too early to release any files. I played with it today and tried to simulate a car. Looks promising but simpleFoam just crash all the time. Is the mesh so bad? SnappyHexMesh seems to be a lot better than es-aero at least (it was an addon to star-cd v 3).

A stl file of a porsche I found on the internet. Meshed with snappyHexMesh. Original mesh on the right side.
Now the following solvers are possible to use in Discretizer::Setup :
icoFoam, simpleFoam, rhoTurbFoam, rhoPorousSimpleFoam, rhoPimpleFoam, interFoam, rasInterFoam, lesInterFoam
I made rhoTurbFoam use k-omega in contrast to the other RANS solvers available. Will be possible to switch between k-omega and k-epsilon in future releases. Have patience. I've run out of disk space on my laptop (which I develop on) so I still use OpenFOAM 1.5...Some things have changed in 1.6, but it will be easy to change from what I seen so far (thermophysicalProperties was slightly changed).
discretizer-32bit.tar.gz (13 MB)
discretizer-64bit.tar.gz (13 MB)
Just unpack and run "discretizer_setup64.sh" (example). For OpenFOAM functionality, start in a shell with OpenFOAM commands enabled.
Note: maybe you have to remove the libGL* files located in the lib directory of the downloads.

An imported fluent mesh with boundaries setup in Discretizer::Setup. rhoPorousSimpleFoam was used. The dialog to delete solution files is also visible.
An animation showing the initial geometry, the optimized and the reference. Reference has a pressure drop of 126 Pa, and the optimized 106 Pa.

I just wrote a short tutorial how to do an optimization using OpenFOAM, Discretizer and Opt4j. Additional files
discretizer-32bit.tar.gz (13 MB)
discretizer-64bit.tar.gz (13 MB)
Just unpack and run "discretizer_setup64.sh" (example). For OpenFOAM functionality, start in a shell with OpenFOAM commands enabled.
Please note that Discretizer::Setup just have 3 solvers right now (icoFoam, simpleFoam and rhoPorousSimpleFoam).
If you have problem with the 3d-viewer, try to delete discretizer/lib/libGL.* files. I had to do that in Ubuntu 9.04.
Just porous zone for now. OK? Have to do a release soon.

Cell zones finding its way into Discretizer::Setup...

Development is ongoing. I will do a release when I've implemented zone capabilities. I also wonder if Foamanizer is better than Discretizer::Setup. Discretizer::Pre should be the name someone might say, but it is actually used after Discretizer.
I have to admit slight laziness when I created this dialog box. Read a 700000 cell fluent mesh into Discretizer::Setup today. Just to test. Took a while to read the file, but in the 3D-viewer the model felt light.

Discretizer::Setup used to assign boundary conditions with energy and ideal gas formulation. Now 3 solvers are present in Discretizer::Setup: simpleFoam, icoFoam and rhoPorousSimpleFoam.

Maybe everything will break down...
Wonder if site will break down completely when PHP is upgraded.
Think I will try next week (to upgrade PHP, maybe also drupal). Want to release a preview of Discretizer-Setup then also.
I'm going to do binary releases so now I have installed Ubuntu 9.04(64bit), Centos 5.4(32 and 64 bit), Archlinux(64bit) and OpenSUSE 11.1(64bit) in VirtualBox.

A video of Discretizer-Setup in action: Ogg video (9.5 MB)
Now I can switch between icoFoam and simpleFoam with ease. More solvers to follow.

Set up a basic case with boundaryconditions takes only minutes.
I'll just use a set of prepared files for each solver. It will be extremely easy to choose what things that are going to be available in the interface. Maybe ugly, but functional.

Streamlined setup of available options.
Not too many days from a working prototype.

Redesign of table. Start with few rows and then adding if required.
I also like Discretizer-Setup to work now. Most things are solved.

The boundary dialog has gone through some rework.

Just a preview of how boundary dialog might look in Discretizer-Setup

Wouldn't it be nice to read a polyMesh filen and then choose solver switch solver, create boxToCell and see where it is located. Add boundary conditions. Scale mesh. Add monitor points and so on. I think I will do "Discretizer - Setup". Or rather I'm in progress and things are moving quickly. Of course one day "Discretizer - Setup" could be a tab in "Discretizer - Workbench" :-)

Just a test of rasInterFoam on a Discretizer mesh. Turbulence seems to improve solution. The fill takes 50 seconds. Contours of gamma (red is water and blue is air)

Just a test of interFoam on a Discretizer mesh.

Now it is possible to read ASCII stl files and view them.

Functional, but when the coordinate system is cylindrical it still says X,Y and Z. It's more difficult to create phi and omega with just lines...
I made a limited test of Discretizer on Ruby 1.9. Seems like Ruby 1.9 is 2 times faster than Ruby 1.8. Memory consumtion was about the same. The test file is about 120 000 cells.

1 mm (uniform cell size) mesh was exported to Fluent and std k-epsilon was used. This is the result:

This model has 1 mm cells. Fluent, segregated solver. Results exported to ParaView via Ensight format. Segregated solver
Compare with the googled picture.

This model has 1 mm cells. OpenFOAM with kEpsilon model
I just set up a 2d backward facing step file (in test directory t19_step_2d_re189.dtz and t19_step_2d_re3780.dtz). I tried different mesh size and also compared with Fluent. Fluent was faster, but with a constant mesh size of 1 mm fluents coupled solver was behaving strange. Results where identical. Maybe there will be a picture from that run tomorrow. Compare :-)

Inlet is 50 mm expanding to 100 mm. Standard K-epsilon model is used. Simulation made in OpenFOAM. Cell size 5 mm.
In recent versions of Ruby a lot of warnings has popped up. While it's nice when developing the application to have warnings it has been annoying when using Discretizer. I just disabled warnings. The update is in revision 77 at sourceforge.
Install FXRuby:
sudo apt-get install libfox-1.6-0 libfox-1.6-dev libfox-1.6-doc libopengl-ruby1.8 libruby1.8-extras ruby1.8-dev g++ libxrandr-dev subversion
sudo gem-install fxruby
svn co https://discretizer.svn.sourceforge.net/svnroot/discretizer discretizer
cd discretizer/discretizer/lib
ruby discretizer.rb
Install OpenFOAM.

There are still some things broken after the implementation of new mesh export.
I tried to do a slightly more complex geometry. This is some kind of flow splitter.

Just did a very long pipe. It was easy, almost fun. Mesh took 27 seconds to export and contain 145719 cells, it's just one block.

Oh, this kind of work now too.

I just made a longer pipe...

Now the the internals of Discretizer allow this kind of extruded mesh. 97020 cells in 5 minutes. Think I will commit soon.

It will be nice when this thing work 100%

I've wanted to extrude face-faces a long time. But I have to go to sleep :-(

Now I don't try to use stitchMesh anymore
Now it will be easy to add some useful features.

The new mesh export is in the svn repository at sourceforge
Things are starting to shape up with the new mesh export.

There are no results yet of the new mesh export. That is because I've done a boring exercise in 2d to get all things right. I think I have sorted out all issues now. The 3d version for Discretizer will be available within weeks. Then the implementation of extrusions (face-face ones below) will be possible with ease (mergeprog.rb, mergeprog.xls).
Seems like I can't get stitchMesh to work so I will just redo the mesh export in Discretizer... This time it has to be great.

Vertices extruded from facefaces
I want to make Discretizer usable as fast as possible. Then the OpenFOAM utility stitchMesh seemed as a good idea. Only problem is that it is broken. I hope the version that Hrvoje Jasak makes is better it is called OpenFOAM-1.5-dev and can be downloaded from http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/
Also I like to mention that OpenCFD does not acknowledge contributions which I don't like at all. Even if I like Henry Weller to make a lot of money I still think OpenCFD should try to have only one good version of OpenFOAM. I have a sense that Cd-Adapco bought his snappyHexMesh. And they have a version with feature lines. Don't think Cd-Adapco would like any contributions adding featurelines to OpenFOAM. Maybe OpenCFD also want to avoid featurelines for a certain time. For how long?
It's possible to use multiline on Ruby <1.8.7 now. I removed the usage of Fixnum#odd? which is only available on Ruby 1.8.7 and higher. This makes it possible to use multiline in Windows and other operating systems with older versions of Ruby.

Faces from edges extruded along a multiline.
Last updated August 8, 2009