Commit Graph

110 Commits

Author SHA1 Message Date
lyphrowny
359c1ae2bb FEM: reformat codebase 2024-06-23 16:26:36 +03:00
marioalexis
108687b938 Fem: Improve constraint BodyHeatSource 2024-06-03 03:15:14 -03:00
marioalexis
56d4214317 Fem: Improve self weight constraint - fixes #11652 2024-01-20 08:57:46 -07:00
Uwe
af684644ab Fem: Change ConstraintPressure::Force property to App::PropertyForce 2023-10-04 17:03:28 -03:00
Uwe
d115018b94 Fem: Change ConstraintPressure::Pressure property to App::PropertyPressure 2023-10-03 17:44:31 -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
3f7eaac7a0 FEM: code formatting, pep8, 261 2023-04-06 08:13:42 +02:00
Bernd Hahnebach
5c1fa3c24e FEM: code formatting, pep8, 302 2023-04-06 08:13:42 +02:00
luzpaz
6bd40b5dcd Fem: fix trailing whitespace 2023-04-01 08:39:05 +02:00
Uwe
cc6c98c1d4 [FEM] Temperature constraints overhaul
- fix bug that changing constraint type in dialog lost flux value
- accept and not immediately save any changed value
- make the temperatures a PropertyTemperature to get rid of hacks
- also fix some too long code lines
2023-03-28 01:23:47 +02:00
Uwe
4c9afb4546 [FEM] activate spring constraint
- the spring constraint is currently unused but it can be used for Elmer mechanical analyses
This PR does so and also overhaul the dialog UI.
- use the spring constraint also in an example file
2023-03-23 15:14:50 +01:00
Uwe
45743d4fbd [FEM] improve displacement constraint
- use a Distance and Angle property to get the unit handling right
2023-03-23 00:50:40 +01:00
Uwe
c9cb01531f [FEM] extend displacement constraint
- add fields to specify a formula for the displacement, this is necessary to make transient deformation analyses with Elmer
- add option to set displacement from result of flow equation
- this way also a major overhaul -> simpler dialog logic etc.
2023-03-22 15:23:32 +01:00
Uwe
14c88f41fb [FEM] several Elmer fixes
- fix whitespace in the SIF writer
- Elmer GUI uses only 20 nonlinear iterations, so we should do the same (500 were also not sensible)
- don't restrict nonlinear-Newton iterations to 100, 500 might be necessary for turbulent flow
- update author
2023-03-22 07:27:20 +01:00
Uwe
333cf5fdd7 [FEM] fixes for deformation equation
- deformation is a nonlinear equation
- use the default that Elmer GUI uses for this equation
2023-03-22 07:20:51 +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
f1799f27b0 [FEM] fine-tune flow examples
- use a more sensible velocity distribution
- change inlet temperature for 2 examples

- also change step size for nonlinear iterations for more convenience for practical usage
2023-03-20 07:17:11 +01:00
Uwe
866ea2551d [FEM] rewrite initial velocity constraint
- same as #8963 but for initial velocity

- add an example file that demonstrates the influence of the initial velocity
- some fine-tuning for the existing flow example
2023-03-20 04:58:24 +01:00
Uwe
b496a41cd1 [FEM] rewrite velocity constraint
- complete revision of the constraint.

This is a breaking change, meaning existing constraints won't work.

This is possible because since 2 days ago the whole flow equation did not work at all. Also the existing constraint implementation if buggy and cannot be used to do the Elmer tutorial. Also, the constraint is only used by Elmer and only be the flow equation.

Since nobody complained about the obvious wrong results, we can assume the flow equation was not yet in practical usage (and for FC 0.20 we known that it does not work at all, first with FC 0.20.1).

It is necessary since it must be possible to either input a velocity or an equation. With an equation, a velocity profile can be specified.

- update the flow examples accordingly:
-- simplify them since an initial and and output velocity is not necessary to specify
-- use a formula as input velocity for the non-turbulent example
2023-03-20 01:57:09 +01:00
Uwe
2759105469 [FEM] fix flow equation
- the density must be output using the correct units. Due to this bug also the viscosity was written with wrong units-
- if there is a dynamic viscosity given for a material, use it directly
2023-03-17 03:55: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
2cc8c49d49 [FEM] use extended current density constraint for 2D
-also a fix bug that for 2D there is no z-component of magnetization
2023-02-10 01:30:14 +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
Uwe
e96c796477 [FEM] [skip ci] Elmer write: move a check function 2023-02-08 17:04:37 +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
177fdcd02b [FEM] Elmer electrostatic improvements
- output only a reasonable number of digits for vacuum permittivity
- output the FC label of potential constraints as comment (helps a lot when having several constraints)
2023-02-07 00:38:50 +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
f5339093b3 [skip CI] [FEM] equation.py: fix a tooltip
- the highest priority is computed first, the Wiki page is already correct
2022-10-24 15:21:54 +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
fd02ff295e [FEM] [skip CI] Elmer: add copyright
-  heavily edited these files so I am to blame now too ;-)
2022-08-14 03:46:49 +02:00
Uwe
90b83f1d8b [FEM] Elmer: sort solver methods for better overview 2022-08-14 03:18:35 +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
0077eae344 [FEM] Elmer: set constraints for solver systems
- set constraints according to the Elmer docs (no conversion necessary, existing properties just stay integers)
2022-08-14 01:45:34 +02:00
Uwe
06a52a53ad [FEM] Elmer: just sorting to keep the overview 2022-08-14 01:07:11 +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
7c04752859 [FEM] Elmer: add tooltips 2022-08-13 03:45:42 +02:00
Uwe
9c68960a18 [FEM] Elmer: allow lower relaxation factor
- despite the Elmer docs say 0.01 is the lover limit, for fluids like water, one might need down to 1e-4
2022-08-12 05:24:55 +02:00
Uwe
6b9e822f03 [FEM] Elmer: set constraints for relaxation factor
- the relaxation factor is crucial for nonlinear systems thus help the user by setting constraints and convenient steps.
Since the property stays a float no update is necessary, existing properties just stay a normal float
2022-08-10 04:10:47 +02:00