2006-05-06 14:54:13 +06:00
|
|
|
The Netgen 4.5 from the web location : http://www.hpfem.jku.at/netgen/
|
|
|
|
(CVS access) is used in the SMESH Module of Salome3 distribution.
|
2004-03-26 12:05:19 +05:00
|
|
|
|
2008-03-07 12:47:18 +05:00
|
|
|
1. How to build Netgen for Salome
|
2004-03-26 12:05:19 +05:00
|
|
|
------------------------------
|
|
|
|
|
2008-03-07 12:47:18 +05:00
|
|
|
1.1. Download Netgen 4.5 from the NETGEN home site (see above).
|
|
|
|
|
|
|
|
1.2. Unpack the downloaded Netgen 4.5 archive
|
|
|
|
(hereafter we assume that this is netgen45 directory)
|
|
|
|
|
|
|
|
1.3. Patch the netgen 4.5 distribution for SALOME:
|
2004-03-26 12:05:19 +05:00
|
|
|
|
2006-05-06 14:54:13 +06:00
|
|
|
$ cd netgen45
|
|
|
|
$ patch -p1 < patch_directory/netgen45ForSalome.patch
|
2004-03-26 12:05:19 +05:00
|
|
|
|
2008-03-07 12:47:18 +05:00
|
|
|
1.4. For 64-bit platform you also need to apply another patch:
|
|
|
|
|
|
|
|
$ cd netgen45
|
|
|
|
$ patch -p1 < patch_directory/netgen45lib64.patch
|
|
|
|
|
|
|
|
1.5. Set CASROOT environment variable to OCCT installation path,
|
|
|
|
since Netgen 4.5 requires Open CASCADE Technology:
|
|
|
|
|
|
|
|
$ setenv CASROOT <occt_installation_path>
|
|
|
|
|
|
|
|
1.6. Compile and install netgen 4.5. To do this, simply run
|
|
|
|
makeForSalome.sh script (it is created from the patch):
|
|
|
|
|
2004-03-26 12:05:19 +05:00
|
|
|
$ sh makeForSalome.sh
|
|
|
|
|
|
|
|
|
2008-03-07 12:47:18 +05:00
|
|
|
2. Additional information for maintainers
|
2004-03-26 12:05:19 +05:00
|
|
|
--------------------------------------
|
|
|
|
|
2008-03-07 12:47:18 +05:00
|
|
|
The file check_NETGEN.m4 assumes that Netgen is installed in
|
|
|
|
the directory <netgen_installation_path> as follow:
|
2004-03-26 12:05:19 +05:00
|
|
|
|
|
|
|
prompt> ls <netgen_installation_path>
|
|
|
|
|
2006-05-06 14:54:13 +06:00
|
|
|
include/ lib/
|
|
|
|
|
|
|
|
prompt> ls <netgen_installation_path>/include
|
|
|
|
|
|
|
|
adfront2.hpp explicitcurve2d.hpp hpref_quad.hpp myadt.hpp spbita2d.hpp
|
|
|
|
adfront3.hpp extrusion.hpp hpref_segm.hpp mydefs.hpp specials.hpp
|
|
|
|
adtree.hpp findip.hpp hpref_tet.hpp mystdlib.h specpoin.hpp
|
|
|
|
algprim.hpp findip2.hpp hpref_trig.hpp mystring.hpp spline.hpp
|
|
|
|
array.hpp flags.hpp hprefinement.hpp ngexception.hpp spline2d.hpp
|
|
|
|
autoptr.hpp gencyl.hpp identify.hpp nglib.h spline3d.hpp
|
|
|
|
basemat.hpp geom2d.hpp improve2.hpp occgeom.hpp splinegeometry.hpp
|
|
|
|
bisect.hpp geom2dmesh.hpp improve3.hpp occmeshsurf.hpp splinegeometry2.hpp
|
|
|
|
bitarray.hpp geom3d.hpp linalg.hpp opti.hpp stack.hpp
|
|
|
|
boundarylayer.hpp geometry2d.hpp localh.hpp optmem.hpp stlgeom.hpp
|
|
|
|
brick.hpp geomfuncs.hpp manifold.hpp parthreads.hpp stlline.hpp
|
|
|
|
classifyhpel.hpp geoml.hpp meshclass.hpp polyhedra.hpp stltool.hpp
|
|
|
|
clusters.hpp geomobjects.hpp meshfunc.hpp polynomial.hpp stltopology.hpp
|
|
|
|
csg.hpp geomops.hpp meshing.hpp profiler.hpp surface.hpp
|
|
|
|
csgeom.hpp geomsearch.hpp meshing2.hpp revolution.hpp symbolta.hpp
|
|
|
|
csgparser.hpp geomtest3d.hpp meshing3.hpp ruler2.hpp table.hpp
|
|
|
|
curve2d.hpp global.hpp meshstlsurface.hpp ruler3.hpp template.hpp
|
|
|
|
curvedelems.hpp gprim.hpp meshsurf.hpp seti.hpp topology.hpp
|
|
|
|
curvedelems_new.hpp hashtabl.hpp meshtool.hpp singularref.hpp transform3d.hpp
|
|
|
|
densemat.hpp hpref_hex.hpp meshtype.hpp solid.hpp triapprox.hpp
|
|
|
|
dynamicmem.hpp hpref_prism.hpp moveablemem.hpp sort.hpp vector.hpp
|
|
|
|
edgeflw.hpp hpref_pyramid.hpp msghandler.hpp sparsmat.hpp
|
|
|
|
|
|
|
|
prompt> ls <netgen_installation_path>/lib
|
2004-03-26 12:05:19 +05:00
|
|
|
|
2006-05-06 14:54:13 +06:00
|
|
|
libcsg.a libgeom2d.a libla.a libnginterface.a libopti.a
|
|
|
|
libgen.a libgprim.a libmesh.a libocc.a libstlgeom.a
|
2004-03-26 12:05:19 +05:00
|
|
|
|
2008-03-07 12:47:18 +05:00
|
|
|
The library files can be also installed in the LINUX or LINUX64
|
|
|
|
subfolder of the lib directory.
|
|
|
|
|
2006-05-06 14:54:13 +06:00
|
|
|
All the libraries *.a should be compiled without the option -DOPENGL.
|
|
|
|
netgen45 is assumed to be the directory downloaded from the above web
|
|
|
|
location archive of Netgen. The library
|
2008-03-07 12:47:18 +05:00
|
|
|
<netgen_installation_path>/lib/libnginterface.a should contain the objects
|
2006-05-06 14:54:13 +06:00
|
|
|
nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o
|
|
|
|
(from netgen45/ngtcltk/ngnewdelete.cpp).
|
2004-03-26 12:05:19 +05:00
|
|
|
|
|
|
|
To have that kind of distribution from the version in the above web location you
|
2006-05-06 14:54:13 +06:00
|
|
|
need not to compile Netgen as suggested in the netgen45/README.INSTALL file.
|
|
|
|
Simply modify the Makefiles to remove -DOPENGL from compiler flags
|
|
|
|
list and to add OCC include dir and flags to compiler flags, add the objects
|
|
|
|
nglib.o and ngnewdelete.o to the library libnginterface.a and
|
|
|
|
recompile the libraries only.
|
|
|
|
All this job is done by applying the patch and running the script makeForSalome.sh.
|
|
|
|
|
2008-03-07 12:47:18 +05:00
|
|
|
The suggested patch alters some Netgen sources to compile them.
|
2006-05-06 14:54:13 +06:00
|
|
|
|
|
|
|
Michael SAZONOV
|
|
|
|
m-sazonov@opencascade.com
|