0

Good afternoon,

I'm working on a personal project to develop a Finite Element package tool for composite laminate materials. I would like to know which open source options are out there to do pre-processing and large sparce matrix assembling for FEM.

Thanks, Massimo

mbrivio
  • 39
  • 7
  • What operation exactly do you want to do? Can you please describe? please describe what do you mean by pre-processing sparse matrix. – epsi1on Nov 24 '20 at 10:28
  • 1
    Matrix assembly is not pre-processing. I would call mesh and model generation pre-processing. Generating contour plots is post-processing. – duffymo Dec 02 '20 at 15:06
  • Exactly @duffymo, mesh and model generation is what i intend for preprocessing. Also obtaining the correct elemental stiffness for a given element type (in my case it's going to be a multi-layer kirkhoff-love plate element). Then i would need to assemble these elemental matrixes in a big stiffness matrix for the problem. My question ir rather general, are there open source implementations for these two tasks? – mbrivio Dec 03 '20 at 14:32
  • @epsi1on not 'pre-processing sparse matrix' but pre-processing (mesh and elemental stiffnesses) and sparse matrix assembly (from elemental stiffnesses). Are there tools for these two tasks? I know smesh (for pre-processing) which is also used in open source FEM salome-meca. But i'm wondering which other options are out there. – mbrivio Dec 03 '20 at 14:36
  • Obtaining element stiffness matricies and assembling them into the global matrix is processing. Yes, there are open source FEA decks. Do a Google search to find one if you aren't willing to write it yourself: http://sfepy.org/doc-devel/index.html – duffymo Dec 03 '20 at 17:39
  • @mbrivio you need opensource package and wanted to implement your own element on top of that framework? Your element is linear or nonlinear? What programming languages are you familiar with? – epsi1on Dec 04 '20 at 06:24
  • @epsi1on I'm familiar with Fortran and Python. Yes exactly basically i want to create a tool for composite materials, trying not to reinvent the wheel, thats why i want to have a look to what is out there in the open source world. I can glue already implemented tools and develop new functionalities which i would like to have. My elements are linear. – mbrivio Dec 04 '20 at 16:28

1 Answers1

1

As far as i understand you need a linear FEM framework for solids and structures written in Python or Fortran. And then you should add a part to the pre-processor part of the code, that gets each element's stiffness matrix, and probably do some edits in post process part, but no need to do add feature to the main process. You need to extend the library instead of making a new one. I'm not familiar enough with python and Fortran, but for example there is a FEM software named OpenSees, which is written in cpp. In its documentation there is a part specifically for adding or implementing new elements into the framework with cpp:

https://opensees.berkeley.edu/wiki/index.php/Add_a_New_Element_C%2B%2B

Or even with Fortran:

https://opensees.berkeley.edu/wiki/index.php/Add_a_New_Element_Fortran

You need to be a little familiar with internal architecture of the framework. Probably other libraries are same, just use google to find how to add element to them, I used this query in google search:

"How to add new element in OpenSees"

epsi1on
  • 561
  • 5
  • 16
  • Thanks for this answer. Yes this is a nice option. Since i'm still in a conceptual phase my question was broad. I didn't know OpenSees an i'll try to have a look now. Thabks for the help :) – mbrivio Dec 06 '20 at 10:03