Forum Replies Created
-
AuthorPosts
-
OlumideBlocked
Hi @hugo,
I did not change SofaPhysicsAPI from a library to an executable project. I merely added an option to also compile an executable (from main.cpp) in addition to the library. It was just a test though, I’ll remove it.
I’m not sure that I understand the changes that I’m supposed to make regarding SofaGeneral. I’m going to have to study the project structure of sofa some more.
Regards,
– Olumide
OlumideBlockedMarking as answered.
OlumideBlockedThanks @Guillaume. What threw me was that there is no explicit glew directory, debug or release static libraries or debug shared library — at least not that I could find.
(https://packages.ubuntu.com/bionic/amd64/libglew-dev/filelist)OlumideBlockedThanks @Guillaume. I was also compiling the applications from the command line instead of using the cmake gui to reconfigure and build sofa and its components and applications. That seems to the the recommended way.
Therefore I am now trying to build sofa and components/applications using the cmake gui and I am having lots of problems with glew.
OlumideBlockedHello @SergioPM23,
Unfortunately I cannot be of much help to you as I am a still learning the sofa framework myself but I can’t help but note that you are more likely to get help if you post a small example of what you have tried and did not work and go from there.
Regards,
– Olumide
31 March 2021 at 02:04 in reply to: [Beginner Question] sofa scenes, plugins and 3rd party applications #19024OlumideBlockedStill on the subject of interop with a 3rd party application, what would be the standard/preferred way of running Sofa “headlessly”?
I realize that I am trying to use Sofa as an FEM backend, and I don’t know whether its design will permit this.
30 March 2021 at 16:30 in reply to: [Beginner Question] sofa scenes, plugins and 3rd party applications #19022OlumideBlockedThanks @alexbilger
When you say “most” I take it you mean “some” plugins are written (entirely) in Python. Correct? I’ll search for examples.
Re Sofa scenes in C++: In the absence of an example, my initial guess would be to use sofa::simulation::Node class and follow the pattern in the XML scene files. This might be the preferred option as I am planning to integrate with a 3rd party application that provides a C++ API. Now, whether I run the sofa component as an external process with IPC is a different matter. I’m happy to use CUDA but interoperability with the rendering system is not an option. So I guess its going to be data copies per step, unless anyone has a better idea.
26 March 2021 at 03:18 in reply to: Incremental-Iterative Nonlinear FEA with deformation-dependent loads #18998OlumideBlockedThanks @jnbrunet. Finally, Is Newton-Raphson (NR) the only iterative solver that sofa supports? I can’t see any others e.g. arc length, BFGS, line search etc. Do you know if there any plans to introduce some of these solvers, or is sufficient for soft tissue deformation problems? (Much of the literature on nonlinear incremental-iterative methods that I’ve come across are biased towards structural mechanics and often use the other techniques.)
26 March 2021 at 01:46 in reply to: [SOLVED] Export Graph Button causes runSofa to segfault (SIGSEGV) and crash #18997OlumideBlockedDear @Hugo,
Yes I am running the latest version 20.12.01, on Ununtu 18.04.5 LTS.
The problem appears to be with paths relative to home, specified with tilde e.g.
~/tmp/file.dot
. The QlineEdit filename in /src/modules/SofaGuiQt/src/sofa/gui/qt/GenGraphForm.cpp appears to be empty which raises the unhandled SIGABRT signal.No signal is raised for standard absolute or relative path such as /home/tmp/file.dot. and ../tmp/file.dot. However, in both cases the dot file created is an empty digraph as shown below:
digraph G { }
Regards,
– Olumide
25 March 2021 at 02:37 in reply to: [SOLVED] Export Graph Button causes runSofa to segfault (SIGSEGV) and crash #18979OlumideBlockedUnfortunately the export Graph feature still crashes when exporting the default scene. The dialog opens this time (yay, progress) but runSofa still crashes.
########## SIG 6 - SIGABRT: usually caused by an abort() or assert() ########## -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/libSofaHelper.so.20.12.01(sofa::helper::BackTrace::dump()+0x36) [0x7fcf9379901a] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/libSofaHelper.so.20.12.01(sofa::helper::BackTrace::sig(int)+0xe9) [0x7fcf93799309] -> /lib/x86_64-linux-gnu/libc.so.6(+0x3f040) [0x7fcf92ab3040] -> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7fcf92ab2fb7] -> /lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7fcf92ab4921] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libQt5Core.so.5(_Z13qErrnoWarningPKcz+0) [0x7fcf91e48edb] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libSofaGuiQt.so.20.12.01(sofa::gui::qt::GenGraphForm::doExport()+0x199) [0x7fcf926bbc25] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libQt5Core.so.5(QMetaObject::activate(QObject*, int, int, void**)+0x865) [0x7fcf920853f5] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QAbstractButton::clicked(bool)+0x42) [0x7fcf8c793b62] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(+0x24ad7a) [0x7fcf8c793d7a] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(+0x24c15a) [0x7fcf8c79515a] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QAbstractButton::mouseReleaseEvent(QMouseEvent*)+0xfd) [0x7fcf8c79534d] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QWidget::event(QEvent*)+0x1e8) [0x7fcf8c6ec1a8] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x9c) [0x7fcf8c6abe4c] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QApplication::notify(QObject*, QEvent*)+0x11c8) [0x7fcf8c6b4308] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libQt5Core.so.5(QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x118) [0x7fcf920557f8] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)+0x1df) [0x7fcf8c6b28ff] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(+0x1bdda1) [0x7fcf8c706da1] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(+0x1c0a3a) [0x7fcf8c709a3a] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x9c) [0x7fcf8c6abe4c] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Widgets.so.5(QApplication::notify(QObject*, QEvent*)+0x2f0) [0x7fcf8c6b3430] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libQt5Core.so.5(QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x118) [0x7fcf920557f8] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Gui.so.5(QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)+0x885) [0x7fcf8c07bfc5] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Gui.so.5(QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)+0x135) [0x7fcf8c07d115] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/../lib/libQt5Gui.so.5(QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0xbb) [0x7fcf8c056dbb] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/platforms/../../lib/libQt5XcbQpa.so.5(+0x69a7a) [0x7fcf72d06a7a] -> /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x2e7) [0x7fcf8b3c0537] -> /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4c770) [0x7fcf8b3c0770] -> /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7fcf8b3c07fc] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libQt5Core.so.5(QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x5f) [0x7fcf920b292f] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libQt5Core.so.5(QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x13a) [0x7fcf92053a4a] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libQt5Core.so.5(QCoreApplication::exec()+0x90) [0x7fcf9205cc50] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/../lib/libSofaGuiQt.so.20.12.01(sofa::gui::qt::RealGUI::mainLoop()+0xc7) [0x7fcf926df61d] -> /home/Olumide/Downloads/src/SOFA_v20.12.01/bin/../lib/libSofaGuiCommon.so.20.12.01(sofa::gui::GUIManager::MainLoop(boost::intrusive_ptr<sofa::simulation::Node>, char const*)+0x5f) [0x7fcf955e5623] -> ./runSofa(+0x14cc0) [0x555ded336cc0] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fcf92a95bf7] -> ./runSofa(+0x1577a) [0x555ded33777a]
24 March 2021 at 01:53 in reply to: Incremental-Iterative Nonlinear FEA with deformation-dependent loads #18967OlumideBlockedThanks @jnbrunet. I suppose this means that the problem is much too sophisticated to be modeled with an XML scn file.
BTW, the problem that I hope to solve is characterized by multiple non-boundary loads, i.e. acting on nodal points in the interior of the body. I’ve only encountered boundary forces in literature but I assume multiple non-boundary loads will not require special treatment.
OlumideBlockedHi @Hugo,
I have read through the Components section of the online documentation, and more recently SofaComponents, thanks.
I am thinking about how the documentation of the three animation loops can be expanded to show all components visitable, in order to illustrate the dependency and flow of data between components. If I find it useful I will share it with everyone. However, at the moment I am studying nonlinear finite element analysis. (Sadly, the problem that I hope to solve is multiple sources of nonlinearity; nonlinear materials, large deformation and, to make matters worse, ill-posed.)
I would love to join your dev meetings. Unfortunately the time clashes with my day job. Nevertheless I hope to join a session some day.
Regards,
– Olumide
OlumideBlockedHello @Hugo,
Thanks for your reply. I’ve been waiting for you to return from holiday 😉
I understand why sofa is designed the way it is. The goal is to avoid coupling components. (Therefore, sofa core calls the components, not the other way round.)
I would like to help with the documentation of sofa and am willing to collaborate with someone in order to do so. (It’s time I gave something back to an open source project.) As I said, IMO two possible contributions that would make the most impact to users right now are:
1. A detailed list and description of the various components, including the full list of parameters supported by each component, and any dependencies (aka other components) that the current components may have, and the circumstances in which those dependencies may be required. The list can be XML-centric but would be equally valid for Python and C++ APIs.
2. Using the information outlined above, it should be possible to write an XML schema that will check a sofa scene file for possible “issues”. My understanding is that the animation loop determines the visitors that will be activated and therefore the possible components that sofa will look for. Graphically, one can even show placeholders for the various components that the current animation loop will attempt to “look up”. Such a feature could provide a hint to users on what might be missing for their scenes. But this is an entirely different project.
I’ll send you a direct email.
Regards,
– Olumide
11 January 2021 at 20:37 in reply to: [SOLVED] Export Graph Button causes runSofa to segfault (SIGSEGV) and crash #18189OlumideBlockedHello Hugo,
Thanks for your reply. I too am not sure what the option does but I was hoping it would show how data flows within sofa and how the various visitors trigger each other, but maybe that’s too much to ask 😉
Regards,
– Olumide
OlumideBlocked19 December 2020 at 02:51 in reply to: [SOLVED] How much (Continuum Mechanics and FEA) theory needed to work with Sofa #18069 -
AuthorPosts