NETGENPLUGIN: improve netgen performance
This commit is contained in:
parent
27a9ce955f
commit
7004be4f8a
@ -1,28 +1,40 @@
|
|||||||
The Netgen 4.5 from the web location : http://www.hpfem.jku.at/netgen/
|
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.
|
(CVS access) is used in the SMESH Module of Salome3 distribution.
|
||||||
|
|
||||||
How to build Netgen for Salome
|
1. How to build Netgen for Salome
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
Patch the netgen 4.5 distribution:
|
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:
|
||||||
|
|
||||||
$ cd netgen45
|
$ cd netgen45
|
||||||
$ patch -p1 < patch_directory/netgen45ForSalome.patch
|
$ patch -p1 < patch_directory/netgen45ForSalome.patch
|
||||||
|
|
||||||
Set CASROOT environment variable to OCCT installation path,
|
1.4. For 64-bit platform you also need to apply another patch:
|
||||||
as Netgen 4.5 uses Open CASCADE Technology:
|
|
||||||
|
$ 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>
|
$ setenv CASROOT <occt_installation_path>
|
||||||
|
|
||||||
Then run makeForSalome.sh (it will be created by the patch):
|
1.6. Compile and install netgen 4.5. To do this, simply run
|
||||||
|
makeForSalome.sh script (it is created from the patch):
|
||||||
|
|
||||||
$ sh makeForSalome.sh
|
$ sh makeForSalome.sh
|
||||||
|
|
||||||
|
|
||||||
Additional information for maintainers
|
2. Additional information for maintainers
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
The file check_NETGENPLUGIN.m4 assumes
|
The file check_NETGEN.m4 assumes that Netgen is installed in
|
||||||
that Netgen is installed in the directory <netgen_installation_path> as follow:
|
the directory <netgen_installation_path> as follow:
|
||||||
|
|
||||||
prompt> ls <netgen_installation_path>
|
prompt> ls <netgen_installation_path>
|
||||||
|
|
||||||
@ -55,17 +67,16 @@ edgeflw.hpp hpref_pyramid.hpp msghandler.hpp sparsmat.hpp
|
|||||||
|
|
||||||
prompt> ls <netgen_installation_path>/lib
|
prompt> ls <netgen_installation_path>/lib
|
||||||
|
|
||||||
LINUX/
|
|
||||||
|
|
||||||
prompt> ls <netgen_installation_path>/lib/LINUX
|
|
||||||
|
|
||||||
libcsg.a libgeom2d.a libla.a libnginterface.a libopti.a
|
libcsg.a libgeom2d.a libla.a libnginterface.a libopti.a
|
||||||
libgen.a libgprim.a libmesh.a libocc.a libstlgeom.a
|
libgen.a libgprim.a libmesh.a libocc.a libstlgeom.a
|
||||||
|
|
||||||
|
The library files can be also installed in the LINUX or LINUX64
|
||||||
|
subfolder of the lib directory.
|
||||||
|
|
||||||
All the libraries *.a should be compiled without the option -DOPENGL.
|
All the libraries *.a should be compiled without the option -DOPENGL.
|
||||||
netgen45 is assumed to be the directory downloaded from the above web
|
netgen45 is assumed to be the directory downloaded from the above web
|
||||||
location archive of Netgen. The library
|
location archive of Netgen. The library
|
||||||
<netgen_installation_path>/lib/LINUX/libnginterface.a should contain the objects
|
<netgen_installation_path>/lib/libnginterface.a should contain the objects
|
||||||
nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o
|
nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o
|
||||||
(from netgen45/ngtcltk/ngnewdelete.cpp).
|
(from netgen45/ngtcltk/ngnewdelete.cpp).
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
45
src/NETGEN/netgen45lib64.patch
Executable file
45
src/NETGEN/netgen45lib64.patch
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
diff -ur netgen-4.5.old/libsrc/makefile.inc netgen-4.5.new/libsrc/makefile.inc
|
||||||
|
--- netgen-4.5/libsrc/makefile.inc 2006-04-27 13:12:54.000000000 +0400
|
||||||
|
+++ netgen-4.5/libsrc/makefile.inc 2006-09-05 14:16:32.000000000 +0400
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
#
|
||||||
|
include $(LIBSRC_DIR)/makefile.mach.$(MACHINE)
|
||||||
|
#
|
||||||
|
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \
|
||||||
|
+CPLUSPLUSFLAGS1 = -c -m64 -fPIC -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) \
|
||||||
|
-DOCCGEOMETRY -DOCC52 -DHAVE_IOSTREAM -DHAVE_LIMITS
|
||||||
|
#
|
||||||
|
ARFLAGS = r
|
||||||
|
diff -ur netgen-4.5.old/libsrc/makefile.mach.LINUX64 netgen-4.5.new/libsrc/makefile.mach.LINUX64
|
||||||
|
--- netgen-4.5/libsrc/makefile.mach.LINUX64 2006-03-29 15:09:32.000000000 +0400
|
||||||
|
+++ netgen-4.5/libsrc/makefile.mach.LINUX64 2006-09-07 15:48:39.000000000 +0400
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
CFLAGS2 =
|
||||||
|
-CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX -DOPENGL \
|
||||||
|
+CPLUSPLUSFLAGS2 = -pg -march=nocona -O2 -DLINUX \
|
||||||
|
-ftemplate-depth-99 -finline-limit=100000 \
|
||||||
|
-fforce-addr -funroll-loops \
|
||||||
|
-DTRAFO -DNGSOLVE -DnoADDON -DnoLAPACK -DnoFAST \
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
-LINKFLAGS2 = -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64
|
||||||
|
+LINKFLAGS2 = -fPIC -pg -L/usr/openwin/lib64 -L/usr/X11R6/lib64 -L/usr/lib/GL3.5 -L/usr/lib64
|
||||||
|
|
||||||
|
|
||||||
|
SYSLIB2 = -lstdc++
|
||||||
|
diff -ur netgen-4.5.old/Makefile netgen-4.5.new/Makefile
|
||||||
|
--- netgen-4.5/Makefile 2006-03-29 15:09:12.000000000 +0400
|
||||||
|
+++ netgen-4.5/Makefile 2006-09-07 15:46:07.000000000 +0400
|
||||||
|
@@ -72,7 +72,7 @@
|
||||||
|
#
|
||||||
|
#CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL
|
||||||
|
|
||||||
|
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -DOPENGL -I$(METISINC)
|
||||||
|
+CPLUSPLUSFLAGS1 = -c -m64 -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -I$(METISINC)
|
||||||
|
|
||||||
|
LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu
|
||||||
|
#
|
Loading…
x
Reference in New Issue
Block a user