Commit Graph

233 Commits

Author SHA1 Message Date
Joachim Schöberl
5dc501af26 optional use of tsc-counter 2017-11-13 11:58:13 +01:00
Matthias Hochsteger
8f11b84911 Fix for MSVC 2017-10-17 11:02:39 +02:00
Matthias Hochsteger
949ead991f Update ngsimd.hpp 2017-10-17 10:32:59 +02:00
Matthias Hochsteger
1430b89e39 Update pybind11 to version 2.2.0
- Replace PYBIND11_PLUGIN with PYBIND11_MODULE

- Fix warnings about symbol visibility by replacing
  'namespace pybind11' with 'namespace PYBIND11_NAMESPACE'

- Pybind sets the default visibility of its namespace to 'hidden'
  Thus, our export functions like  ExportCSG(py::module &m) also are
  hidden by default. To work around that define DLL_HEADER
  '__attribute__ ((visibility ("default")))
  on GNUC platforms.
2017-09-01 10:16:56 +02:00
Matthias Hochsteger
d4a2d4c87b Check if mesh file exists before loading
Also derive NgException from std::exception to print the error message
in Python / on the command line.
2017-08-24 13:59:16 +02:00
Lukas Kogler
6524c0c170 Merged master 2017-06-06 10:11:41 +02:00
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
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
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
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
Lukas Kogler
d24b996c8f Merge branch 'master' into par_fixes 2017-03-22 14:03:11 +01:00
Matthias Hochsteger
079406f615 Include <functional> (gcc7 was complaining here) 2017-03-17 21:09:27 +01:00
lkogler
383ced496b Changed MyMPI_RecvCmd and MyMPI_SendCmd. Disabled USE_BUFFERS for now. 2017-03-06 14:32: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
c143aafaea Array resize checks for trivially copyable 2017-02-24 22:29:57 +01:00
Matthias
f674d5a20a Assume that malloc returns memory that is 16 byte-aligned
This fixes an issue with inconsistent memory allocation/deallocation of
MeshPoint in Python.
2017-02-07 10:26:31 +01:00
Matthias Hochsteger
4cff6b546a install all headers to INCDIR 2017-01-16 14:59:57 +01:00
Joachim Schöberl
59dc0b6c6a Array::Append does not return size anymore ( will be changed to last ) 2016-12-11 18:22:07 +01:00
Matthias Hochsteger
ee4d5e89d8 remove unnecessary files (mostly unsupported build systems) 2016-11-23 18:07:14 +01:00
Christopher Lackner
0a9abc1acc array iterator to python 2016-11-15 18:12:51 +01:00
Matthias Hochsteger
5b253c76e0 Add a guard to avoid multiply defined AVX operators on Windows 2016-11-10 15:36:47 +01:00
Lukas Kogler
37e0e17919 removed some comments. formatting 2016-11-08 12:57:59 +01:00
Lukas Kogler
49aa2861d6 changed buffer size in send/recv cmd (for sending entire python files) 2016-11-07 17:48:23 +01:00
Matthias Hochsteger
399d370463 fix some typos and add placement new operator to AlignedAlloc 2016-11-04 12:48:23 +01:00
Matthias Hochsteger
96c1235184 switch from boost::python to pybind11 2016-11-04 12:14:52 +01:00
Joachim Schöberl
3fcb7d13d5 dummy aligned-alloc without AVX 2016-10-30 15:15:16 +01:00
Joachim Schöberl
3a631f10ca solution visualization using AVX 2016-10-30 15:01:52 +01:00
Joachim Schöberl
cdcd868712 size_t 2016-10-25 23:34:06 +02:00
Joachim Schöberl
e009a8b687 started task-manager in netgen (topology) 2016-08-18 00:49:47 +02:00
Joachim Schöberl
5448157842 use SIMD also for AVX (not only AVX2) 2016-08-07 19:13:36 +02:00
Alexander Schlüter
d282a5914d fix compiler errors in mpi build 2016-07-15 15:26:25 +02:00
Joachim Schöberl
0a9adc91e9 default simd ctr 2016-07-07 19:54:47 +02:00
Joachim Schöberl
59bc017c40 bring std-operators to namespace 2016-07-07 19:49:02 +02:00
Joachim Schöberl
8414cb2d60 using simds for element-trafo, added type-template to many classes 2016-07-06 17:12:57 +01:00
Joachim Schoeberl
ee6fbe65e7 parallel refinement 2016-02-28 06:05:19 +01:00
Joachim Schöberl
1ac9c02f5b lexicographic ordering for uni-form mesh refinement 2016-02-26 20:29:14 +01:00
Matthias
8a3e29e624 get rid of pthread 2016-02-23 20:23:48 +01:00
Matthias Hochsteger
402e85cc17 bugfix due to capturing of thread index by reference 2016-02-23 11:08:20 +01:00
Matthias Hochsteger
1b4f596446 get rid of OpenMP 2016-02-22 18:44:00 +01:00
Matthias
11ac6c704a fixes for Intel Compiler on Windows 2015-11-02 08:06:18 -08:00
Matthias Hochsteger
8ac965d707 everything in one big dll on Windows 2015-10-19 10:08:30 +02:00
Joachim Schoeberl
caa7295990 archive with Input/Ouput variable 2015-07-23 14:10:50 +02:00
Matthias Hochsteger
bd18af5676 cmake install components 2015-04-09 12:27:59 +02:00
Joachim Schoeberl
631b519676 archive array-functions 2015-03-23 14:51:05 +01:00
Matthias Hochsteger
b870bcee0f CMake support 2015-03-06 14:59:14 +01:00
Joachim Schoeberl
257e76c083 wrappers for netgen-dll 2015-01-27 15:56:32 +00:00
Gerhard Kitzler
785214bbab added ngpython.hpp 2015-01-27 14:29:51 +00:00
Joachim Schoeberl
69429c6e09 occ meshing, lock in block-allocator 2015-01-20 17:41:16 +00:00
Joachim Schoeberl
e920593821 add size-t 2015-01-08 12:47:27 +00:00
Joachim Schoeberl
8e8e390f2e 2d Delaunay, array-iterators 2014-12-02 13:23:36 +00:00
Joachim Schoeberl
36803ec256 mesh interface, deallocation 2014-10-19 13:53:57 +00:00
Christoph Wintersteiger
4bef2d7617 ModuleScope for Python modules added 2014-10-08 15:48:01 +00:00
Joachim Schoeberl
11c641b038 ngpython 2014-10-08 14:09:03 +00:00
Joachim Schoeberl
f96adac6fe autoptr and parallel 2014-09-10 16:15:03 +00:00
Joachim Schoeberl
e9657ab1bb archive 2014-04-28 06:54:06 +00:00
Joachim Schoeberl
d0f82c3993 archive 2014-03-04 12:27:15 +00:00
Joachim Schoeberl
3a82cf2258 archive 2014-02-23 19:31:40 +00:00
Gerhard Kitzler
18ba82517f DLL_HEADER 2013-04-05 13:08:07 +00:00
Joachim Schoeberl
8d7debaf9b indirect arrays 2013-04-02 20:26:21 +00:00
Joachim Schoeberl
7d4c806012 extern printdots 2013-03-05 10:25:17 +00:00
Joachim Schoeberl
b225adb2cd compressed mesh files (zlib) 2013-02-27 17:29:12 +00:00
Joachim Schoeberl
7aa0128d6f add zlib / gzstream 2013-02-26 12:59:12 +00:00
Gerhard Kitzler
6c48d43c27 DLL_HEADER 2012-10-29 17:45:15 +00:00
Joachim Schoeberl
5dde1907d6 profiler 2012-10-27 11:47:21 +00:00
Joachim Schoeberl
c7fb4b676f improvements for STL meshing 2012-10-22 13:13:57 +00:00
Joachim Schoeberl
8ef8c2e975 improved exchangetable 2012-09-03 09:49:18 +00:00
Joachim Schoeberl
7233ecdcd5 mpi - table exchange improved 2012-08-30 19:24:20 +00:00
Joachim Schoeberl
6a1e8f7e97 parallel topology + curved elements 2012-08-20 14:10:23 +00:00
Joachim Schoeberl
1d163e69dc get arguments 2012-07-06 07:49:05 +00:00
Joachim Schoeberl
a7d1c6c657 sequential fixes 2012-07-05 13:02:01 +00:00
Joachim Schoeberl
312dcb3e31 parallel 2012-06-18 18:40:05 +00:00
Joachim Schoeberl
eade1f6b2d mpi 2012-06-16 16:58:46 +00:00
Joachim Schoeberl
05b0abfce1 mpi 2012-06-16 16:58:28 +00:00
Joachim Schoeberl
51084912d9 vampir 2012-06-16 15:22:46 +00:00
Joachim Schoeberl
2c3d08ec2a mpi - table exchange 2012-06-16 12:03:36 +00:00
Joachim Schoeberl
27f8e452fd parallel fixes 2012-06-13 09:07:11 +00:00
Joachim Schoeberl
6741b74a54 fixes by matthias 2012-05-24 11:12:37 +00:00
Joachim Schoeberl
cfc7c46df0 tiny parallel polish 2011-11-03 11:03:11 +00:00
Joachim Schoeberl
fec9740f4c metis 5 adaption 2011-11-01 12:54:07 +00:00
Joachim Schoeberl
f5f099d868 export mpi variables 2011-08-31 17:31:59 +00:00
Joachim Schoeberl
577ecd6f47 curved elements support MPI and multithreading 2011-08-11 22:28:22 +00:00
Joachim Schoeberl
8a450b506b remove debugging output 2011-08-08 19:48:12 +00:00
Joachim Schoeberl
b90dbcfbe5 needed for curved elements in parallel 2011-08-08 13:34:08 +00:00
Joachim Schoeberl
a582fc6231 on the way to thread-save meshing 2011-07-25 08:40:23 +00:00
Joachim Schoeberl
342983ee75 parallel topology simplification 2011-07-14 21:36:19 +00:00
Joachim Schoeberl
3aeb3d79b9 improved parallel mesh loading 2011-07-13 18:32:11 +00:00
Joachim Schoeberl
70292000c3 interface 2011-07-13 18:27:17 +00:00
Joachim Schoeberl
28f59f7bcf parallel communication tags 2011-07-06 21:08:58 +00:00
Joachim Schoeberl
2d15141187 parallel mesh 2011-07-04 12:29:18 +00:00
Joachim Schoeberl
a64aa8226e parallelization 2011-06-30 12:49:38 +00:00
Joachim Schoeberl
660f31d7cd parallelization 2011-06-26 07:35:08 +00:00
Joachim Schoeberl
580f4b9f52 parallel ngs 2011-06-16 17:55:08 +00:00
Joachim Schoeberl
3d2f7d7457 dll_headers for geometry dll (only 2D yet) 2011-03-03 21:42:20 +00:00
Joachim Schoeberl
5204be0657 spline files restructured 2011-02-28 12:59:27 +00:00
Joachim Schoeberl
b0f637862b parallel 2011-02-18 19:58:17 +00:00
Joachim Schoeberl
846542c45c parallel programming 2011-02-14 12:27:18 +00:00
Joachim Schoeberl
b95acb082c geometry restructuring 2011-01-10 20:18:01 +00:00
Joachim Schoeberl
75a6623419 2d meshing improvements 2010-07-19 12:00:52 +00:00
Joachim Schoeberl
768ef87cac suggestions by E.A. (salome) 2010-05-18 11:28:15 +00:00
Joachim Schoeberl
20c2f2757e quicksort 2009-10-28 00:22:10 +00:00
Joachim Schoeberl
94a06d8cae quicksort for arrays 2009-10-28 00:04:19 +00:00
Joachim Schoeberl
6f39164242 reduced memory requirement for the setup of topology faces 2009-10-27 18:14:45 +00:00
Joachim Schoeberl
41de0eaa1a remove moveable mem 2009-08-25 14:01:10 +00:00
Joachim Schoeberl
670509b52b baseclass NetgenGeometry 2009-08-25 14:00:20 +00:00
Joachim Schoeberl
f14a04a837 basegeometry, disable moveablemem 2009-08-24 00:03:40 +00:00
Joachim Schoeberl
f3043d2df9 improvement in visualization 2009-07-20 08:36:36 +00:00
Joachim Schoeberl
ff3eaf1119 MSVC adaption 2009-04-17 04:07:42 +00:00
Philippose Rajan
34bfd4a349 * Added a new Compiler Switch (MSVC_EXPRESS) to enable Netgen to be compiled using the Express Editions of Microsoft Visual C++ 2009-01-30 22:12:17 +00:00
Joachim Schoeberl
00bc4a1220 remove generated files (Makefile.in) 2009-01-29 19:33:21 +00:00
Joachim Schoeberl
b087ac2f72 'memory usage' bug fix 2009-01-28 21:32:30 +00:00
Joachim Schoeberl
38a9ae19b4 parallel fixes 2009-01-25 15:04:33 +00:00
Joachim Schoeberl
ea4b278685 parallel 2009-01-25 14:13:59 +00:00
Joachim Schoeberl
3a5f9cb7d5 ARRAY -> Array 2009-01-25 12:35:44 +00:00
Joachim Schoeberl
91d5c9888d ARRAY -> Array 2009-01-25 12:35:25 +00:00
Joachim Schoeberl
3ce7cbc62f parallel restructure 2009-01-25 12:20:07 +00:00
Joachim Schoeberl
6054d08eec restructure parallel netgen 2009-01-25 12:14:08 +00:00
Joachim Schoeberl
158f5223ba parallel netgen 2009-01-25 02:54:27 +00:00
Joachim Schoeberl
161dc4cfd9 netgen - ngsolve integration 2009-01-18 17:36:38 +00:00
Joachim Schoeberl
0bae83e1f6 build Netgen - library 2009-01-18 14:47:12 +00:00
Joachim Schoeberl
d462a1e95a fixes for ngsolve interface 2009-01-17 19:37:57 +00:00
Joachim Schoeberl
da99a51047 tcl - autoconf 2009-01-16 20:09:52 +00:00
Joachim Schoeberl
e5e550772a Tcl/TK setup 2009-01-15 23:03:40 +00:00
Joachim Schoeberl
10de082624 added tcl macros 2009-01-15 20:41:14 +00:00
Joachim Schoeberl
57446b6a76 autotools 2009-01-15 17:37:07 +00:00
Joachim Schoeberl
357cea9ba0 dist headers 2009-01-14 21:01:19 +00:00
Joachim Schoeberl
c09bfad487 header dist 2009-01-14 20:32:48 +00:00
Joachim Schoeberl
3d10410665 opencascade support 2009-01-13 21:14:02 +00:00
Joachim Schoeberl
f4a8c49f6c autotools configure 2009-01-13 18:32:10 +00:00
Joachim Schoeberl
310cb00b13 autotools 2009-01-12 23:40:13 +00:00