karamba - parametric structural analysis

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.

 

Load Previous Comments
  • David Shook

    I've had problems with using the current build of Grasshopper (0.8.0007) and current build of Karamba (0.9.01). I have Rhino 4.0 (SR8).  Blocks in grasshopper appear as boxes with red paint coming out.  If there is not a fix does anyone know where we can download the version of Grasshopper specified for Karamba on their website (0.8.0003).

    http://twl.uni-ak.ac.at/karamba/index.php?section=download
  • 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"

    ??

  • 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.

  • Sebastien Perrault

    Robert,

    I've installed Rhino SR9 and it works well with this configuration : GH 8.004 & Karamba 0.9.01.

    thanks.

  • David Shook

    FYI.  I tried Rhino SR9 with Grasshopper 0.8.0007 and Karamba 0.9.01 and received numerous error (screen eventually turned red).  I tired changing the 'memory load' options mentioned below, but no effect.  For now I have gone back to Grasshopper 0.8.0003.
  • 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.

  • 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.

  • 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

  • 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.

  • Alessandro Liuti

    Hi, I need as soon as possible to use a simple finite elements solver, so I found an "escape plan" to make karamba work with Rhino sr 9 and Windows 7 64 bit. The solution is temporary and pretty drastic, but however works: I downgraded Grasshopper from 0.8.0007 to 0.8.0003, installed karamba 0.9.0., and turned 'memory load *.GHA on. I hope this is only a momentary solution, and I hope I've been useful to find a solution to the original problem, somehow.
  • 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 !

     

  • 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.

  • 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 ?

  • 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.

     

  • 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.

  • 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.

  • 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.

     

  • 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

  • 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

     

  • 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

  • David Shook

    There have been many great advancements.  Your work is very exciting.
  • 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

  • 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

  • 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

  • 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

  • Steven

  • Steven

  • Robert Vier

    Hey Steven,

    could you post your definition to have a closer look at it?

    Thank you

  • 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

  • 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

  • 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.

  • 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

  • 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...

  • Robert Vier

    if you post your definition i could have a quick look at it if you want.

  • 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

  • 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:

    Error: Solution exception: Your Karamba license is not valid

    Does this mean that your free karamba plugins can not be used anymore?

    Thank you.

  • 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

  • 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.

  • Karamba3D

    Yes.

  • 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?

  • 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?

  • Robert Vier

    did you uninstall the old version first?

  • 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.

  • 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.

  • 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.

  • 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

  • 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

  • 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!

  • 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!

  • 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.