compile with netgen for FEM meshing

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: compile with netgen for FEM meshing

Post by sgrogan »

reox wrote: Sun Nov 03, 2019 9:21 am I tried 6.2.1810 already and it does not make a difference
Just to be sure, you are compiling netgen with the same OCCT you are using for FreeCAD.
"fight the good fight"
reox
Posts: 929
Joined: Sat Aug 13, 2016 10:06 am
Contact:

Re: compile with netgen for FEM meshing

Post by reox »

sgrogan wrote: Sun Nov 03, 2019 10:26 am
reox wrote: Sun Nov 03, 2019 9:21 am I tried 6.2.1810 already and it does not make a difference
Just to be sure, you are compiling netgen with the same OCCT you are using for FreeCAD.
yes. I use the version from debian.
To double check, during build: 7.3.3+dfsg1-1; on my workstation: 7.3.3+dfsg1-1
User avatar
kkremitzki
Veteran
Posts: 2518
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: compile with netgen for FEM meshing

Post by kkremitzki »

reox wrote: Sun Nov 03, 2019 9:21 am I tried 6.2.1810 already and it does not make a difference. It still crashes. Or do you really need the latest master to compile with the salomesh version inside freecad? But what exactly has changed that this does not work anymore?

btw
kkremitzki wrote: ping
do you know why netgen 6.2.1810 is still in NEW/unstable and does not go to unstable in debian?
No, I've asked around (e.g. in #debian-ftp) for someone to take a look at it or let me know what's wrong, but I have no idea. Part of it is that the NEW queue gets seriously jammed up after Debian releases. I think the system itself needs some work but it would unfortunately take some time to make improvements.

Have you tried building the Netgen package from salsa.debian.org/science-team/netgen? If you're interested in trying that to get things working (it should, provided you use the same build flags I'm using in the PPA) I can provide instructions to make the .deb's.

Edit: I've even mentioned the package being stuck in NEW in my blog that gets syndicated to Planet Debian, so you'd think someone amongst my readership would know what's up or be able to help...
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
reox
Posts: 929
Joined: Sat Aug 13, 2016 10:06 am
Contact:

Re: compile with netgen for FEM meshing

Post by reox »

kkremitzki wrote: Sun Nov 03, 2019 7:02 pm No, I've asked around (e.g. in #debian-ftp) for someone to take a look at it or let me know what's wrong, but I have no idea. Part of it is that the NEW queue gets seriously jammed up after Debian releases. I think the system itself needs some work but it would unfortunately take some time to make improvements.
Thats too sad... I also saw that flatbuffers is in that list, which keeps kodi from beeing upgraded... but thats another topic :D
kkremitzki wrote: Sun Nov 03, 2019 7:02 pm Have you tried building the Netgen package from salsa.debian.org/science-team/netgen? If you're interested in trying that to get things working (it should, provided you use the same build flags I'm using in the PPA) I can provide instructions to make the .deb's.
Ah yes, thats what I tried back then to get 6.2.1810 running.
So what I did was git clone and then gbp buildpackage --git-pbuilder --git-ignore-branch

Btw: Is this some mistake or why is the current version in master 6.2.1905? This seems not even released on github?
Nevermind, the ngsolve repo is the one to look at!

I'm trying to build netgen now from the latest master and then see if FC will build with that.
User avatar
kkremitzki
Veteran
Posts: 2518
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: compile with netgen for FEM meshing

Post by kkremitzki »

reox wrote: Sun Nov 03, 2019 7:23 pm
Btw: Is this some mistake or why is the current version in master 6.2.1905? This seems not even released on github?
Nevermind, the ngsolve repo is the one to look at!

I'm trying to build netgen now from the latest master and then see if FC will build with that.
Yeah, they often forget to tag the netgen repo as well, so you have to look at the ngsolve tag and see the git submodule netgen version.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
user1234
Veteran
Posts: 3512
Joined: Mon Jul 11, 2016 5:08 pm

Re: compile with netgen for FEM meshing

Post by user1234 »

Hello!
reox wrote: Sun Nov 03, 2019 9:21 am Or do you really need the latest master to compile with the salomesh version inside freecad? But what exactly has changed that this does not work anymore?
Yes, something has changend since Netgen 6.2.1810.

I have OCCT7.4.0, so i need an updated netgen. They have implement this changes in the master.

Also they have made a commit (one month ago) about pybind11. So i hoped, that tha master works. But i can not compile it, because of the cmake error of pybind11 (but dependencies are ok). But i am unaware in cmake.

Greetings
user
reox
Posts: 929
Joined: Sat Aug 13, 2016 10:06 am
Contact:

Re: compile with netgen for FEM meshing

Post by reox »

I compiled now using netgen from salsa (master).
But it still crahses, allthougth at another location:

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x3a100) [0x7f4e82284100]
#1  0x7f4e176fa144 in netgen::Mesh::MaxHDomain(int) const from /usr/lib/x86_64-linux-gnu/netgen/libmesh.so+0x14
#2  0x7f4e1772a480 in netgen::MeshVolume(netgen::MeshingParameters&, netgen::Mesh&) from /usr/lib/x86_64-linux-gnu/netgen/libmesh.so+0x420
#3  0x7f4e1f7b2016 in netgen::OCCGenerateMesh(netgen::OCCGeometry&, std::shared_ptr<netgen::Mesh>&, netgen::MeshingParameters&) from /usr/lib/x86_64-linux-gnu/netgen/libocc.so+0x3b6
#4  0x7f4e20b8c31a in NETGENPlugin_Mesher::Compute() from /usr/lib/freecad-daily/lib/libNETGENPlugin.so+0xe0a
#5  0x7f4e206fa6a5 in Fem::FemMeshShapeNetgenObject::execute() from /usr/lib/freecad-daily/lib/Fem.so+0x175
#6  0x7f4e840eb5f9 in App::DocumentObject::recompute() from /usr/lib/freecad-daily/lib/libFreeCADApp.so+0x99
#7  0x7f4e84089805 in App::Document::_recomputeFeature(App::DocumentObject*) from /usr/lib/freecad-daily/lib/libFreeCADApp.so+0x2c5
#8  0x7f4e8409f0b5 in App::Document::recompute(std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> > const&, bool, bool*, int) from /usr/lib/freecad-daily/lib/libFreeCADApp.so+0x595
#9  0x7f4e849e4669 in Gui::TreeWidget::onRecomputeObject() from /usr/lib/freecad-daily/lib/libFreeCADGui.so+0x129
#10  0x7f4e828a43c8 in QMetaObject::activate(QObject*, int, int, void**) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x7b8
#11  0x7f4e8326f812 in QAction::triggered(bool) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x42
#12  0x7f4e83271e52 in QAction::activate(QAction::ActionEvent) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x102
#13  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x2df522) [0x7f4e833f3522]
#14  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x2e6baa) [0x7f4e833fabaa]
#15  0x7f4e833fbbd2 in QMenu::mouseReleaseEvent(QMouseEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x272
#16  0x7f4e832b7786 in QWidget::event(QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x246
#17  0x7f4e833fe1b3 in QMenu::event(QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x153
#18  0x7f4e83275c32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x82
#19  0x7f4e8327f3e3 in QApplication::notify(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x583
#20  0x7f4e84885158 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-daily/lib/libFreeCADGui.so+0x88
#21  0x7f4e82879a92 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x182
#22  0x7f4e8327e4f3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1b3
#23  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1bf9d4) [0x7f4e832d39d4]
#24  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1c1ed4) [0x7f4e832d5ed4]
#25  0x7f4e83275c32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x82
#26  0x7f4e8327f190 in QApplication::notify(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x330
#27  0x7f4e84885158 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-daily/lib/libFreeCADGui.so+0x88
#28  0x7f4e82879a92 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x182
#29  0x7f4e82c59a33 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x6c3
#30  0x7f4e82c5b28b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x24b
#31  0x7f4e82c35eeb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0xbb
#32  /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5(+0x71d0a) [0x7f4e7c979d0a]
#33  /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f4e8075dead]
#34  /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x50130) [0x7f4e8075e130]
#35  /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2f) [0x7f4e8075e1bf]
#36  0x7f4e828cf7f1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x61
#37  0x7f4e8287871b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x12b
#38  0x7f4e833f880d in QMenu::exec(QPoint const&, QAction*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x6d
#39  0x7f4e849f72b2 in Gui::TreeWidget::contextMenuEvent(QContextMenuEvent*) from /usr/lib/freecad-daily/lib/libFreeCADGui.so+0x542
#40  0x7f4e832b7786 in QWidget::event(QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x246
#41  0x7f4e83363a2e in QFrame::event(QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1e
#42  0x7f4e834e168e in QAbstractItemView::viewportEvent(QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x6e
#43  0x7f4e8354e37b in QTreeView::viewportEvent(QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x3b
#44  0x7f4e828797a3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x93
#45  0x7f4e83275c21 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x71
#46  0x7f4e8327fffb in QApplication::notify(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x119b
#47  0x7f4e84885158 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-daily/lib/libFreeCADGui.so+0x88
#48  0x7f4e82879a92 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x182
#49  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1bf63a) [0x7f4e832d363a]
#50  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1c1ed4) [0x7f4e832d5ed4]
#51  0x7f4e83275c32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x82
#52  0x7f4e8327f190 in QApplication::notify(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x330
#53  0x7f4e84885158 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-daily/lib/libFreeCADGui.so+0x88
#54  0x7f4e82879a92 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x182
#55  0x7f4e82c59a33 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x6c3
#56  0x7f4e82c5b28b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x24b
#57  0x7f4e82c35eeb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0xbb
#58  /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5(+0x71d0a) [0x7f4e7c979d0a]
#59  /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f4e8075dead]
#60  /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x50130) [0x7f4e8075e130]
#61  /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2f) [0x7f4e8075e1bf]
#62  0x7f4e828cf7f1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x61
#63  0x7f4e8287871b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x12b
#64  0x7f4e828801c2 in QCoreApplication::exec() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x92
#65  0x7f4e848013c0 in Gui::Application::runApplication() from /usr/lib/freecad-daily/lib/libFreeCADGui.so+0x17a0
#66  freecad-daily(main+0x6f6) [0x56479be7c7c6]
#67  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f4e82270bbb]
#68  freecad-daily(_start+0x2a) [0x56479be7caca]

Code: Select all

OS: Debian GNU/Linux bullseye/sid (i3/i3)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18671 (Git)
Build type: Release
Branch: master
Hash: 5476ab4b61fed05d37aae3a01ecd2e62d6d54200
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Austria (de_AT)

Code: Select all

ii  libnglib-6.2:amd64 6.2.1905+dfsg1-1 amd64        Automatic 3d tetrahedral mesh generator shared library
ii  netgen             6.2.1905+dfsg1-1 amd64        Automatic 3d tetrahedral mesh generator
ii  python3-netgen     6.2.1905+dfsg1-1 amd64        Automatic 3d tetrahedral mesh generator Python 3 bindings
Post Reply