I am interested in doing a crash test on a motorcycle using my own optimization code. I typically use engineering software such as ANSYS do perform CAE. I would like to know if Blender is equipped well to take in custom python code for accurate simulation of crash test at the industrial level?

The following is the paper I want to use to optimize geometry and the perform crash test in Blender.



Your question is a bit too broad. Whether Blender will support your needs depends on many things, including what you mean by "equipped well", "accurate simulation", and "at the industrial level". It's certainly seen use in a wide variety of industrial applications.

Blender will give you an extremely flexible interactive 3D environment to display and examine results, and many other useful features, all fully controllable using Python. As a starting point, you may want to familiarise yourself with the mesh data sections of the Python API to see if it will give you what you want. https://docs.blender.org/api/current/index.html

Beyond that, Blender doesn't necessarily have the sort of physics solver functions you may be accustomed to from other software. Your code, whatever it is, might need to do more of the the physics 'heavy lifting' by itself, than perhaps you would have to do in a more dedicated scientific computing application.

Still, plenty of people have done FEA-type work and presentations using Blender before. Many of those have utilised/included numpy for calculations. There are Blender Conference talks from past years available on youtube - for example, on rendering supernovae, medical implant design with FEA testing stress/material forces, and others such as flood prevention design using Blender's built-in fluid sim, which in that case was adequate for their needs.

Blender's built in physics (eg rigid/soft body) solvers are primarily designed for graphics / speed-priority applications. So in terms of your crash test, you might determine that you'd need to solve the physics yourself. Again, this completely depends on what you mean when you say 'accurate simulation', and how critical scientifically accurate physics sim is to your project.

(edit: further response to follow-on comment):

Addressing what I meant about 'accuracy':

The various 'scientific'/engineering specific software, with serious academic/industrial applications, very much focus on real-world accurate integrators which minimize error (for example). This is one strong reason for using those sorts of programs. Blender may not be that. Its integration methods might destabilize or constraints might blow up, as they're designed for speed (graphics/animation application) rather than low-error 'reality-proof' solving. I don't know this for sure as I've not read that much of the source code. I would say that, to make your decision on how usable it is, you may need to check that yourself (if it is a concern).

But Blender will let you do that sort of computing within it, if you treat Blender as your 'display tool'. You can attach custom fields and enrich the mesh data any way you like from Python - so attaching all the metallurgic parameters is pretty simple, and that can then be linked to shaders. Where exactly the division point between your simulation and Blender's provided functionality ends up being will just depend on how much your program itself needs to worry about. I would suggest you may need to do some 'toy example' proof-of-concept tests first, to find out if Blender will do what you need, to avoid finding unforeseen limitations later. Of course a major benefit is the open source code and documentation, meaning you can debug/directly check what Blender is doing under the hood, should you need to.

| improve this answer | |
  • $\begingroup$ This is great insight. By industrial standard i meant engineering way,such as first specifying property of the material in mesh such as yield / tensile strength, fracture strain etc. By accuracy I meant in an abstract way as to properly define accuracy I will have to conform to some standard, so lets say if someone had done comparatively deformation using Blender simulation and industrial level software package such as Ansys, LS-Dyna, Abaqus etc. $\endgroup$ – GENIVI-LEARNER Aug 25 '19 at 0:05
  • $\begingroup$ Ok, this clarifies a lot. So the notion I got is that if i code the required accurate solver, my own mesh subdivision method, my own scalar field, add accurate optimizer and dont rely on Blender supplied physics engine and essentially use Blender as a mere display tool then it might be possible. Well thats a good head-start then. $\endgroup$ – GENIVI-LEARNER Aug 25 '19 at 9:33
  • $\begingroup$ Also don't take my word for anything. While fact checking for this, I also came across some discussions which may be relevant to your research into this too. There's a blender dev talk link discussing volume mesh support that leads into it (and it also links to an addon by user tkeskita on github for doing unstructured grids in blender and using OpenFOAM). The devtalk link is devtalk.blender.org/t/blender-extension-for-volume-meshes/5335 $\endgroup$ – acro Aug 25 '19 at 12:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.