Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 19 03:45
    dependabot[bot] labeled #137
  • May 19 03:45
    dependabot[bot] labeled #137
  • May 19 03:45
    dependabot[bot] opened #137
  • May 19 03:45

    dependabot[bot] on bundler

    Bump nokogiri from 1.13.4 to 1.… (compare)

  • Apr 25 09:52
    Kevin-Mattheus-Moerman closed #134
  • Apr 25 09:52
    Kevin-Mattheus-Moerman commented #134
  • Apr 21 12:33
    Kevin-Mattheus-Moerman commented #136
  • Apr 21 12:33

    Kevin-Mattheus-Moerman on master

    fix spelling Merge pull request #136 from mo… (compare)

  • Apr 21 12:33
    Kevin-Mattheus-Moerman closed #136
  • Apr 21 00:49
    modenaxe opened #136
  • Apr 20 17:53

    dependabot[bot] on bundler

    (compare)

  • Apr 20 17:53
    dependabot[bot] closed #135
  • Apr 20 17:53
    dependabot[bot] edited #135
  • Apr 20 17:53
    dependabot[bot] commented #135
  • Apr 20 17:52
    dependabot[bot] edited #135
  • Apr 20 17:52

    Kevin-Mattheus-Moerman on master

    Updated ruby gems (compare)

  • Apr 20 17:51

    Kevin-Mattheus-Moerman on master

    Updated Taubin smoothing docume… Merge branch 'master' of github… (compare)

  • Apr 12 23:24
    NataCalc commented #134
  • Apr 12 11:57
    modenaxe commented #134
  • Apr 12 10:09
    dependabot[bot] labeled #135
sroyiitd
@sroyiitd
Hi @Kevin-Mattheus-Moerman I am trying to run one of the demo problems in GIBBON to run FEBio simulation, but facing a an error like the appended one. I tried to change the savepath but it is not working.

rror using fprintf
Invalid file identifier. Use fopen to generate a valid file identifier.

Error in cell2txtfile (line 63)
fprintf(fid,'%s\r\n', T{:});

Error in febioStruct2xml>textModeElementAttributeParse (line 351)
cell2txtfile(fileName,totalTextCell,0,0); %Export to text file

Error in febioStruct2xml>febioStruct2xmlStep (line 208)
[domNode,rootNode]=textModeElementAttributeParse(domNode,rootNode,currentFieldName,attributeStruct,arrayDataSet,numArray,fieldNameSetSub,fileName,arrayParseMethod);

@Kevin-Mattheus-Moerman Could you please help on this?
sroyiitd
@sroyiitd
I was trying to reinstall my GIBBON files, by running installGibbon ...now I am getting an error lke bellow

Error using builddocsearchdb (line 38)
Could not write search database.

Error in addHelpSearch (line 8)
builddocsearchdb(gibbonHelpPath);

Error in createHelpDemoDocumentation (line 75)
addHelpSearch;

Error in installGibbon (line 195)
createHelpDemoDocumentation;

Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
@sroyiitd I think both of the above are file writing permission issues. I've commented on your issue posted on GitHub, lets proceed there with the discussions on this. gibbonCode/GIBBON#89
Tim Gadzella
@JustTwigIt_twitter
Hi everyone, I'm building a multi-body simulation in GIBBON for some future IFEA. I've built the mesh from stl files and the MATLAB pde mesher. For some reason my contacts seem to be inverting and causing negative Jacobians in the first substep of my analysis. I've tried fliplr to invert the normals but no luck - has anyone run into this before? Thanks in advance!
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
Hi @JustTwigIt_twitter welcome. What type of elements do you have? 4-noded tetrahedra? If your elements are E, try E=E(:,[4 3 2 1]); or other permutations. Perhaps the PDE mesher convention differs from FEBio (are you using FEBio?)
For contact the faces need to "point at each other", so perhaps you can plot the normal directions for the contact surfaces and check if they are indeed doing that. Let me know if you are still stuck, if so perhaps create an issue on the github repo and add some more details and info on your model/code.
Tim Gadzella
@JustTwigIt_twitter
@Kevin-Mattheus-Moerman Thanks Dr. Moerman, I am using 4-noded tets but I'm defining tri3 elements in the surface pairs. I've tried flipping the element orders to no avail and when I take a look at the mesh in PreView I think my elements look ok (no obvious inversions). I'm really only using the pdeMesher to do surface recognition on import of my model STLs. I'll post the details on the github repo!
omcgee
@omcgee
Hi everyone, I have just recently started using the Gibbon Toolbox so I hope this question isn't too basic.
I'm trying to go from an STL and create a volume mesh exported as an Abaqus .inp.
I'm able to get the volume mesh and view but I'm having trouble exporting it as an INP file (or STL).
Currently, I'm using Help Export INP and I'm trying to create elementstruct and nodestruct from the mesh output structure that's created using runtetgen but I'm unsure as to where to find the element and nodal indices fields.
Can anyone give me some advice as to where I'm going wrong or a better way to do this? Thanks!
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
@omcgee thanks could you post an issue relating to this on the GitHub repo? Also can you give more details. If I understand it correctly you imported and STL and want to mesh it using TetGen and then export it to an INP file for ABAQUS.
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
FYI the export_INP function only exports the geometry, the Abaqus demos, e.g. DEMO_abaqus_0001_cube_uniaxial show how to code full models (and run them) from MATLAB
For export_INP the indices can just be coded (tetgen doesn't use them) e.g. you create them like E_ind=(1:1:size(E,1))'; and similarly for the nodes.
Does this help? If you need more help let me know
omcgee
@omcgee
Hi Kevin, sorry I was looking to export the indices from tetgen but coding them myself makes sense. Just looking to export the geometry as an .inp for now. Thanks so much for the quick response, if I have any other issues down the line I'll create an issue on the GitHub repo. Thanks again.
Debjit Hore
@DebjitHore

HI @Kevin-Mattheus-Moerman I have recently started out working with FEBio and I have been trying to do some post-processing on a simulation I set up and successfully ran via FEBio Studio, and for this purpose, I am using the Gibbon package on MATLAB.
In order to get the displacement and stress data, I am using the importFEBio_logfile function in Gibbon which makes use of the log file. Now, the second part, that would allow me to successfully attempt what I am trying to achieve is to retrieve the mesh data in the form of a struct in MATLAB. According to my understanding, I can do this from either the .feb file or the .xplt file (am I correct?).

  1. If I can do it from the .xplt file, and access it in MATLAB, how can I do that?
  2. Currently I had been trying to do it through the .FEB file using import_FEB function like so:
    [febXML,nodeStruct,elementCell]=import_FEB(febFileName);
    But the error I keep hitting is as follows:

Dot indexing is not supported for variables of this type.
Error in import_FEB>get_FEB_nodes (line 67)
NODES_FEB_XML = GEO_FEB_XML.item(0).getElementsByTagName('Nodes');

If someone takes time out to look at these issues and help me figure this out it will be a big help, thanks.

PS: There's a DEMO_importFEB_exportINP file included with the Gibbon package and I was trying to replicate how they have read the data in that particular demo. (I can attach the files I was working it if somebody wants to replicate or try this one out)

Debjit Hore
@DebjitHore
Should i raise an issue on the github page instead?
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
@DebjitHore apologies for the delay. Thanks for your question.
I've just fixed the import_FEB function in the latest version. It was not ready yet for the new febio_spec (3.0)
Can you test it again? Also it would be easiest to code the whole model in GIBBON so you always have the entire structure.
Let me know if you have more questions.
Debjit Hore
@DebjitHore
@Kevin-Mattheus-Moerman thanks for the fix. I am yet to try it out, but i will let you know if it resolves my issue.
Debjit Hore
@DebjitHore
The eventual plan is to code the whole model in gibbon, but for the time being i am just trying to get used to gibbon and tinkering around in the meanwhile. Also, while we're at this discussion, i would like to ask something. Is there any provision in gibbon to take into account contact interaction of surfaces, that are not rigid but instead elastomeric, like in soft actuators. I think i saw two contact based demos one of a rolling self contact and the blob shear contact demo file, but in the pneunet actuator demo i didn't see any block of code that looked to me as handling contact interaction? Once again, i am a beginner and my understanding may not be complete, so pardon me if I'm asking something obvious. Thank you for your time.
Debjit Hore
@DebjitHore
The fix works, i can access the meshStruct via the .FEB file. Thanks a lot.
Rehan Bhatia
@rehan-bhatia

Hi @Kevin-Mattheus-Moerman
I was trying to run tetGen on a STL file I imported, but I ran into this error -

Index exceeds the number of array elements (0).

Error in interp1 (line 153)
extrapMask = Xq < X(1) | Xq > X(end);

Error in resampleColormap (line 29)
cmap_i(:,q)=interp1(ind,cmap(:,q),ind_i,'linear');

Error in icolorbar (line 74)
cn=resampleColormap(c,numel(hc.Ticks));

Error in meshView (line 129)
icolorbar;

Error in import_stl (line 80)
meshView(meshOutput,optionStruct);

This file is not so complex, and tetGen was running successfully on more complex geometries. Could you suggest how to fix this error, or what might have caused it?

Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
@rehan-bhatia thanks for reaching out and for testing/using GIBBON. This looks/sounds like the meshing proceeded normally but there is an error in the visualization that follows it. It is resampling a colormap for mesh viewing and it looks like the color data might be empty. You can disable this viewing to try to trouble shoot it. I cannot solve it without having the data/code. If the problem persists I suggest opening an issue on the github repository and perhaps sharing more of the code.
Rehan Bhatia
@rehan-bhatia
@Kevin-Mattheus-Moerman thanks for your reply.
I think the error is in meshing as well, because the meshOutput features, namely elements, nodes, faceBoundary, boundaryMarker etc. are all empty arrays. Should I raise an issue on Github and/or share the code to better explain the issue I am facing?
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
@rehan-bhatia okay. Yes if you can open an issue and share codes that reproduce the error there that would be great.
@rehan-bhatia Note that STL geometry requires merging of vertices prior to meshing but perhaps you know that already. Also check if the interior or region point is actually inside the shape you want to mesh.
Debjit Hore
@DebjitHore
@rehan-bhatia @Kevin-Mattheus-Moerman so I was trying out a few things when I stumbled across this same error and on some light testing with different geometries I think this issue is mostly because you're not specifying internal cavities when setting up the inputStruct to pass to runTetGen (I may be wrong).
Also, incidentally, I couldn't myself figure out how to resolve this, since none of the DEMO files I checked imported geometry with an internal cavity and successfully showed how to define the internal points. So, @Kevin-Mattheus-Moerman any insights into this?
Debjit Hore
@DebjitHore
I actually somehow got it to work by reducing the pointSpacing value
MPeiffer1
@MPeiffer1
Hi @Kevin-Mattheus-Moerman, I have recently started working with Gibbon and FEBio to calculate cartilage stress and contact pressure in the ankle joint during loading. Thanks to the amazing DEMO's, I have already figured out how to extract the stress and displacement data out of the logfile. However, is there any possibility to extract the contact pressure data from FEBio into Matlab? I guess the contact pressure data is only stored in the .xplt file from FEBio? Any help would be most welcome, thanks so much in advance! Greetings from Belgium :-)
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
@MPeiffer1 thanks posting here. If contact pressure is currently only an XPLT output then this sounds like a feature request for FEBio, to add this to the log file outputs.
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
Actually it has been added already!
@MPeiffer1 check the new: DEMO_febio_0006_sphere_indentation it now features contact pressue output and import and visualization
The manual says:
<logfile>
<face_data data="contact pressure" surface="FacetOnFacetSliding1_primary"/>
</logfile>
Which in DEMO_febio_0006_sphere_indentation I code as:
febio_spec.Output.logfile.face_data{1}.ATTR.file=febioLogFileName_contactPressure;
febio_spec.Output.logfile.face_data{1}.ATTR.data='contact pressure';
febio_spec.Output.logfile.face_data{1}.ATTR.surface=surfaceName2;
febio_spec.Output.logfile.face_data{1}.ATTR.delim=',';
@MPeiffer1 let me know if that works for you.
MPeiffer1
@MPeiffer1
Dear @Kevin-Mattheus-Moerman, this works perfectly! Thank you :-)
DesmondP
@Deskunn
Hi @Kevin-Mattheus-Moerman, thank you for your great work on Gibbon, I have used it for a few months. Recently I am trying to use symmetry in my simulation, but the FEBio crashed with an error (tag "bc" (line 74874) : invalid value for attribute "node_set"). However, I don't know what is wrong with my code. The code is a simulation of a quarter of the barrel pump. There is an inner pressure for the inner surface, contact for the surfaces which may contact and constraint for top, bottom and both cross-sections. It works when without being cut to this shape. And If I don't define the constrain for the cross-section this code will also work.
image.png
image.png
Could you please give me some advice on this?
Tim Gadzella
@JustTwigIt_twitter
I'm working on some IFEA problems and would like to use the set_mat_par_FEBIO function to do it because I can build an FEB outside of GIBBON and then use GIBBON to control only the optimization. I have nested viscoelastic/damage materials that use a different structure than what the function assumes. Am I correct in assuming that I can add some of my own logic in the loop for this function to deal with the viscoelastic and damage terms, or is there an easier workaround? Thanks!
Kevin Mattheus Moerman
@Kevin-Mattheus-Moerman
@JustTwigIt_twitter apologies for the delay in getting back to you. Do you still need help?
Tim Gadzella
@JustTwigIt_twitter
@Kevin-Mattheus-Moerman I was able to use the Java functions in MATLAB to write a function that dealt with each nested parameter individually. Thanks though!
UoBThoracicModelGen
@UoBThoracicModelGen
@Kevin-Mattheus-Moerman Hello! I'm working on a project to produce and run FEA on an anatomical model using GIBBON. I'm new to MatLab and GIBBON, and although I've picked up the basics I'm still finding myself stuck. I have an ASCII .STL file that I would like to import into matlab and use GIBBON's geometry tools to produce a model that can be used for FE analysis in FEBio. The aim is to model a spine and so later on I'd need to stack multiple vertebra models ontop of each-other. For now though - I wanted to ask whether you could help me from going from this .stl file to a FEBio compatible geometry (what GIBBON & MatLab functions I need to use/would be useful). I'm sorry if this seems a really obvious/basic question - but I hope someone can help!