Commit Graph

190 Commits

Author SHA1 Message Date
Uwe
b716644e27 [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
Uwe
ed3625a0e0 [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
20047c94cd [FEM] [skip CI] formatting fix for potential 2022-08-10 13:42:29 +02:00
Uwe
ad2042e3cb [FEM] electric Potential: add missing conversion
- add missing conversion of property change that was already done before FC 0.20
2022-08-10 13:32:32 +02:00
Uwe
c219134a1e [FEM] Elmer: fix material bug and improve material handling
- for fluid material writing the elasticity solver failed with unknown Young Modulus
- fix regression with checking for fluid material. Checking the material of the bodies is not sufficient. One can e.g. have a solid without bodies defined, then it applied to all bodies and there might be a fluid defined for only one body. Checking the body's material would then deliver there is no fluid
2022-08-10 06:16:38 +02:00
Uwe
baaa5f8dd1 [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
Uwe
48a206e3e4 [FEM] Elmer: notify users about missing fluid material
- it was often unclear when no flow equation was written to the case.sif (was a regression FC0.20)
2022-08-10 03:29:34 +02:00
Uwe
69efa37e49 [FEM] Elmer: automatic update for BiCGstablDegree
- up to last week we used the invalid BiCGstablDegree 0 thus update to the default of 2
2022-08-10 01:50:19 +02:00
Uwe
a32e927227 [FEM] Elmer: scale EigenMode results
- for an not yet known reason the result from Elmer are only for eigen analyses a factor 1000 (we send the mesh scaled to Elmer and it seems the eigen solver does not notice this)
Therefore scale these results
2022-08-08 12:33:57 +02:00
Uwe
d438514d9f [FEM] fix pipeline recompute issue
- after a simulation was run, the pipelines and its childs are recomputed but its shape coloring is not updated.

- also update XML documentation
- also remove comment in tasks.py for now
2022-08-08 02:04:07 +02:00
Uwe
8b06680eb8 [FEM] add framework to scale result mesh values
- it seems that we will need to scale result values (probably for the Elmer Eigen solver)
  This PR adds the framework to do this. It is meant for Elmer but designed versatile.
2022-08-08 01:48:08 +02:00
Uwe
90afc19382 [FEM] fix pipeline recompute bug
- on recomputing scalar or warp filters the information about the field was lost.
  This is because the validity of an array was tested before it is actually filled

- also fix MSVC warning of using a C++ keyword as variable
- also avoid an unnecessary recompute after Elmer solver was run
2022-08-08 00:06:54 +02:00
Uwe
460efa3a72 [FEM] Elmer: use defaults of ElmerGUI
- use also for the linear solver the defaults of ElmerGUI
2022-08-07 16:19:20 +02:00
Uwe
753a034708 [FEM] Elmer: fix for electricforce
- the default is to execute this solver after previous solution converged. This has to be output via the Exec Solver parameter
2022-08-07 16:17:55 +02:00
Bernd Hahnebach
7a1c9303d3 FEM: Python pep8 code formatting 2022-08-07 09:56:52 +02:00
Uwe
38aaf9bfb3 [FEM] Elmer: fix pipeline update issue
- the existing result pipeline can have several children. They must all be updated.
2022-08-07 06:22:42 +02:00
Uwe
e4e34affac [FEM] Elmer: resale the mesh using Elmer
- according to Peter from the Elmer team, we can use Elmer for both, scaling in and scaling back just for consistency
2022-08-07 05:32:54 +02:00
Uwe
42b3b8daed [FEM] [skip CI] fix a typo for nonlinear solving 2022-08-07 05:24:37 +02:00
Uwe
dcdbf6dcaa [Fem] Elmer: change default nonlinear tolerance
- ElmerGUI uses 1e-7 as default, so we should do too
2022-08-07 04:33:21 +02:00
Uwe
3d0def93cd [FEM] Elmer: fix default for heat
- revert change from comm it commit f3933016 - "None" is the correct default. (I mixed this up with Navier-Stokes)
2022-08-07 02:45:08 +02:00
Bernd Hahnebach
a7c24ccd49 FEM: Python pep8 code formatting 2022-08-07 01:39:52 +02:00
Uwe
81836aae11 [FEM] Elmer: polishing for nonlinear system
- add tooltips
- relaxation factor is usually not below 0.1 thus no expression is necessary
- sorting
2022-08-07 01:21:42 +02:00
Uwe
84db9d4baa [FEM] Elmer: fixes for electrostatics
- one needs to specify a file when calculating the capacitance matrix
- add electric flux to point filter results
- add missing parameters
- also some sorting
2022-08-07 01:11:07 +02:00
Uwe
ef4366a20d [FEM] Elmer: add missing parameters for Navier-Stokes solver 2022-08-06 23:36:40 +02:00
Bernd Hahnebach
3369aa4eca FEM: Python pep8 code formatting 2022-08-06 22:29:12 +02:00
Uwe
f39330163d [FEM] Elmer: code improvements
- don't redefine lists twice
- also fix mistake for heat - the default is computed convection
2022-08-06 22:20:44 +02:00
Uwe
b5faecea99 [FEM] Elmer: output the equation-specific settings for Navier-Stokes 2022-08-06 22:01:25 +02:00
Uwe
7600855f26 [Fem] Elmer: output the equation-specific settings
- equation-specific things were not set at all. This is the first step for the heat and Stress equation
2022-08-06 21:26:23 +02:00
Bernd Hahnebach
09c1b5a274 FEM: Python pep8 code formatting 2022-08-06 20:16:10 +02:00
Uwe
2b375f2dc6 [Fem] Elmer: writer: remove unused variable 2022-08-06 20:05:23 +02:00
Uwe
b621e6c253 [Fem] Elmer: update tolerances
- update tolerances also for existing analyses to fix the bug that users see e.g. "0.001" and not the actual used tolerance
- also a fix for new stress analyses
- also a formatting fix
2022-08-06 20:01:24 +02:00
Uwe
29197f503d [FEM] Elmer: next step to fix eigenfrequency analysis
- add missing parameters to perform modal analyses
- set mandatory complex statement
2022-08-06 18:27:51 +02:00
Uwe
b5a34817db [FEM] Elmer: fix mistake with transient solving
- there is proper info, just in another Elmer manual. This unveiled my mistake - the timestepping parameters are a list
2022-08-06 16:01:55 +02:00
Bernd Hahnebach
43dcbe4a31 FEM: Python pep8 code formatting 2022-08-06 13:33:01 +02:00
Uwe
3818534cd6 [FEM] Elmer: fixes for the simulation parameters
- output equation-specific values only if this equation is used
- use Elmer's default for BDF order as default for FC too and allow to change it
- don't hardcode to Steady State. Transient must be possible too, this way add parameters to run a transient analysis
2022-08-06 04:32:18 +02:00
Uwe
cd03ef3d78 [Fem] Elmer: don't output unused parameters
- many of the new parameters don't have to be output if they are not used

- also some sorting
2022-08-06 04:06:10 +02:00
Uwe
b20060bcd0 [FEM] Elmer: add missing parameters for flux equation
- also add tooltips
2022-08-05 05:09:54 +02:00
Uwe
96ba47e80f [Fem] Elmer: add missing settings for the stress solver
- the usually mandatory setting DisplaceMesh was missing leading to imprecise results. Now the calculated faceload is almost the exact same as with CCX
- also add most of the other settings Elmer 9 provides
- also add tooltips
2022-08-05 04:17:39 +02:00
Uwe
18d1941a79 [FEM] Elmer: push mesh scaled to Elmer
- reverts commit d296732d - the scaling it correct
- there is a bug in Elmer that the heat source is not aware of the scaling
- write the scaling directly to the solver, not to the mesh itself. (make in principal no difference but we are closer to the solver)
2022-08-05 02:13:04 +02:00
Uwe
357989c552 [FEM] fix enable editing for all solvers
- currently for Z88 nothing happens when clicking the Edit button in the solver task dialog. The reason is that opening *.txt files was never implemented
- also do this for Elmer
- for Z88 we need to open several file for a proper editing because the solver info is distributed over these files
2022-08-04 04:19:55 +02:00
Uwe
0549a47b09 [FEM] Elmer: more work on Stabilize
- it turned out that despite not mentioned in the manual, ElmerGUI adds the Stabilize setting for all setups
-> bring "Stabilize" back for all equations
(for "Bubbles" it is correct that this is an equation-specific setting)
2022-08-04 03:57:46 +02:00
Uwe
82f41ce220 [FEM] Elmer: setup new pipelines like we do for CCX
and manually new created ones
2022-08-04 03:25:26 +02:00
Uwe
d455ba378e [FEM] Elmer: use different default linear solver
- BiCGStabl is as robust as BiCGStab but in all tested cases it converges faster
2022-08-04 03:24:03 +02:00
Uwe
ba858175fe [FEM] Elmer: use direct solving as default for stresses
- direct solving is sometimes even 10 times faster (as fast as CCX) and as accurate as CCX
2022-08-04 03:22:07 +02:00
Uwe
1f89f6eca7 [FEM] Elmer: fix solver stabilize settings
- according to https://www.nic.funet.fi/index/elmer/doc/ElmerModelsManual.pdf
the stabilization methods are equation-specific and only available for some solvers
This commits changes these settings according to the manual
2022-08-03 02:32:01 +02:00
Uwe
30d9efe691 [FEM] Elmer: Flux: add missing settings
- enable the disabled options. They work and are according to the Elmer manual. The user is free to use them or not and since they are all False by default, existing analyses won't be affected.
- add two missing settings
- for new equations, enable at least one calculation, otherwise nothing will happen when an inexperienced user uses the default
2022-08-03 01:50:12 +02:00
Uwe
d296732de6 [FEM] Elmer: don't push mesh scaled to Elmer
- the mesh scaling was a hack to work around the fact that FC's mesh is in mm while all input units are in SI. It turned out that this made more problems than it solved because Elmer checks the length unit and makes internal recalculations. So the mesh must not be scaled when send to Elmer (despite the ElmerGrid docs doesn't state this).
forum thread: https://forum.freecadweb.org/viewtopic.php?p=614162#p614162
2022-08-01 03:58:09 +02:00
Uwe
e07c696b1e [FEM] Elmer: set sensible defaults for elasticity equation
- for BiCGstabl the minimal degree is 2, but 3 is recommended
- when adding the equation, it should do something, therefore enable the calculation of the principal stresses (as it was, nothing was calculated except of the displacement)
2022-08-01 03:42:57 +02:00
Bernd Hahnebach
ffd51eda61 FEM: python code formatting 2022-07-31 23:47:45 +02:00
Uwe
00f1360773 [FEM] Elmer: fix small number property handling
- use an expression as discussed: https://forum.freecadweb.org/viewtopic.php?p=613897#p613897
2022-07-31 05:19:45 +02:00