GSoC2020, FEM: extend examples
Moderator: bernd
Forum rules
and Helpful information for the FEM forum
and Helpful information for the FEM forum
GSoC2020, FEM: extend examples
the deadline for Student application is just in a few days ...
As a result of a discussion there came up an idea for a 2020 GSoC. Extend the FEM examples.
- create a example for each available constraint and each available analysis type or equation type
- take some of well known fea examples like the standard calculix ones or the calculix examples from martin kraska or examples from z88 or elmer or other open source fea.
- take some examples which are easy to recalculate by a simple calculator
- get in touch with the FreeCAD FEM community to get ideas for interesting examples
- around 20 new examples in summary, depending on the complexity may be more may be less.
each example:
- code in Python (see https://github.com/FreeCAD/FreeCAD/tree ... emexamples)
- create dokumentation in the Python module of the example (this could be done for the existant examples too)
- create a input writing test for each example. see for example https://github.com/FreeCAD/FreeCAD/blob ... cxtools.py
- create a wiki page for each example (optional, get in contact with the wiki and documentation team first)
Before the GSoC starts the student should himself get familiar with git, how to make a PR and with FreeCAD FEM example code. The best is just to code a new example and make a PR with this example.
But the most important! Make a proposal before March 31th.
cheers bernd
EDIT: more examples:
- pressure on sphere https://forum.freecadweb.org/viewtopic. ... 30#p301067
- tunning fork: https://forum.freecadweb.org/viewtopic.php?t=15820, http://justinablack.com/tuning_fork_freqs/, https://en.wikipedia.org/wiki/Tuning_fo ... _frequency
Elmer:
https://www.nic.funet.fi/pub/sci/physic ... orials.pdf
https://www.nic.funet.fi/index/elmer/do ... nonGUI.pdf
As a result of a discussion there came up an idea for a 2020 GSoC. Extend the FEM examples.
- create a example for each available constraint and each available analysis type or equation type
- take some of well known fea examples like the standard calculix ones or the calculix examples from martin kraska or examples from z88 or elmer or other open source fea.
- take some examples which are easy to recalculate by a simple calculator
- get in touch with the FreeCAD FEM community to get ideas for interesting examples
- around 20 new examples in summary, depending on the complexity may be more may be less.
each example:
- code in Python (see https://github.com/FreeCAD/FreeCAD/tree ... emexamples)
- create dokumentation in the Python module of the example (this could be done for the existant examples too)
- create a input writing test for each example. see for example https://github.com/FreeCAD/FreeCAD/blob ... cxtools.py
- create a wiki page for each example (optional, get in contact with the wiki and documentation team first)
Before the GSoC starts the student should himself get familiar with git, how to make a PR and with FreeCAD FEM example code. The best is just to code a new example and make a PR with this example.
But the most important! Make a proposal before March 31th.
cheers bernd
EDIT: more examples:
- pressure on sphere https://forum.freecadweb.org/viewtopic. ... 30#p301067
- tunning fork: https://forum.freecadweb.org/viewtopic.php?t=15820, http://justinablack.com/tuning_fork_freqs/, https://en.wikipedia.org/wiki/Tuning_fo ... _frequency
Elmer:
https://www.nic.funet.fi/pub/sci/physic ... orials.pdf
https://www.nic.funet.fi/index/elmer/do ... nonGUI.pdf
Re: GSoC2020, FEM: extend examples
By all available constraints, I think you mean the constraints available here:
https://wiki.freecadweb.org/FEM_Module# ... onstraints
And while performing FEM analysis in FreeCAD, I could see the available Analysis types as:
- Static
- Frequency
- Thermo mechanical
Here are some examples I found:
Martin Kraska's Examples
Calculix turbo-charger turbine
Calculix turbo-charger compressor
The examples of Elmer look complex to me:
https://www.csc.fi/web/elmer/application-examples
Elmer's examples aren't directly available:
https://en.z88.de/examples/
Ok, I will search for them.
This looks like a good idea to me.
Got it!!
I am working on the proposal, will soon share it here for review.
Re: GSoC2020, FEM: extend examples
yes. For all constraints there are examples in this forum somewhere. We will find themSudhanshu wrote: ↑Mon Mar 30, 2020 2:14 pm By all available constraints, I think you mean the constraints available here:
https://wiki.freecadweb.org/FEM_Module# ... onstraints
Yes for CalculiX solver, no for elmer solver. We have examples for each of these types for Calculix, not for elmer. Would be cool to have one for each Equation (they are called equation in elmer solver).
ok these are a loot. You missed the original CalculiX examples fromm ccx home page http://www.dhondt.de/ and http://www.dhondt.de/cgx_2.16.1.exa.tar.bz2Sudhanshu wrote: ↑Mon Mar 30, 2020 2:14 pmHere are some examples I found:
Martin Kraska's Examples
Calculix turbo-charger turbine
Calculix turbo-charger compressor
The examples of Elmer look complex to me:
https://www.csc.fi/web/elmer/application-examples
Elmer's examples aren't directly available:
https://en.z88.de/examples/
great
Re: GSoC2020, FEM: extend examples
Re: GSoC2020, FEM: extend examples
We sure will!bernd wrote: ↑Mon Mar 30, 2020 3:33 pmSudhanshu wrote: ↑Mon Mar 30, 2020 2:14 pm By all available constraints, I think you mean the constraints available here:
https://wiki.freecadweb.org/FEM_Module# ... onstraints
yes. For all constraints there are examples in this forum somewhere. We will find them
Ok.
Then I will try to do some FEM analysis using Elmer to find out.
By the way, how many present examples are there for elmer?
And in the project are we aiming to create examples for al the solvers?
Ok. Thanks.bernd wrote: ↑Mon Mar 30, 2020 3:33 pmok these are a loot. You missed the original CalculiX examples fromm ccx home page http://www.dhondt.de/ and http://www.dhondt.de/cgx_2.16.1.exa.tar.bz2Sudhanshu wrote: ↑Mon Mar 30, 2020 2:14 pm
Here are some examples I found:
Martin Kraska's Examples
Calculix turbo-charger turbine
Calculix turbo-charger compressor
The examples of Elmer look complex to me:
https://www.csc.fi/web/elmer/application-examples
Elmer's examples aren't directly available:
https://en.z88.de/examples/
Re: GSoC2020, FEM: extend examples
looks good to meSudhanshu wrote: ↑Mon Mar 30, 2020 5:22 pm Please review my GSoC proposal:
https://docs.google.com/document/d/1cM6 ... sp=sharing
Re: GSoC2020, FEM: extend examples
Can you share the link of the code you are talking about?bernd wrote: ↑Tue Mar 31, 2020 8:05 amthe meshes uses manually by Python created meses ATM. These meshes where exported from a either with Netgen or Gmsh generated mesh. The code to export is not yet in master. I will merge this as soon as some dev starts in this regard. BTW there is a topic on FEM ...
https://forum.freecadweb.org/viewtopic. ... 70#p382470
Also, I was reading the Calculix cantilever example from here. The code isn't that difficult after all. Very similar to how a macros work in FreeCAD. So to generate the examples, apart from knowing the FEM theory of the example I only need to know the functions that should be called to setup it's various parts and constraints. Not that difficult.
By the way, in that example you set various parameters if the solver is calculix or ccxtools, but for z88 and elmer you don't do any such thing. Why?
Also, I am not able to do analysis using elmer and I couldn't find any tutorial in the user documentation. So can you share some relevant documentation.
And, I have always wondered what is the difference between Calculix and CCXTools?
Re: GSoC2020, FEM: extend examples
Thanks for reviewing!bernd wrote: ↑Tue Mar 31, 2020 5:46 amlooks good to meSudhanshu wrote: ↑Mon Mar 30, 2020 5:22 pm Please review my GSoC proposal:
https://docs.google.com/document/d/1cM6 ... sp=sharing
Should I mention anything about creating examples for Elmer and/or Z88 or not?
And, is the "Current Scenario" good enough? Would you like to add anything in it?
Re: GSoC2020, FEM: extend examples
the only difference between the different solver z88, Calculix and Elmer is the solver object and the equation object for elmer. Thus it is easy to set up examples for multiple solvers. See https://github.com/FreeCAD/FreeCAD/blob ... py#L70-L90
means you should extend the proposal as follows. At leas one example for each constraint which is supported by each solver. Means z88 only supports fixed constraint and force constraint. The example we have has these two constraints means it is fine. But for elmer there are a few more supported constraints. See https://github.com/FreeCAD/FreeCAD/blob ... /writer.py
means you should extend the proposal as follows. At leas one example for each constraint which is supported by each solver. Means z88 only supports fixed constraint and force constraint. The example we have has these two constraints means it is fine. But for elmer there are a few more supported constraints. See https://github.com/FreeCAD/FreeCAD/blob ... /writer.py
Re: GSoC2020, FEM: extend examples
Ok nice.bernd wrote: ↑Tue Mar 31, 2020 10:42 am the only difference between the different solver z88, Calculix and Elmer is the solver object and the equation object for elmer. Thus it is easy to set up examples for multiple solvers. See https://github.com/FreeCAD/FreeCAD/blob ... py#L70-L90
Thanks.
From what I could infer from the writer module, the constraints supported by Elmer are as follow:bernd wrote: ↑Tue Mar 31, 2020 10:42 am means you should extend the proposal as follows. At leas one example for each constraint which is supported by each solver. Means z88 only supports fixed constraint and force constraint. The example we have has these two constraints means it is fine. But for elmer there are a few more supported constraints. See https://github.com/FreeCAD/FreeCAD/blob ... /writer.py
- InitialTemperature
- BodyHeatSource
- Heatflux
- Temperature
- ElectrostaticPotential
- Pressure
- Force
- Fixed
- Displacement
- SelfWeight
- InitialFlowVelocity
- FlowVelocity
- Heat Equation
- Electrostatic Equation
- Fluxsolver ( )
- Elasticity
- Flow