generative modeling for Rhino
I was planning in using Karamba with large models (10000+ bars, nonlinear and 20+ loadcases) and I was wondering if anyone has ever performed performance tests (e.g. solving time)
indeed we are running performance tests here, but in general solving speed always depends on more factors.
1) Hardware: Karamba is capable of multi-threading (opposed to grasshopper), so something like an i7 with four cores would serve best. i am running 4x3.4 here. you should see 100% cpu utilization when solving.
2) model specifics: topology (= how many elements coming together in one joint), joint and support freedom, which both define the number of degrees of freedom of the model. the more DOF, the larger the stiffness-matrix to invert , the longer computation time. truss-bars are a LOT faster than beam elements.
3) loads and load cases: in general the more load cases, the longer the solving time. the more load vectors on single nodes (which it all comes down to), the longer too. but loads dont affect the computation time too much, especially since once the stiffness matrix has been inverted, most load cases can be applied to it i think.
eigenmodes take a LOT longer to compute than normal analysis, in certain karamba releases the automatic calculation of the first eigenmode (for debugging your geometry) was turned on inside the analysis module when something was wrong with the actual calculation to debug. this could turn out to be pretty annoying with big models so now it's turned off again.
with 'nonlinear', do you mean the large deformations iterative approximation component of karamba?
an average model with 10000 beams and three load cases takes ~400ms here, so take this times 20 for some non-linear iterations and you are there, roughly.