Structural Modelling of Tensegrity Structures

My colleague made a simulation of a simple tensegrity structure with Code_Aster and I thought it would be cool to share it here.

Analysis specifics: Dynamic analysis with geometric nonlinearity | Cable (tension only) elements for cables | Solid elements for the rest

https://www.linkedin.com/posts/lorenzo-riparbelli_simulation-opensource-codeabraster-activity-6663832275467157505-wERE

Sorry, can't post a video here so I am providing a link for the post in LinkedIn

paullee
«1

Comments

  • It would be cool if someone develops a FreeCAD addon for wood structure analysis using Code_Aster.

  • @bitacovir how did you post the video?

    1. Code_Aster uses which kinds of solvers?
    2. Does ParaView use new (advanced) OpenGL (or other advanced approaches)? Or still is based on VTK?
    paullee
    1. Code_Aster is the solver (implicit)
    2. I think it's always VTK


    ReD_CoDE
  • I found my answer: "Code_Aster is a solver, based on the theory of the mechanics of the continuous media, which uses the method of the finite elements to solve different types of mechanical, thermal, acoustic, seismic, etc. problems. It is a general software for simulation in mechanics and calculation of structures."

    Jesusbill
  • It would be cool if someone develops a FreeCAD addon for wood structure analysis using Code_Aster.

    If ifc-to-code_aster goes well it would be easier I believe. Unless you're talking about 3D solid modelling.

  • There're some groups work on IFC to Modelica (and it's done in MEP field) so do you think these movements, especially from big companies like Dassault Systèmes, don't effect on the destiny of some movements like Code_Aster and IFC2CA?

  • I don't think what is done in Modelica can replace the finite element method but I am not well aware of it to be honest, I took a look a while ago but I did not see anything directly applicable to the analysis of let's say a structure.

    Let's not forget that the "big gun" of Dassault Systems in this field is Abaqus (maybe now they call it Simulia) a finite element solver for that matter. Same goes for ANSYS and other top-notch simulation tools for mechanical and structural engineering.

    Code_Aster has a (quasi) ensured future because it is developed and supported by a multi-national corporation, which needs it to perform a number of strategic operations in its business, while it is not a vendor in this field and it does not rely on it to make money. So I do not see any danger in its future. And they are always working to develop new elements and new features according to the advancements in the related research area.

    Regarding IFC2CA I see it as a two-fold procedure. 1) export ifc to json in a schema that makes sense to me, 2) automate the analysis with code_aster with scripts based on this schema. If the json schema is agnostik of ifc to code_aster one could apply it in other cases of the structural analysis domain. But this (create a completely agnostik schema) is easier to say than do...

    ReD_CoDE
  • Maybe I'm wrong, but as far as I know Dassault Systems bout a simulation company (tool) to build Simulia, and as far as I know they mainly have focused on Modelica which has mathematical solvers

    Modelica is a co-simulation (parallel simulation) approach, and is going to become a "Ciber-Physical Systems (CPS)" standard/platform

    https://www.modelica.org

    However, it's your choice and I appreciate it

  • *bought

  • Yes they bought Abaqus. For buildings, modelica looks like more focused on the building energy aspect (https://github.com/modelica-3rdparty/Buildings). I don't see it directly related to structural engineering but maybe I am wrong.

  • In the built environment industry it seems that nobody yet focused on Modelica other than energy industry, organizations like ASHRAE (and Prof. Michael Wetter leads this movement)

    But in aerospace and automotive it seems that there're a lot of companies have focused on structural engineering side, I think (I'm not sure)

    For years, many, including me, have worked to integrate GIS+BIM, so today the main focus is BIM+PLM side, and I think "Modelica" is part of the answer

    Jesusbill
  • @Jesusbill very cool video! I wonder if it is possible to make an IFC model and then re-create that simulation? What would be required?

  • Thanks!

    If you mean with Code_Aster you would need a very advanced IFC2CA that handles 3D solid geometry (so not structural analysis domain that includes only edges and faces) and nonlinear analysis settings.

    If you mean In general you could create the 3D model in IFC and import it in a structural simulation software that supports geometric nonlinearity.

    Other possible workflows once you have an IFC model could be import to FreeCAD (there is finite element analysis with calculix but I doubt you can do nonlinear dynamic analysis) and from there to Salome_Meca and Code_Aster

  • @Moult said:
    @Jesusbill very cool video! I wonder if it is possible to make an IFC model and then re-create that simulation? What would be required?

    @Moult Maybe we could do some kind of hack to do this. The idea would be to consider strictly two types of elements for tensegrity structures. The 3D solid body and the cables. I am thinking maybe only swept solids for the body which will be pretty easy to read and recreate in salome geometry and mesh builder. And cables, which could also be swept solids although in the structural model they will be considered as edges. This could be all defined in the model-body representation context of IFC with two materials possibly, body and cable, so outside the structural analysis model. Essentially we would also need some area geometry(ies) that would be the support (base) of the structure. And we could then have a simple template file for the code_aster input with only these two types of elements (body and cable) with predefined group/reference names. Essentially this could be a static file I think.

    We could give it a shot, I could send you a cad file of the geometry + some general info (materials, cable diameter) and you could create an IFC file. What do you think?

  • Sure let's give it a shot! If you need non-mesh geometry (e.g. pure edges / wireframe) that can also be produced.

  • Here is a dxf file of the geometry.

    If you need non-mesh geometry (e.g. pure edges / wireframe) that can also be produced.

    Cables can be only edges, the body will be nice to have it in 3D in the structural model and for that I would need to define a shape (polyline) and an extrusion vector. For material properties we will need youngModulus, poissonRation and massDensity for two materials (body and cable). If you can create them I will modify the properties later.

  • I have various workflows for structural design, but typically I end up with a Blender model and custom converters for one or other analysis package (STAAD, Superstress or Advanced Design). Am I right to think that I could tag the model with materials and fixity using IFC attributes in Blender and then run analysis in code_aster? or is there a code_aster tool that is better suited to this (I'm used to pointy-clicky commercial analysis packages)? Obviously I need to work with wind/snow/seismic/thermal loads and combinations etc... but I can probably script these if necessary.



    JesusbillMoultReD_CoDEbitacovirkrandepaulleecarlopav
  • Wow this is a fantastic structure @brunopostle and you have my full respect for having designed this!!

    Am I right to think that I could tag the model with materials and fixity using IFC attributes in Blender and then run analysis in code_aster?

    Unfortunately it is not like this, yet. Still a long way to go from various aspects, such as the implementation of non-standard geometries in ifc-to-code_aster (currently only straight lines and planar surfaces are being considered) and implementation of structural models in blenderBIM (still in early stage)

    or is there a code_aster tool that is better suited to this

    My best bet would be Salome_Meca that is an open-source suite that has modules like: geometry creation, mesh creation, a UI for creating the commands for code_aster and for running it, and paraview for visualization of the results. We are creating a number of video tutorials lately for beginners that could be of help
    The first important part would be to import the geometry (accepted formats are BREP, STEP, IGES, STL, XAO) which can then be meshed directly in Salome_Meca unless you can create the mesh outside and import that instead (accepted formats are UNV, MED, STL, CGNS, SAUL, GMF but MED is the standard one. For this option meshio is an interesting library for conversion to MED). Then you would have to go through the steps manually through the UI.
    Is the model you have a 3D solid one or you have also the shell-equivalent where you define a thickness in the finite element model you show?

  • @Jesusbill thanks!
    These are thin shell structures, so they are modelled as collections of planar elements, they are also developable, so they can be represented entirely as planar quads (if I had a wish, it would be for Blender to respect planar polygons like Sketchup).
    I find the mesh generators in analysis packages to be universally awful, so I mesh by hand and clean it up in Blender before I do anything. With steel structures, everything is ultimately planar or linear elements, so I don't really need to work in solid geometry (which is problematic with Blender anyway).
    I'll Investigate salome_mecha, thanks for the recommendation, identifying where to go next is always half of the problem.

  • @brunopostle if you have Linux it should be more straightforward to install and use Salome_Meca, with Windows things are a bit more complicated as there is an unofficial version, which has small some problems however, otherwise you have to go with a Virtual machine.

    For thin shells like in this structure it would not make sense to model in 3D for the analysis, in any case, as one should mesh also "in-depth" to consider the bending behavior. Since they can be represented with planar quads (or any planar shape for that matter) I would say that also ifc2ca and BlenderBIM would not be that far to consider such a structure, essentially it would be a collection of IfcStructuralSurfaceMembers (the current algorithms won't work though for any non-zero curvature unless simplified in planar triangles).

  • If you have any questions or issues with Salome_Meca or Code_Aster do not hesitate to ask @brunopostle , I will be happy to help.

  • @Jesusbill thanks, I'm downloading the Linux binary and watched a couple of YouTube videos, small steps

  • @brunopostle Awesome! Don't forget to install the prerequisites first with apt-get install

  • @Jesusbill I'm trying the Salome_meca Linux binary. First problem is that the installation scripts are all python2, so on fedora I have to edit 'create_appli.sh' and change all the 'python' references to 'python2' to get it to install.
    Second problem is opengl errors running the salome application, but I can't track this down, my system seems to be otherwise working ok with the default radeon drivers (Blender is fine):

    Searching /Kernel/Session in Naming Service ++++++libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib64/dri)
    libGL error: failed to load driver: radeonsi
    libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib64/dri)
    libGL error: failed to load driver: swrast

    ..and a pop-up window:

    OpenGl_Window::CreateWindow: glXCreateContext failed.

  • @brunopostle arghh yes I forgot to mention ... they have migrated to python3 for the application and have left the installation files with python2 ... no idea why they have done that really. But if you managed to overcome this step and install without errors you should be good.

    Regarding the second error I think you can try this

    4) link libstdc++.so.6 Fedora has a different path
    $ cd ${HOME}/salome_meca/V2019_univ/prerequisites/debianForSalome/lib
    # backup original one
    mv libstdc++.so.6{,.old}
    # link the system library
    $ ln -s /usr/lib64/libstdc++.so.6
    

    You may try first just renaming the libstdc++.so.6 file without linking cause it should try to look for the one in the system. If it does not work try the second step of linking it as well.
    I found this answer in this thread in the forum of Code_Aster, where it says at the last post for Fedora 31 "Also, the renaming of libstdc++.so.6, that you have specified in your post, was necessary on machines with ATI display adapter, and no necessary on a machine with a NVIDIA display adapter, at least on those that I have tried"

    Another thread for Xubuntu 20.04 but with a similar error (libGL error: MESA-LOADER...) cites in the end as a solution the same action proposed above.

    I hope it helps

Sign In or Register to comment.