I am using Rhino Education together with Pachyderm version 2.6.0.23, and I am currently learning how to run acoustic simulations in Rhino and Grasshopper. I assign materials to layers and define absorption and scattering coefficients. For concrete walls and ceilings, I use very low absorption values (around 0.01–0.02), since these are realistic. The test room is about 25 m², and I modeled all walls and surfaces (including windows and doors) as zero-thickness geometry.
For the simulation, I usually set 500–1000 rays, a cut-off time of 1000 ms, and reflection order of 1. However, when I run it, I get the warning: “Absorption is too low and the simulation might take a very long time.”If I continue, the simulation either runs for several hours (around 3 hours) or frequently causes Rhino/Grasshopper to crash. The only way I can complete the run is by increasing all absorption values to around 0.15–0.20 for every material and frequency, which is not realistic.
Could you please let me know why this happens and how I can run the simulation with realistic absorption values? Is it normal for a case of this scale to take around three hours, and is it expected that the program crashes so often, or does this indicate an issue with my modeling or settings?
Your concrete absorption coefficients are realistic only if the concrete is completely smooth and non-porous (maybe polished and/or painted), and very heavy. If not, then there will be SOME absorption.
Indeed concrete masonry units unfinished will have around 20% absorption. If this is what you are working with, then putting more absorption into it is reasonable.
However, if you are dealing with such hard, smooth, heavy materials, you will have to wait, and it is likely you may have reverberation times several seconds long. Pachyderm’s GA methods are a ray splitting ray-tracer, and it very dutifully tries to find all the paths that contribute. Have you seen how many sub-rays it does at the end of your sims? It is likely in the millions or billions. Each of those is a unique path dozens or hundreds of reflections long.
Regarding crashes - do you mean hangs? If the program crashes, it completely disappears. If it just hangs, but you can still see the interface, then it is still running, and you just need to wait for it to finish. If you are running out of RAM, there is a bug that will affect some users, that I am almost ready to push the fix out for. it will be fixed in 2.6.0.24.
Thank you for the detailed explanation, I will apply your suggestions.
Regarding the problem: in my case, the program sometimes completely closes down (not just hangs). It even occasionally crashes right after showing “Calculation has been completed”. This only started happening recently, at the beginning I didn’t have this problem.
Other than that, there are also cases where it just hangs: the screen shows “not responding” and stays like that for about half an hour or more. After waiting this long, if nothing changes I usually close it myself. Should I keep waiting in such cases, or does this mean something is wrong? I am looking forward to the 2.6.0.24 update and the fix you mentioned.
Hanging with “not responding” is not an issue. You should click “Wait for the program to respond”. After that, if you check the task manager, and Rhino is taking up processing power, you can assume that Pachyderm is still working. You should wait.
I’m guessing that you are working in Grasshopper. Have you tried running Pachyderm using the Rhino interface? It helps to understand how it is supposed to work before you try in Grasshopper, where we can’t have the luxury of user feedback…