karamba is an interactive structural analysis program at the interface between architecture, design and engineering. It closes the gap between parametric design and statical assessment.
If you would like to test karamba download it from
http://www.karamba3d.com/downloads/
or
http://www.food4rhino.com/project/karamba
Please follow this link and fill out the contact-form to be informed about developments, updates and news.
David Shook
http://twl.uni-ak.ac.at/karamba/index.php?section=download
Mar 13, 2011
Sebastien Perrault
what's happening with Karamba 9.01 ?
with GH 8.7, 8.6 : red bloody boxes
with GH 8.4, 8.3 : error "fem.karambaPINVOKE"
??
Mar 16, 2011
Robert Vier
for fixing the error 'rem.karambaPINVOKE' i think you got to
turn on 'memory load *.GHA assemblies using COFF arrays' after typing command 'grasshopperdevelopersettings' while GH is running.
I guess the red bloody boxes are caused by a changed way of managing the canvas in the new versions of GH, I assume this will be fixed in the new karamba version.
Mar 16, 2011
Sebastien Perrault
Robert,
I've installed Rhino SR9 and it works well with this configuration : GH 8.004 & Karamba 0.9.01.
thanks.
Mar 17, 2011
David Shook
Mar 18, 2011
Manuel
Hi, i tried the new version 0.9.04 with grasshopper 0.8.0007, rhino4 sr8 and win7 x64, but im getting the 'rem.karambaPINVOKE' error in the analize component. I turn on the memory load in grasshopperdevelopersettings but doesnt work either.
please help, tomorrrow i want to show this to my students.
Thanks for your plugin.
Apr 5, 2011
Alessandro Liuti
Hi, I have the same problem of many other users with karamba 0.9.04: GH 0.8.0007 + Rhino4 sr9 + Windows 7 64 bit -> error "fem.karambaPINVOKE".
I tried to fix it also by running "memory load *.GHA", but the error still persists.
waiting for a kind reply, thanks for the plugin.
Apr 8, 2011
Robert Vier
On Windows 7 64, Rhino4 SR8 it all works perfectly fine for me. Might be caused by the new Service release, think I'll try to reproduce this.
Maybe try installing different versions of .NET Framework (new version of GH uses 3.5 I think, but there also are 2.0, 4.0 ..)
Good Luck
Apr 8, 2011
David Shook
I have Windows 7 (64-bit), Rhino 4 SR9, GH 0.8.0007, Karamba 0.9.04 and have the same problem stated below by Alessandro. It appears that the latest version of Karamba does not work with the current service pack of Rhino. Grasshopper screen turns red as it did before.
This is a great plug-in and I hope Karamba can make a new version for this problem.
Apr 10, 2011
Alessandro Liuti
Apr 11, 2011
Carlor
Wonderfull tool !
I'm trying to analyse a truss though:
If I adjust the boolean to False for "Beam Bending". The model doesn't analyze anymore. What am I doing wrong here ?
And is there a way to get the stresses or strains (values) in the beams or truss members ?
Thanks in advance !
May 1, 2011
Karamba3D
Hi Carlo,
Your structure is probably kinematic. A truss element has only axial stiffness. A node in a truss structure therefore needs to be connected to at least three truss elements that do not lie in a common plane in order to be stable. See also section 4.8.1 "Bending stiffness" in the Karamba manual. You can check your structure for moveable parts by calculating its eigenforms: the first few eigenforms will be the kinematic modes.
Currently there is no direct way for obtaining stress or strain values - you can however compare the length of your truss members before and after deflection and calculate axial strains from that. Beware of the fact that Karamba is based on the assumption of small deflections: rotations entail length-changes which might spoil your calculations.
May 2, 2011
Carlor
Thanks for the reply and information, however it is a 2D truss with the loads in the 2D plane, so normally it should be able to be analyzed as a truss ? When I calculate the eigenmodes they don't show up or don't exist, so i quess it is stable. Should I draw a 3D stable structure ?
Another question: Is there a possibility to add an initial strain on a member to simulate a pneumatic cilinder as a truss member ?
May 2, 2011
Karamba3D
In Karamba all calculations are 3D. If you want to calculate a 2D truss you have to support all nodes at least against out of plane movements. The eigenmodes must exist: calculate the first ten or so and make sure that you set the displacement scale in the model view to a sufficiently high value.
There will be the possibility of prestressing the elements in future releases of Karamba. In the meantime try to apply pairs of axially directed forces at the endpoints of elements you want to lengthen or shorten.
If you want to simulate the effects of large displacements with Karamba you have to apply the external forces in steps: load the initial geometry with a small fraction of the eventual forces, take the thus deformed structure as the basis for another step etc.
May 2, 2011
David Shook
Ok. Some success on getting the latest Karamba and GH running. I have below.
Windows 7 (64-bit)
Rhino 4.0 SR9
GH 0.8.0010 (latest)
Karamba 0.9.05 (latest)
The key was to uninstall all GH and Karamba versions AND remove all relevant files from the below location: C:\Users\david.shook\AppData\Roaming\Grasshopper
Removing all files from the above location made the difference.
Karamba: Please make some note of removing files from the above location on your website. I think this is causing problems for Windows 7 users.
May 23, 2011
Jon Mirtschin
Doesn't work for me, I still get a
"Solution Exception, The type initializer for 'fem.karambaPINVOKE' threw an exception." in the analyze model component.
I have same software versions as you've listed.
May 23, 2011
Karamba3D
Thank you very much David. We will add a note on our website and check the settings of the karamba-installer.
Jon: Maybe the 'karamba.dll' library can not be overwritten on some systems when a new version of karamba gets installed. This file is located in ''...\Rhinoceros 4.0\Plug-ins\Grasshopper". Try to remove it by hand and then run the installer.
May 24, 2011
Jon Mirtschin
Ok, thanks, I hadn't seen that the installer placed those dll's in that folder.
I typically have COFF loading unticked for my own plugins, if I relocate your gha file into the same folder as the dll's then it runs for me. Is there a particular reason why you locate them in different folders?
Thanks, Jon
May 24, 2011
Karamba3D
There is no particular reason. I just thought that all the gha-files have to be in the 'Components'-folder of Grasshopper. Thank you for that tip!
Best,
Clemens
May 24, 2011
Karamba3D
karamba 0.9.06 is out.
These are some of its new features:
- bi-directional evolutionary structural optimization (BESO)
- axial force and resultant moment per element
- bending- and axial deformation energy per element
- nodal displacements: translations and rotations
Jun 7, 2011
David Shook
Jun 9, 2011
Steven
Hi there, I have been doing some structural optimisations using the Force Flow Finder component and I have a few questions about the results and the input parameters. A video of the optimisation I am working on can be found here:
https://vimeo.com/41407740
The script seems to generate very asymmetric results, which is unusual because the load is in the centre, and the supports are at the corners. After about 60 iterations it just keeps adding and removing the same member, but is clearly not at the most optimal solution.
I imagine it might be possible to tweak these results using the "Overdrive", "MinDist" and "WLimit" input parameters, but it is hard to understand exactly what these do and how they can be used to improve results. Could someone explain those to me?
Setting the tension input to 0 still yields members that are purely in tension, which also seems odd to me...
Thank you for your help!
Steven
May 2, 2012
Robert Vier
Hello Steven!
Firstly, problem solving in general -be it with galapagos or our FFF-component - can be greatly eased by dividing a problem to sub-problems, e.g. using symmetries. If you divided you structure to four quarters, modeling just one of them with Rx,Ry,Rz and local-axe-Tx support conditions on the element-ends in the section planes (simulating the cut pieces of the structure), inherent symmetry is imposed. This also greatly increases performance with large structures.
Due to numeric inaccuracies, bot more due to the iterative incremental approach of FFF (where the number of elements to remove and elements to add in one iteration probably are not dividable by four in every iteration), symmetry is not always obtained. Either by splitting the model like described, or setting the parameters cleverly, you can avoid this.
Second, the karamba-manual http://www.food4rhino.com/project/karamba explaines the basic functionality of FFF-component and the meaning of the inputs.
The fact that it keeps working on the same element from approx. half of the process to the end in your example is explained as following: The 'Iter' -input specifies the number of iterations in which the structure is reduced to the specified 'Target'-mass-ratio, in your case 50. The remaining difference between 'MaxIter' and 'Iter', in your case 50, is used to 'smooth' the result by removing x elements (depending on 'Overdrive'-setting) and adding x elements again. The number of this smooting steps often can be reduced.
Your issue maybe also can be solved by increasing 'MinDist', which means that in one iteration only elements with a minimum distance of 'MinDist' between each other are processed.
'WLimit' specifies another 'smoothing'-value, which is a threshold-percentage of the average element weights. Elements weighted below this threshold will be removed.
Regarding the weights: In every step, each element is weighted by its average section forces:
W = SumOverAllSectionForces (Factor * AverageSectionForce)
The fact that tension elements remain with Tension-Factor set to zero probably is caused by specific structural situations where the element is e.g. much more needed for moments or shear and therefore remains in the system, though.
Hope I could help,
Best
Robert
May 2, 2012
Robert Vier
Sorry Steven,
I didn't see you just set the 'WCompression' value different from zero. This indeed is kind of strange.
You can also set the weights to negative values, which means this section forces are 'even more avoided'.
Since I haven't written this latest version of FFF myself, I have to wait for my colleague to com e back next week for detailed discussion. But as soon as I have time I'll try to investigate the cause of this.
Best
May 2, 2012
Steven
Robert, thank you for your quick reply to my questions!
I started playing with the MinDist option and was getting quite confused by the results. I then realised that even with the same settings, the FFF can produce different results each time it is run. See images below, these were created with the same parameters, I just clicked on "recompute". I would have thought that if left iterating long enough, it would eventually converge on the same optimal solution every time. Regarding the symmetry, I would imagine that even taking away 3 elements at a time, given that it can add elements back in at any stage, it should still arrive at a stable, symmetrical solution...
It would be fantastic if you could discuss these issues with your colleagues next week and keep me posted!
I have also read the FFF section of the manual. It is a little hard to understand exactly what each of the inputs means. Would it be possible to illustrate them with a numerical example? eg "a truss with 100 members, and overdrive set to 1.4 will take away x members each iteration... etc etc"
Thanks for you help,
Steven
May 2, 2012
Steven
May 2, 2012
Steven
May 2, 2012
Robert Vier
Hey Steven,
could you post your definition to have a closer look at it?
Thank you
May 14, 2012
Kane Borg
Hi there, I am trying out some basic applications of Karamba and i came across this problem;
In what way I can utilize the information obtained from the Legend (such as Utilization of section) in decimal format instead of Percentage, so as to be able to utilize the info to continue my parametric definition or for iteration. Is there a way or can it just be edited through the tool?
Thank you
Jun 13, 2012
Karamba3D
Hi Kane,
you can adapt the number format of the Legend by changing the corresponding entry ('legend_utilization_number_fmt') in the 'karamba.ini'-file. This file is situated in the folder '..\Grasshopper\Karamba'.
Best,
Clemens
Jun 14, 2012
Steven
Hi, sorry about my late reply, I am having more problems with the results from Karamba. It is similar to the previous issues, so I thought I'd post here.
I have a simply, symmetrical tower, which I am analysing to find the axial forces. I am then applying a pipe with varying radius based on the axial force in each member. However, the results do not seem correct. At the top there are 12 members in total, which have forces directed into them. At the base, there are 12 members attached to supports. Despite this symmetry, the members at the top have axial forces of about -12.6 and the members at the bottom have only about -4. I notice also, that changing the direction of the lines in Rhino affects the result, which is strange. See attached images.

Jul 11, 2012
Karamba3D
My first guess would be that you applied the beam loads in local beam direction. Did you check in which direction the load symbols point?
Best,
Clemens
Jul 12, 2012
Steven
ok, constraining the top in x+y helps, it was spreading out side-ways. That doesn't completely explain why the axial forces were so high...
Jul 12, 2012
Robert Vier
if you post your definition i could have a quick look at it if you want.
Jul 12, 2012
Robert Vier
i guess you messed up something with the order of the lines that do not correspond to your list of radia. why not remap the normal force in each member and take this number as the radius (which would also be structurally more reasonable)?
avoiding list-mismatches after analysis can easily be avoided by using the 'disassemble model' component to take the list beams or beam-axes from there.
best robert
Jul 12, 2012
djordje
I have been using your 0.9.084 free plugin with no problem, for the last couple of months. But for the last few days, I am getting an error message at "Assemble" component:
Does this mean that your free karamba plugins can not be used anymore?
Thank you.
Oct 11, 2012
Karamba3D
Dear Djordje,
the functionality of Karamba that is free will remain free. There is a time-limit of half a year on the releases to limit the number of different versions and make support easier. You can download the karambaCOLLECTION 0.9.084 from e.g. www.karamba3d.com or food4Rhino if you want to stay with that version.
Best,
Clemens
Oct 11, 2012
djordje
Yes I would like to stay with that version.
I am just not sure I understood you - I simply need to reinstall the current 0.9.084 version, and install again the same version, but downloaded from mentioned sites?
After six months, I need to do the same thing?
Thank you.
Oct 11, 2012
Karamba3D
Yes.
Oct 11, 2012
djordje
I could not find earlier free versions of karamba for download on karamba3d.com other than 1.0.1 FREE. That is why I downloaded it from food4Rhino (the "karambaCOLLECTION 0.9.084" like you said). I installed "karamba_0_9_084_FREE_GH_08_0066_x86.msi" and got the same message as before:
"Error: Solution exception: Your Karamba license is not valid"
Do I need to install "karamba_0_9_084_TRIAL_GH_08_0066_x86.msi" instead?
What is the difference between the FREE and TRIAL one?
Oct 11, 2012
djordje
I have just tried the "karamba_0_9_084_TRIAL_GH_08_0066_x86.msi" version too.
Same thing: "Error: Solution exception: Your Karamba license is not valid", just like on image I posted below.
Any thoughts why is this happening?
Oct 11, 2012
Robert Vier
did you uninstall the old version first?
Oct 11, 2012
djordje
Yes. Four times until now. I tried using regular windows add/remove tools first two times, then I used an Uninstaller 5 application. Still the same result.
Oct 11, 2012
Karamba3D
Dear Djorde, sorry for the inconvenience. There will be an updated karamba 0.9.84-collection available for download on www.karamba3d.com within the next few days. Currently I can not update the Food4Rhino karamba group due to technical problems.
Best, C.
Oct 12, 2012
Vangel Kukov
Hello,
each time I open a Karamba example file I get this error on the Assemble component-
Solution exception: The type initializer for 'fem.carambaPINVOKE' threw an exception.
I can't make my own definitions as well because of it.
How can I fix it? Thanks.
Nov 28, 2012
Karamba3D
Do you use the new Grasshopper version for Rhino5? In that case you need to change the default installation directory when installing Karamba. Did you uninstall any old Karamba before installing the new one? Did you read the related posts?
Best,
Clemens
Nov 28, 2012
Karamba3D
Hi Aste,
when installing Karamba together with GH for Rhino5 you need to change the installation directory to 'C:\Program Files (x86)\Grasshopper for Rhino 5\'. Did you do that?.
Best,
Clemens
Dec 14, 2012
Andrea Trajkovska
Hi I tried everything on this and other threads,
but I'm still getting the PINVOKE error no matter what I do.
I need this for a project really bad and I've already wasted 3 days trying to solve this issue.
PLEASE HELP!
Feb 17, 2013
Andrea Trajkovska
Hi I tried everything on this and other threads,
but I'm still getting the PINVOKE error no matter what I do.
I need this for a project really bad and I've already wasted 3 days trying to solve this issue.
PLEASE HELP!
Feb 17, 2013
djordje
Hi Andrea.
Do you have both Rhino 4 and Rhino 5 installed on your PC?
Check your Karamba version (32bit version of karamba version for 32bit Rhino application, the same goes for 64 bit version) and placement of karamba.dll file. Take a look at these explanations.
Feb 17, 2013