david-hahn / FractureRB

Sources for the paper Fast approximations for boundary element based brittle fracture simulation
GNU General Public License v2.0
47 stars 8 forks source link

Errors with examples #3

Closed joel-simon closed 8 years ago

joel-simon commented 8 years ago

Hello again, unfortunately more Ubuntu issues. Both examples are crashing for me.

Taken from the .bat files I have run both verbatim

FractureRB bowl.bullet bowl.csv -o out/bowl -n 500 -i 1e3 -f 5e6 --default-solver

as well as

FractureRB glass.bullet glass.csv -o out/glass -i 1e5 -f 1e7 -s 2

bowl one raises

... % have 1 fragments ... % \ 9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 64: I 1931 F 4.76e+06 (bunny) % 64: I 1931 F 9.717e+05 (Arma1) % ** % fracture simulation for bunny_64 ... 37 time steps % ... initializing BEM solver % ... regularizing Neumann problem % BEM initialized ... 24.0385s % setting new boundary data ... 0.3233s % fracturing (1/37) ... % computing SIFs ... 0.0045s % writing output ... 0.0158s % crack initiation ...terminate called after throwing an instance of 'openvdb::v2_1::IoError' what(): IoError: could not open file vdbmat\grains_cu_oct_nb10.vdb Aborted (core dumped)

This may be a \/ issue? should it be vdbmat/grains?

and the glass one raises

... % sub-stepping ... 0.1434s % total ... 10.1538s (have 1998 elements and 83 cracks) % fracturing (2/10) ... % computing SIFs ... 14.0205s % crack initiation ... % ... ... candidates listed % ... ... seeding done 1.1803s % sub-stepping ...Segmentation fault (core dumped)

These both crash at the same place if re-run.

I am running the version with the bug fixes you pushed this morning. I did not recompile openVDB with the fix but I I saw it causes crashes with stack limits and mine is 1,000,000 so that should be fine.

Thanks again for your help! I look forward to being able to use this. Joel

david-hahn commented 8 years ago

Hi!

For the first one it’s probably because the path to the VDB file is also written in Windows format in the CSV file. Try changing that to “vdb(vdbmat/grainscu...” with “/” (of course you might as well copy the material files into the same folder as the script/binary).

For the second one, I’m not sure at the moment, but I’ve seen some issues with certain versions of OpenVDB and GCC, in particular GCC 4.9. Maybe you can try it on GCC 4.7, which is what I’ve tested with (although by far not as much as I’ve tested on Windows, so I can’t be sure).

I hope this helps.

david-hahn commented 8 years ago

I've built the whole thing (without the lastest bugfix today, so the output is a bit less, but you'll still get the important parts) on Debian x64 g++-4.7.2 (that's the closest to an Ubuntu system I have atm.) and uploaded them here: http://pub.ist.ac.at/~dhahn/FractureRB_Debian_x64.zip Here are the libs (double-precision Bullet) I've linked against: http://pub.ist.ac.at/~dhahn/Libs_Debian_x64.zip

These seem to run fine on my system.

joel-simon commented 8 years ago

Hello David,

thank you for your suggestions and link. For whatever reason I still had issues when compiling with 4.7. Your build worked for me which I really appreciate and likely saved me a lot of time.

I have a few questions:

Thanks again for your time Joel

david-hahn commented 8 years ago

Hi!

I’m working with Maya 2015, so that’s what I’m referring to in the following. I think the relevant parts haven’t changed too much recently, and Blender should have similar capabilities but I don’t have much experience with it. Our simulation outputs a Maya MEL script that loads the fragments all motion-keys for all objects into the scene. I’ve once started to code up Blender compatible output but it is not up-to-date.

My typical workflow is as follows:

Please understand that our implementation is “experimental code” and not very user-friendly at all. If you find ways to improve it please let me know.

About the drop-testing: you could either

As for material parameters, you’d have to try and find some literature on the types of materials you need, here are some things to keep in mind though:

http://www.twi-global.com/technical-knowledge/faqs/structural-integrity-faqs/faq-where-can-i-find-a-database-of-fracture-toughness-values/

Finally, here’s how I load the MEL scripts and execute line-by-line in Maya (just in case Maya crashes when you try to load the results):


import os

import maya.mel

from pymel.core import sceneName

os.chdir(os.path.abspath(os.path.join(sceneName(), os.pardir)))

f = open("_out/myscene_sim.mel")

for line in f:

try:

maya.mel.eval(line)

except:

print "error: ", line

f.close()


Cheers,

David

joel-simon commented 8 years ago

Hey!

Its been a while since I had time to work on this, but I got around to it again yesterday and everything worked well :) Only trick was maya not allowing dynamic mesh bullet objects but once you create it you can then change it. One issue was sometimes the RB_vis scripts messes up numbering like you said, but its only happened once. Thanks again for your help.

If you're interested, I have been using it for a sculpture project. http://www.joelsimon.net/sculpture-drop.html. I hope to try 3d printing things soon.

Cheers, Joel

david-hahn commented 8 years ago

Looks cool!

I’m glad it (mostly) worked.

Cheers!