Commit Graph

876 Commits

Author SHA1 Message Date
Matthias Hochsteger
f6a0b31b96 Cleanup CMake build system
- Use CMAKE_INSTALL_PREFIX instead of INSTALL_DIR
  - Allow finer control of install directories
  - Use compiled TCL code by default
  - Fix RPATH usage on Linux and MacOSX

### Allow finer control of install directories
The following variables can be set to either absolute or relative paths
NG_INSTALL_DIR_PYTHON: Python files
NG_INSTALL_DIR_BIN: Executables
NG_INSTALL_DIR_LIB: Libraries
NG_INSTALL_DIR_INCLUDE: header files
NG_INSTALL_DIR_CMAKE: CMake files
NG_INSTALL_DIR_RES: Resources

### Use compiled TCL code by default
The tcl files contained in Netgen are stored in onetcl.cpp as c-string.
This way it's not necessary to install tcl files or set NETGENDIR

### Fix RPATH usage on Linux and MacOSX
The Netgen installation should be completely relocatable now.

Squashed commit of the following:

commit 201eda5e62726bd87d76beb13c3e5643cd4c7810
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 21:10:08 2017 +0200

    cleanup

commit b4cd46a9d2f390b40c5223c8d9971f576b979644
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 20:47:46 2017 +0200

    fix

commit 6506a834dbee2fd7b6df3b3f3709d0b27344356f
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 20:41:45 2017 +0200

    allow gui test to fail

commit 56c5fc131f61259e6fb67b60f7fff955d2e8d2da
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 20:26:18 2017 +0200

    add python3-tk to docker images

commit 4d1b5aac1d028867339819599708a08f2098bbd6
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 11:22:18 2017 -0700

    windows fix

commit 92b5f8a95491ba3508143d7f1b94359edc0655ce
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 11:08:08 2017 -0700

    fix for windows

commit 3f7bf51434ef3b637b3563930ddb61d04af645cb
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 19:28:13 2017 +0200

    fixes, test for gui

commit ef1d0164a50fadf374e3b1e43a745b5f69a16ad6
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 19:06:55 2017 +0200

    fixes

commit 67645bb896012149c23c851b03287199c21fa129
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 17:24:58 2017 +0200

    netgen config

commit b587b77a282768719cffc366c56d82a1746e0be0
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 16:53:47 2017 +0200

    remove comments

commit 2b34cc78818afa1cf21484bd0976413a91db0851
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 05:03:00 2017 -0700

    fix windows

commit 9e98efa54065624e264eaf1acf74b44ef022a68d
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 13:42:11 2017 +0200

    fixes

commit 394b470a07d73431079f80caa36c7c7042077f40
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 12:24:40 2017 +0200

    fix rpath issue

commit 6787eae384a8592f90598258ccd8207cd499d9fc
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 11:37:05 2017 +0200

    some more fixes with install dir

commit fcf22659c60300e8d39d12e14b21c58a062e739c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 01:34:06 2017 -0700

    some fixes

commit ede1f0c462978bb70d3b4e2251cb555a592e82e3
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 29 10:16:34 2017 +0200

    fixes

commit b6a1259876a77f54e419a44f1b44d03d5bb49b82
Merge: c79f9a3 6627b0b
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 24 09:35:50 2017 +0200

    Merge remote-tracking branch 'origin/master' into cmake_cleanup

commit c79f9a3421d4d2937c31dab4a601ce09d52b0e54
Merge: 99c3550 030ad1d
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 22 17:52:24 2017 +0200

    Merge remote-tracking branch 'origin/master' into cmake_cleanup

commit 99c35500850e08fdc847013bb384169b1483acb4
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Fri May 19 14:37:28 2017 +0200

    fix rpath

commit 8215e9748d9ee225266bc941da1ca252aebd27de
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Thu May 18 13:29:41 2017 +0200

    remove INSTALL_DIR, rename var to NETGEN_INSTALL_DIR_INCLUDE, install libngpy to python package folder

commit 23d028c4cf7572de9e2e277cda8f6b07b6b1d9f9
Merge: 57027c8 f72a247
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Thu May 18 12:03:59 2017 +0200

    Merge remote-tracking branch 'origin/master' into cmake_cleanup

commit 57027c8c706ff755bdf26887884bbdeca129fe8f
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Fri May 12 17:32:05 2017 +0200

    New CMake option: USE_INTERNAL_TCL (ON by default)

    This option uses the tcl code compiled in onetcl.cpp instead of separate
    tcl files by default. When set at configure time, no tcl files will be
    installed anymore.

commit 27ce5b7edd66d64e2453f5045f5ac08c313f7608
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Fri May 12 17:16:52 2017 +0200

    WIP: Cleanup of CMake files

      - Fix RPATH on Linux (TODO: other platforms)
      - New variables to specify install behaviour:
          NG_INSTALL_DIR_BIN
          NG_INSTALL_DIR_LIB
          NG_INSTALL_DIR_CMAKE
          NG_INSTALL_DIR_INCLUDE
2017-05-29 21:41:27 +02:00
Christopher Lackner
3ba7d2c276 add meshsizefilename to python meshingparameters 2017-05-17 16:04:56 +02:00
Matthias Hochsteger
9a7307fb39 Start GUI from Python only if Netgen exe is not running 2017-05-15 18:56:47 +02:00
Joachim Schöberl
b4f3107fef default material name 2017-05-13 10:24:12 +02:00
Matthias Hochsteger
c53913b4d1 Remove unused code in CMake files 2017-05-12 13:18:24 +02:00
Joachim Schöberl
7c8631cf2e Merge branch 'move_in_delete_element_array' into 'master'
use std::move in delete element of array

See merge request !46
2017-05-11 10:55:55 +02:00
Christopher Lackner
b87e76306f use std::move in delete element of array 2017-05-11 10:25:29 +02:00
Matthias Hochsteger
025f8750be GUI support from Python and some cleanup
Squashed commit of the following:

commit 5058ceb9351548937487aa94073e7f59236ae9fe
Merge: d37f0af 2da1465
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:33:55 2017 +0200

    Merge remote-tracking branch 'origin/master' into native_tcl_macos

commit d37f0afcc1389c0c3ec0899da9c1af158c926ca5
Author: Matthias <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:27:12 2017 +0200

    link gui to netgen, some fixes

commit 297141455cd4fab81709c13d6253ad8114beee4a
Author: Matthias <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:02:47 2017 +0200

    windows fixes

commit 9bf290a60835f29762b15ee3b722da132678f90c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 18:59:53 2017 +0200

    More cleanup, proper code separation

     ... between netgen exectuable and gui library

commit f46d438d3c9dd32f9f94642b4ec00b85611ef1dd
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 14:03:53 2017 +0200

    fix typos

commit b3d301ff4e321189aef469bff77f7cffa7b69e98
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:32:57 2017 +0200

    also link tk to togl on windows...

commit c3519abee7b041e45c913a45999ed2d29d4ff325
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:30:16 2017 +0200

    link TCL to togl on windows

commit 80b607436b45f38f4bac2708a78ef03561ad44e5
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:26:45 2017 +0200

    linkt TCL only to netgen executable

commit 080139a431e949e14cb9f05194e19c5129aca3d3
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:20:36 2017 +0200

    fix dll ex/import

commit dd68efacb01fbbbe3f136168f12fed41fa3c3c8a
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:15:39 2017 +0200

    fix dll export

commit 9023b9ca49b4c2b99f228f64564990e2d0246b8c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 12:06:14 2017 +0200

    use system tcl/tk on MacOS, but download tcl/tk for windows

commit 16eb4c1b01eb5229f93274791187b2c666bb8b8e
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 12:01:36 2017 +0200

    more cleanup

commit 6df5b82a7d9a1177a755446d563d6c4b98ff6329
Merge: af23786 2b0d3f0
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 11:45:42 2017 +0200

    Merge remote-tracking branch 'origin/master' into native_tcl_macos

commit af2378637a6513de3b50841ed6314cd7e12f7205
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 11:45:40 2017 +0200

    some cleanup

commit 81bbe117efe25df53c71f9ae603c50ee4557703a
Author: Joachim Schöberl <joachim.schoeberl@tuwien.ac.at>
Date:   Tue May 9 20:14:46 2017 +0200

    tk-gui

commit 387e6da678661dd3b9d75d696733f46fe43d789a
Merge: e658b5b e653d8e
Author: Joachim Schöberl <joachim.schoeberl@tuwien.ac.at>
Date:   Tue May 9 18:49:20 2017 +0200

    Merge remote-tracking branch 'origin/gui_from_python' into native_tcl_macos

commit e658b5b2c1ac3264f4165b5f6d2b821b3b1b0926
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Tue May 9 18:30:35 2017 +0200

    use native tcl on macos

commit e653d8e6789d20e24b16a68bf760415940e881f8
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 16:37:23 2017 +0200

    next fix

commit f663c80b00754d141a02fa6abde2077c841bbafb
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 16:23:21 2017 +0200

    Fix symbol export on windows

commit 70d99782423d33d3fa6f80e758a7377d0cb52840
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 15:14:56 2017 +0200

    GUI support from Python

    Enables experimental support for starting the Netgen GUI from Python
    directly.
    To use it, just import the gui module:
    > import netgen.gui
2017-05-10 19:34:42 +02:00
Joachim Schöberl
2da1465d52 get surface element from face 2017-05-10 17:41:44 +02:00
Joachim Schöberl
2b0d3f02ba load opengl buffer-functions only if USE_BUFFERS is set 2017-05-08 21:20:36 +02:00
Matthias Hochsteger
990d0fce78 GUI support from Python
Enables experimental support for starting the Netgen GUI from Python
directly.
To use it, just import the gui module:
> import netgen.gui
2017-05-08 16:42:49 +02:00
Joachim Schöberl
94fd57154f disable VBO on windows 2017-04-26 12:15:19 +02:00
Matthias Hochsteger
9fb7fcacfc Revert interface code to preserve compatibility with NGSolve 2017-04-20 17:55:56 +02:00
Matthias Hochsteger
247afdb1bd Define NG_INLINE and use it in ngsimd.hpp (works around a bug in gcc5) 2017-04-20 16:22:50 +02:00
Matthias Hochsteger
9247c89fd7 add missing function HSum(a,b) for SIMD<double,1> 2017-04-20 11:41:23 +02:00
Matthias Hochsteger
643c89538d Add support for AVX512
Restructure mysimd.hpp and add support for AVX512. Changes include

  - Move mysimd.hpp to ngsimd.hpp
  - Expose ngsimd.hpp to NGSolve
  - New namespace ngsimd
  - Second template parameter (width) for SIMD class, default to the
    largest width available
  - Avoid raw avx register types in the interface, use SIMD<> instead
2017-04-19 18:02:27 +02:00
Joachim Schöberl
70da438d6d on mesh loading, set dummy-geometry if no geometry in mesh-file 2017-04-18 15:06:40 +02:00
Joachim Schöberl
5ed3de978b default constructable/movable tet for bisection-refinement 2017-04-18 08:43:23 +02:00
Joachim Schöberl
ec20b74722 make Element default constructable/movable 2017-04-13 10:40:47 +02:00
Joachim Schöberl
7027df2f73 fix 1->2 simd trafos 2017-04-12 16:44:02 +02:00
Joachim Schöberl
c50bd79beb default constructors assignment operators, cheaper Array-Resize 2017-04-11 21:06:30 +02:00
Joachim Schöberl
5e320a5556 dll-header ? 2017-04-11 10:51:08 +02:00
Joachim Schöberl
e464fe9771 parallel trig-marking for bisection 2017-04-11 10:45:31 +02:00
Joachim Schöberl
0074d8b407 inline GetTimeStamp 2017-04-11 10:45:11 +02:00
Joachim Schöberl
4382fc1168 fix hashtable 2017-04-11 10:04:33 +02:00
Joachim Schöberl
e6b853e995 hashtables roundup to power of 2, optimize bisect 2017-04-11 09:01:36 +02:00
Joachim Schöberl
b68bfdcc73 more parallel 2017-04-06 21:41:26 +02:00
Joachim Schöberl
e9fc64acc6 Merge branch 'multipointevaluation_for_isosurf' into 'master'
MultiPoint evaluation for DrawIsoSurface

See merge request !42
2017-04-04 15:28:43 +02:00
Gerhard Kitzler
dda40cf1f4 MultiPoint evaluation for DrawIsoSurface 2017-04-04 11:49:32 +02:00
Joachim Schöberl
65a474b8ef avoid shared-ptr copy 2017-04-04 11:34:24 +02:00
Joachim Schöberl
701d6a2369 inline GetCD2NamePtr 2017-04-03 18:15:34 +02:00
Joachim Schöberl
e1917c8d8a fix warnings 2017-04-03 17:40:01 +02:00
Gerhard Kitzler
8f936f82ea Fix data types for Python exports in python_mesh.cpp 2017-04-03 16:24:56 +02:00
Joachim Schöberl
619f9ff47f GetElement returns Facet-Array. Since for 1D these are point numbers, and point numbers are (still) 1-based, we have to return also the base 2017-04-03 11:17:47 +02:00
Joachim Schöberl
240a132078 avoid size_t-int narrowing in nginterfacev2 - GetElement 2017-04-01 21:00:12 +02:00
Christopher Lackner
794d1b6598 fix el.mat for bbnd elements in 3D 2017-03-30 15:22:19 +02:00
Joachim Schöberl
3d3a2ca186 Revert "Merge branch 'neighbouringdomains' into 'master'"
This reverts merge request !38
2017-03-29 15:02:36 +02:00
Christoph Wintersteiger
9a48710988 add implementation of GetBoundaryNeighbouringDomains 2017-03-29 11:22:29 +02:00
Joachim Schöberl
2d835e25cc add prototype GetBoundaryNeightbouringDomains 2017-03-27 15:12:52 +02:00
Matthias Hochsteger
5e2d2f685c Fix warnings (Intel compiler)
ICC complains about ambigous variable 'i' applying old/new scoping rules.
Therefore, use local loop variables in for loops.
2017-03-23 15:56:08 +01:00
Matthias Hochsteger
079406f615 Include <functional> (gcc7 was complaining here) 2017-03-17 21:09:27 +01:00
Joachim Schöberl
0608eb1ee0 set maxh for subdomains: geo.Add(solid, maxh=0.1) 2017-03-16 20:57:42 +01:00
Joachim Schöberl
5efaa2f85b first add corner points to mesh, and then edge points (for consistent orientation on periodic edges) 2017-03-08 18:07:55 +01:00
Matthias Hochsteger
9c0f1b5bdb adapt parallelmesh.cpp to commit 90d4c940 (topology is a member of Mesh (rather than pointer)...) 2017-03-07 10:43:38 +01:00
Christopher Lackner
7b1d57b23c remove <vector> from csg header again 2017-02-27 11:35:56 +01:00
Christopher Lackner
58555b96d9 use Array instead of std::vector 2017-02-27 11:32:42 +01:00
Christopher Lackner
87669acfc6 Merge branch 'master' into fix_splinesurface 2017-02-27 11:27:20 +01:00
Joachim Schöberl
90d4c94028 make Topology a member of Mesh (rather then pointer) to reduce number of pointer dereferencing steps. This required move operators for Array and Table. 2017-02-25 19:48:37 +01:00
Joachim Schöberl
c633035043 more size_t 2017-02-25 17:11:30 +01:00
Joachim Schöberl
c143aafaea Array resize checks for trivially copyable 2017-02-24 22:29:57 +01:00