FEM future development

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
bernd
Posts: 8488
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

FEM future development

Postby bernd » Thu Nov 08, 2018 10:18 pm

I have been asked about my ideas on the future FEM development ... Here is a list of ideas ...

FEM mesh
- make the use of external uptodate SMESH standard way SMESH is used in FreeCAD
- extend Netgen mesh object in FreeCAD, group meshing --> mesh region in Netgen
- create FEM mesh groups by Python
- hexaeder (bick) meshes

Post Processing
- switch to vtk post processing
- make the result object similar to the FemMesh
-- we have a result object and the vtk data and vtk mesh result pipline is a property of the result object just like the SMESH FemMesh is a property of mesh object
- make vtk post processing data available by Python
- make vtk post processing work with 3Dmeshes of 2d analysis's (bug)

1D, 2D, 3D mesh analysis
- it done mostly, but not yet in a way it is usable in most geometries.
- a new objekt is needed to define which geometry should be meshed 2D for the analysis, for example not only a lonely face is 2D, may be a face of a solid should be part of the 2D mesh as well, or a edge of a face should be part of the 1D mesh. We need a new object to define such cases.

XC
- I started to play with XC which is very very useful for structural engineers
- I would like to make it possible to run XC on FreeCAD geometry

Arch-WB
- use Arch structure axes property to make a fem analysis from

Damn I forgot something very important ... join the Py3 party, but I would like to compile it native on debian stretch. :!: :!:

Add another solver to FEM
- harry has started a very promising work on integrating oofem

Unit tests and more examples

totally switch from FEM material task panel to the FreeCAD material editor

read all the great topics from harry about concrete stuff and plastic steel material and try to model similar stuff. That would be really cool since i could really use it at work and I would have a real benefit (or my boss would have ;-)). The problem here is writing Python code makes much more fun and there are some ideas to implement around ...

help whoever comes up and has some great idea for FEM workbench like the oofem implementation

wow the list is long already and for sure there are some more ideas just in background because no one had any problem in this regard for a longer period of time.

cheers bernd

of course all above are ideas. I may not implement any of the above I may implement them all. Who knows ...
Ferentzfever
Posts: 2
Joined: Fri Nov 09, 2018 1:40 am

Re: FEM future development

Postby Ferentzfever » Fri Nov 09, 2018 1:46 am

We (You?) should look Muesli for material models. I'm not a license legal expert, but it's open source and simple.

https://materials.imdea.org/research/si ... ls/muesli/

https://www.sciencedirect.com/science/a ... 7816301430
triplus
Posts: 8802
Joined: Mon Dec 12, 2011 4:45 pm

Re: FEM future development

Postby triplus » Fri Nov 09, 2018 10:42 pm

Ferentzfever wrote:
Fri Nov 09, 2018 1:46 am
Muesli
Well i expected something else. Before clicking on the provided links. Now it makes sense.
User avatar
kkremitzki
Posts: 1796
Joined: Thu Mar 03, 2016 9:52 pm
Location: Texas

Re: FEM future development

Postby kkremitzki » Fri Nov 09, 2018 10:47 pm

Ferentzfever wrote:
Fri Nov 09, 2018 1:46 am
We (You?) should look Muesli for material models. I'm not a license legal expert, but it's open source and simple.

https://materials.imdea.org/research/si ... ls/muesli/

https://www.sciencedirect.com/science/a ... 7816301430
It's quite interesting but a bit unfortunate that it's GPL3. I tried cloning the repo and building but it seems to have several issues.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
Ferentzfever
Posts: 2
Joined: Fri Nov 09, 2018 1:40 am

Re: FEM future development

Postby Ferentzfever » Mon Nov 12, 2018 4:09 pm

kkremitzki wrote:
Fri Nov 09, 2018 10:47 pm
It's quite interesting but a bit unfortunate that it's GPL3.
I've had several conversations in the past with the core developer (I. Romero) and he's suggested he's open to custom licensing for other open-source projects. His primary goal is to see adoption of his library, as he intended it to solve several research problems, including repeatability.
User avatar
kkremitzki
Posts: 1796
Joined: Thu Mar 03, 2016 9:52 pm
Location: Texas

Re: FEM future development

Postby kkremitzki » Mon Nov 12, 2018 7:22 pm

Ferentzfever wrote:
Mon Nov 12, 2018 4:09 pm
kkremitzki wrote:
Fri Nov 09, 2018 10:47 pm
It's quite interesting but a bit unfortunate that it's GPL3.
I've had several conversations in the past with the core developer (I. Romero) and he's suggested he's open to custom licensing for other open-source projects. His primary goal is to see adoption of his library, as he intended it to solve several research problems, including repeatability.
That's great to hear! Either way, it seems like a useful library and I'd like to get it into Debian Science. I had some issues building it though:

Code: Select all

$ cmake ../repo -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
CMake Error at CMakeLists.txt:69 (add_executable):
  Cannot find source file:

    Test/test.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx


CMake Error at CMakeLists.txt:69 (add_executable):
  No SOURCES given to target: test_muesli


CMake Error at CMakeLists.txt:53 (add_library):
  No SOURCES given to target: muesli


-- Build files have been written to: /home/kurt/Desktop/Packages/muesli/srcbuild
The difficulty with the GPL3 license is that as far as I understand it, linking to muesli in FreeCAD would make FreeCAD GPL3 as well. If muesli produced an executable binary, like, say, OpenFOAM, we could use that as an interface to its features without the license issue; another possibility would be to relicense it like you said, to, e.g. LGPL-2.1.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
triplus
Posts: 8802
Joined: Mon Dec 12, 2011 4:45 pm

Re: FEM future development

Postby triplus » Tue Nov 13, 2018 1:07 pm

FEM already offers support for some GPL licensed programs/libraries. We could distribute it as a whole (bundle of FreeCAD and additional programs/libraries) by using the "aggregate" approach. Therefore some external program/library being GPL licensed isn't that much of an problem to FreeCAD by itself. You would need to go further and for example use some code from the external library. To start considering license implications that such approach has on FreeCAD license.
User avatar
HarryvL
Posts: 1052
Joined: Sat Jan 06, 2018 7:38 pm

Re: FEM future development

Postby HarryvL » Tue Nov 13, 2018 7:25 pm

bernd wrote:
Thu Nov 08, 2018 10:18 pm
I have been asked about my ideas on the future FEM development ... Here is a list of ideas ...

... of course all above are ideas. I may not implement any of the above I may implement them all. Who knows ...
Great stuff !!

As I highlighted in some of my case studies, I think FreeCAD, Calculix and Paraview are an unbeatable trio for conceptual design. My personal interests are mainly in helping create a flexible workflow between the three to set up, run and display (in summary: analyse) mechanical and structural engineering problems - especially the ones involving extreme phenomena, like buckling, resonance, fatigue and plastic collapse (THE COOL STUFF)

I think you/we (as a FC community) have some way to go to achieve this, but the available power is already beyond what I thought a FOSS project could ever achieve. My wish list would include:

On the FC input side:
  • Definition of load steps and load sequences for building stages etc. (e.g. switching on gravity in a number of steps, followed by Application of external loads, followed by excavation etc.)
  • Mixed meshes (e.g. line elements embedded in volumes or on surfaces to simulate bars/beams in solids or as part of a plate/shell, Plate/shell elements embedded in or covering volume elements to simulate walls, foundation plates, tunnel linings, sandwich panels, etc.). I know Bernd is working on this.
  • Input for linear buckling analysis
  • Using linear buckling output as initial imperfection for a non-linear buckling analysis (see knee-joint example)
On the analysis side:
  • Analysis beyond limit load (post buckling, post collapse). Guido has promised an arc length procedure for this year :)
  • Soil deformation and collapse modelling. I am still keen to dust off what I did 30 years ago, but find that on average I can dedicate 15 minutes per day on FC :(. I also want to stick to Fortran for the number crunching :shock: , so want to investigate the possibilities of f2py (any philosophical problems on using f2py in FC?)
  • Integrate OOFEM. It is not too hard, but a loooooooooot of work ... and I find most of my time is spent on figuring out the FC logic of modules, procedures, classes, methods, attributes (not a whole lot of fun) ... I know its me, not FC (please don't shoot me or make derogatory comments about old men programming fortran, but I do feel sometimes like Alice in Wonderland).
On the post processing side:
  • I really like Paraview and wonder if FreeCAD can ever keep up with the effort put into that. I am a fan of greater integration, but I know I am alone in that (couldn't help saying it though).
  • Getting tabulated output for Integration-Point data would help make design decisions. My various posts on the topic explain. Some functionality where the user floats over a "hot" element and can click to obtain the detailed output would be great.
  • Incorporation of @fandaL's DAT-VTK translator for Integration-Point data would also help to interpret stress and strain results
  • Making graphs (e.g. for load vs displacement or stress vs time) would also be great
Anyway, just sharing :geek:

Oops, just used up my 15 minute quota for the day. :D
User avatar
Kunda1
Posts: 5945
Joined: Thu Jan 05, 2017 9:03 pm

Re: FEM future development

Postby Kunda1 » Wed Nov 14, 2018 12:28 am

Let's get these feature enhancements in to the Bugtracker then, shall we?
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features