[Gmsh] extending gmsh scripting language with python functions

Jonathan Lambrechts jonathanlambrechts at gmail.com
Thu Jul 18 15:51:10 CEST 2013


Hi,
I just added python fields (they will be available in the next nightly 
build).

There is no embedded python interpreter in Gmsh, we rather provide 
python bindings for the Gmsh library. This is still work in progress, in 
particular there is no documentation nor stable API, we just bind most 
of Gmsh internal functions to python.
Gmsh Library and python bindings can be downloaded with the gmsh dynamic 
library from  Gmsh website :
http://geuz.org/gmsh/bin/Linux/gmsh-svn-Linux64-dynamic.tgz
http://geuz.org/gmsh/bin/MacOSX/gmsh-svn-MacOSX-dynamic.tgz
http://geuz.org/gmsh/bin/Windows/gmsh-svn-Windows64-dynamic.zip

On linux and OSX, to build the python bindings, go to the "gmshpy" 
sub-directory the run the python script "setup.py" (e.g. python setup.py 
build; python setup.py install). On windows, I'm not sure if it works ...

An example of python field is attached, the python script imports the 
gmsh python bindings then loads a geo file and adds some python fields 
and at the end, the GUI is started.

regards,

Jonathan

On 11/07/13 11:49, Nico Schlömer wrote:
> I'd be very much interested in a hands-on example of Gmsh + Python as 
> well.
>
> --Nico
>
>
> On Thu, Jul 11, 2013 at 10:06 AM, Christophe Geuzaine 
> <cgeuzaine at ulg.ac.be <mailto:cgeuzaine at ulg.ac.be>> wrote:
>
>
>     On 11 Jul 2013, at 09:07, moritz braun <moritz.braun at gmail.com
>     <mailto:moritz.braun at gmail.com>> wrote:
>
>     > Dear All
>     >
>     > I am using gmsh in the moment to
>     > create 3D grids with  background field to control the
>     characteristic length.
>     > Writing functions as  .F attribute of an Field variable is
>     rather restrictive
>     > it would be nice if  gmsh could be extended by embedding the
>     python interpreter for
>     >  such functions.
>     > How difficult whould that be?
>     >
>
>     I think you can already define fields in the Gmsh Python interface
>     (CC'ing Jon on this one: Jon, could you send a small example?). If
>     this is the case, then your python script could simply import the
>     Gmsh module, merge your current .geo definitions, then define the
>     fields directly in Python.
>
>
>     > regards
>     >
>     > Moritz
>     >
>     > --
>     > Prof M Braun         Tel.:27-12-4298006/8027
>     > Physics Department  Fax.: 27-12-4293643
>     > University of South Africa (UNISA)
>     > moritz.braun at gmail.com <mailto:moritz.braun at gmail.com>
>     > P.O. Box 392
>     > 0003
>     > UNISA
>     >  South Africa
>     > http://moritz-braun.blogspot.com
>     > _______________________________________________
>     > gmsh mailing list
>     > gmsh at geuz.org <mailto:gmsh at geuz.org>
>     > http://www.geuz.org/mailman/listinfo/gmsh
>
>     --
>     Prof. Christophe Geuzaine
>     University of Liege, Electrical Engineering and Computer Science
>     http://www.montefiore.ulg.ac.be/~geuzaine
>     <http://www.montefiore.ulg.ac.be/%7Egeuzaine>
>
>
>
>
>     _______________________________________________
>     gmsh mailing list
>     gmsh at geuz.org <mailto:gmsh at geuz.org>
>     http://www.geuz.org/mailman/listinfo/gmsh
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20130718/7bdcc1dc/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testPythonField.py
Type: text/x-python
Size: 833 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20130718/7bdcc1dc/attachment.py>