Commit Graph

166 Commits

Author SHA1 Message Date
lyphrowny
359c1ae2bb FEM: reformat codebase 2024-06-23 16:26:36 +03:00
luzpaz
38a01939e0 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
Bernd Hahnebach
688fe0d2fb FEM: pep8, more code formatting 2023-04-06 08:13:42 +02:00
Bernd Hahnebach
f3cb55ef30 FEM: code formatting, pep8, E265 2023-04-06 08:13:42 +02:00
luzpaz
6bd40b5dcd Fem: fix trailing whitespace 2023-04-01 08:39:05 +02:00
Uwe
bd2b95562b [FEM] proper support for transient analyses
- for the first time ever you get now for every time step a result in FreeCAD
- this way also change output filename prefix to "FreeCAD" to avoid we depend on the default name Elmer gives and that was already changed in the past and to distinguish the *.vtu files from those created e.g. directly by ElmerGui
- also remove an unnecessary output to the case.sif file
2023-03-26 10:00:45 +02:00
Uwe
f0796014bc [FEM] Elmer: fix transient analyses
- different time results were never output, only the final one
  the reason is that the Output Intervals intervals property was missing
- a second reason was that the result scaling solver must be executed every time an output should be generated
- the BDF Order property is a transient-only property
2023-03-25 12:29:10 +01:00
Uwe
79842733ac [FEM] revert f3cebc81379 2023-03-25 11:38:03 +01:00
Uwe
954fa3f506 [FEM] Elmer: fix transient analyses
- different time results were never output, only the final one
  the reason is that the Output Intervals intervals property was missing
- a second reason was that the result scaling solver must be executed every time an output should be generated
- the BDF Order property is a transient-only property
2023-03-25 05:48:02 +01:00
Uwe
0fcea8b3bb [FEM] Elmer add support for nonlinear elasticity solver
- adds new equation "Deformation" (this name since the stress solver got in FreeCAD the misleading name "elasticity")

- this way change icon of elastic solver to make the difference clear
2023-03-22 03:27:27 +01:00
Uwe
17e3c70c3f [FEM] improve check for fluid material
- it is sufficient if there is a dynamic viscosity defined
2023-03-17 17:56:41 +01:00
Uwe
14b5c95f06 [FEM] Elmer: add new default coordinate system
- for new versions of Elmer the default coordinate system is "Cartesian". (if 2D or 3D is determined by the "Variable" setting for the equation)
2023-03-17 16:03:23 +01:00
luzpaz
d844255685 FEM: fix trailing newlines 2023-02-13 15:41:31 +01:00
Uwe
3b653b78f9 [FEM] Elmer: add support for 3D magnetodynamics
- adds the corresponding Elmer equation (it is now possible to do Elmer's tutorial example no. 14)
2023-02-10 19:48:31 +01:00
Uwe
a14efad44c [FEM] Elmer: fixes for Magneto2D writer
- assure a 2D coordinate system is used
- get rid of annoying numerical artifacts
2023-02-10 02:21:21 +01:00
Uwe
a2ffadcb59 [FEM] use magnetization constraint for 2D
- uses the constraint for 2D magnetodynamics to perform e.g. Elmer's tutorial non. 15

- modify the Material manager to get rid of magnetization but keep the vectorial functionality because in future there will be support for e.g. birefringence materials etc.
2023-02-09 15:43:42 +01:00
Uwe
bdfe5e764c [FEM] Elmer: magneto 2D use magnetization
- take magnetization into account for the magnetodynamic2D equation
2023-02-09 07:27:44 +01:00
luzpaz
a40a5dcad2 Fix trailing newlines 2023-02-08 15:08:42 +01:00
Uwe
3e7334b7a8 [FEM] Elmer writer: correct copyrights 2023-02-07 11:52:18 +01:00
Uwe
ca05213e2e [FEM] Elmer: add support for 2D magnetodynamics
- adds the corresponding Elmer equation (it is now possible to do Elmer's tutorial example no. 16)
2023-02-07 11:06:22 +01:00
Uwe
a5e0ac5949 [FEM] Elmer writer: sort out elasticity equation
- sort out elasticity equation - last step to refactor writer.py
2023-02-07 04:33:20 +01:00
Uwe
bd0f39e7c9 [FEM] Elmer writer: sort out electricforce equation
- sort out electricforce equation - next step to refactor writer.py
2023-02-07 03:59:59 +01:00
Uwe
a26ac3249d [FEM] Elmer writer: sort out flow equation
- sort out flow equation - next step to refactor writer.py
2023-02-07 03:21:25 +01:00
Uwe
5d12dcf1ed [FEM] Elmer writer: sort out flux equation
- sort out flux equation - next step to refactor writer.py
2023-02-07 02:40:59 +01:00
Uwe
240e2aa816 [FEM] Elmer writer: sort out heat equation
- sort out heat equation - next step to refactor writer.py
2023-02-07 02:03:53 +01:00
Uwe
4ac2f8fe1a [FEM] Elmer: refactor writer for electrostatics
- the writer.py is to large to keep the overview, thus sort out the handling of the different equations (also since more equations will be added)
- This PR sorts out the electrostatic equation handling as first step (more equations will follow once this is merged)
2023-02-07 00:38:50 +01:00
Uwe
e0fa255920 [FEM] Elmer: add permeability of vacuum 2023-02-07 00:16:52 +01:00
Uwe
5417abaa04 [FEM] [skip ci] Elmer write: some cleanup
- fix also a typo
2023-02-05 03:20:56 +01:00
Uwe
b8ce56b5e6 [FEM] Elmer output material name
- when looking at the Elmer input file 'case.sif' it is extremely helpful to thee also the name of the material
  Since the name is only form info, this does not change the actual simulation
2023-02-04 22:11:30 +01:00
luzpaz
1b43baa418 Fix various trailing newlines, typos and grammar 2023-02-04 18:29:07 +01:00
Uwe
1ab36e21e8 [FEM] Elmer: revert wrong change from #8336
- I mixed the normal stress solver with the elastic stress solver. For the normal stress solver plane stress is possible in all coordinate systems
2023-02-03 18:41:06 +01:00
Uwe
9e9c7c3428 [FEM] Elmer: don't hardcode the coordinate system
- Elmer allows for all currently supported equations several coordinate systems
- also remove an unused variable
2023-02-03 17:49:58 +01:00
Uwe
9923b13b16 [FEM] Elmer: fix error on wrong material settings
- if user set no material for a body, we must raise an error
- also fix annoying output of permittivity in case.sif file
2023-02-03 15:45:25 +01:00
Uwe
b46c1c5ff9 [FEM] sort equations alphabetically
- to ease readability a bit
2023-02-02 05:35:15 +01:00
Bernd Hahnebach
e77bf30a8e FEM: get LGTM silent 2022-10-23 21:43:04 +02:00
Bernd Hahnebach
f46ed721c6 FEM: Python pep8 code formatting 2022-10-22 23:05:51 +02:00
Uwe
212a058c2f [FEM] Elmer: fix flux equation
- the Flux solver must be executed before Heat and Electrostatic
- the analysis can have multiple Flux equations -> write a unique solver name to case.sif
- the Flux equation can currently only take 2 possible values. Therefore provide them as enum
2022-08-16 03:49:26 +02:00
Uwe
d0ee6a46a0 [FEM] fix body heat source constraint
- as the name implies, it must be possible to set the heat to different bodies
- for this a selection dialog is necessary
- check that heat is not zero
2022-08-15 02:47:01 +02:00
Uwe
9fb77d5caa [FEM] [skip CI] Elmer writer: fix indentation mistake
- found by Pylint checker
2022-08-14 20:41:29 +02:00
Uwe
25a829bd0c [FEM] add initial pressure constraint (#7364)
* [FEM] add initial pressure constraint

- this is needed for fluids
2022-08-14 20:00:36 +02:00
Uwe
865481fcf4 [FEM] fix handling of vacuum permittivity
- fix message that permittivity object was not handled
- set an expression, otherwise the user gets only "0.000" for the default of 8.8e-12
- use as unit the common "F/m" (this is also more user-friendly than "s^4*A^2 / (m^3*kg)")
- fix a ToDo
2022-08-14 17:59:42 +02:00
Uwe
c1d3c813ac [FEM] Elmer: writer: get rid of unnecessary function
- fixes the ToDo
- also remove unnecessary comment
2022-08-14 17:12:48 +02:00
Uwe
899c7b8d87 [FEM] Elmer: handle pressure for fluids
- Elmer allows external pressure on fluid boundaries as well as for solids
2022-08-14 16:08:14 +02:00
Uwe
1211e0be91 [FEM] Elmer: fix initial flow velocity
- we must allow must be several velocities because there can be several fluid bodies
- don't output flow velocity for solid bodies
2022-08-14 04:39:43 +02:00
Uwe
6e44d7db35 [FEM] Elmer: fix for the Idrs method
- while adding support for the IDRS method I forgot to implement its mandatory parameter
2022-08-14 01:48:20 +02:00
Uwe
c2a4319404 [FEM] Elmer: fixes for multi-threading
- load the results depending on the used cores, not always the multi-thread results
- avoid unnecessary console output - this info is already output in tasks.py
- handle number of cores as int to save in total 2 conversions
2022-08-13 16:27:56 +02:00
Uwe
70ac983f2a [FEM] Elmer: only output a property if necessary 2022-08-13 14:39:06 +02:00
Uwe
5368f496b7 [FEM] Elmer: fix heat flux handling
- the heat flux in the temperature constraint is not the heat flux from the heatflux constraint. The latter is in W/m² while the first one is W/mesh node
2022-08-13 05:54:34 +02:00
Uwe
c183228fc3 [FEM] Elmer: add support to turn off solvers
- with this property the linear solver is turned off. As consequence one can this way also disable the execution of an equation without the need to delete the equation object

- also add missing preconditioners
2022-08-13 05:51:26 +02:00
Uwe
be50ea3d8f [FEM] Elmer: fix handling if fluids + solid materials
- as already reported in the forum, it was not possible to make a flow simulation when there is also solid material.
2022-08-12 05:29:42 +02:00