Commit Graph

501 Commits

Author SHA1 Message Date
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
Uwe
a6fbd74cae [FEM] add missing eigenfrequcy calculation for Elmer
- while for CCX we output the eigenfrequency, for Elmer the user had to perform the calculation of a sqrt of the complex result.
This is inconvenient and error-prone and also requires the knowledge where the result is output by Elmer and in what format. (cast me more than an hour to find this out)
Therefore perform the calculation for the user and output the result.
2022-07-31 02:31:26 +02:00
Uwe
548cab1fd8 [FEM] Elmer: add missing direct variant MUMPS
- also use capitalized wording to Umfpack as Elmer does
2022-07-30 14:40:10 +02:00
Uwe
bc69cfd19b [FEM] Elmer: a fix for keywords
- according to the Elmer solver manual, check keywords have to be quoted
2022-07-27 01:48:10 +02:00
Uwe
c4b8983a27 [FEM] Elmer writer: fix errors on missing material properties
- we must in this case raise an error and stop the writer script
2022-07-26 03:37:55 +02:00
Uwe
12440921bb [FEM] Elmer: fix python error when solver failed
we must then stop the execution of the script
2022-07-25 02:54:12 +02:00
Uwe
da104f63b7 [FEM] fix CCX (new framework) binary handling
- when the binary was not found, the function called the non-existing binary
- also push error message to the status info so that user gets feedback also when report view console is not shown
2022-07-17 01:28:54 +02:00
Uwe
3a993abfb4 [FEM] fix Z88 binary handling
- when the binary was not found, the function called the non-existing binary
- also push error message for Elmer and Z88 to the status info so that user gets feedback also when report view console is not shown
- uniform wording to 'binary'
- avoid unnecessary console output
2022-07-17 01:18:21 +02:00
Uwe
4a5bf895ed [FEM] [skip CI] inform user about used CPU cores for Elmer
Since the number of used cores can for Elmer have the impact that a solver run converges or not, output this info prominently
2022-07-16 19:46:46 +02:00
Uwe
3542c73966 [FEM] [skip CI] tell user when Elmer write succeeded
At the moment the user gets no feedback, while for Z88 and CCX he gets a result
2022-07-16 19:41:43 +02:00
Uwe
2782d09dee [FEM] [skip CI] fix a typo 2022-07-16 19:21:25 +02:00
Uwe
32ac6fa9fd [FEM] [skip CI] fix a string 2022-07-16 18:54:11 +02:00
Uwe
10301e7f75 [FEM] [skip CI] fix a typo 2022-07-16 16:01:38 +02:00
Uwe
6625281986 [FEM] enable to run Elmer multi-threaded
- this needs proper testing, especially on a non-Windows system

- note that for some tasks multi-threading requires non-standard additional solvers like MUMPS. Ideally the user should be informed about this, depending on the equations he uses. But this should not block this PR, meaning to use multi-threading in general.
2022-07-16 14:59:25 +02:00
Marshal Horn
cf27c91a2e Replaced python2 usage of next()
iterator.next() is deprecated in python3.
next(iterator) is the direct replacement.
In some cases a for() loop makes more sense
2022-07-14 01:28:10 +02:00
Bernd Hahnebach
edcd16afaf FEM: Python code formatting 2022-07-13 12:04:52 +02:00
Uwe
c8064ed059 [FEM] fix solver console bugs
- for Elmer and Z88 on Windows several windows pop up (console windows). This is maybe annoying and the user is wondering what is going on, but the main problem is that when you close them, you break the solving process.
Therefore, on Windows only, hide the empty popup windows.
2022-07-13 02:51:31 +02:00
Bernd Hahnebach
e49abfb350 FEM: python code formatting 2022-07-12 15:04:26 +02:00
Bernd Hahnebach
ff802c7274 FEM: elmer solver writer, add some comment in the regard of units 2022-07-12 11:35:45 +02:00
Mihail
8afc5d3f0a FEM WB Elmer viscosity bug fix.
In Elmer there was errors "Viscosity not found" if used mixed solid and flow calculation.
This fix disables Stokes-Navier eruation for Solid objects.

	modified:      src/Mod/Fem/femsolver/elmer/writer.py
2022-07-02 05:16:50 +02:00
wmayer
93d745235c Fem: scale imported vtk data set 2022-04-15 21:07:40 +02:00
Uwe
30928c0710 [FEM] Elecrostatic: use App::PropertyElectricPotential 2022-03-26 02:29:19 +01:00
Uwe
cc4578e9ae [FEM] fix broken Z88 part 4: don't hardcode memory for iterative solvers
- we must not hardcode the number of coincidence vector places
The user must have a chance to change this setting for the iterative solvers according to the Z88 docs.
We use as default the number Z88 uses in its distributed example.
2022-03-25 19:28:24 +01:00
Uwe
ebc0c0ae04 [FEM] fix broken Z88 part 3: don't hardcode memory
- we must not hardcode the number of stiffness matrix places, especially not for the Cholesky solver
The user must have a chance to change this setting in case of a solver error. This is also according to the Z88 docs that says it is a two step process:
- the solver first computed the necessary places
- the user must set the value accordingly in case it is too low

- also some code style fixes
2022-03-25 18:40:12 +01:00
Uwe
d035bbc1ca [FEM] fix broken Z88 part 1: don't hardcode solver
- especially don't hardcode the choly solver that fails quickly for finer meshes
- setting sorcg as default since it shows the best performance with the cantilever tests
2022-03-25 16:49:03 +01:00
Uwe
3904da9d93 [FEM] handle Elmer result mesh zoom properly
- also fix an issue that after a successful simulation, no result was visible
2022-03-24 22:01:45 +01:00
Uwe
876b694230 [skip CI] [FEM] whitespace fix 2022-03-23 05:21:48 +01:00
Uwe
389ae0ab39 [FEM] SI unit fixes for Elmer
- since we use consistently SI units (as recommended my the Elmer forum), we need to scale the input mesh (we use ElmerGrid that has an option fur this purpose)
- Since the result will be in the scaled mesh, we need to scale it back

With this PR, one gets now correct result independent of
- the used unit scheme
- the simulation type (electrical or thermo-mechanical)
2022-03-23 05:00:40 +01:00
Uwe
b935de6851 [FEM] fix unit for Elmer
to assure we use SI units
2022-03-22 05:11:02 +01:00
Uwe
29f5e78583 [FEM] proper Elmer input file write solution
- assure that independent on the used unit scheme, SI units are written to the Elmer input file
- reverts commits https://github.com/FreeCAD/FreeCAD/commit/4a7f7a0faa and https://github.com/FreeCAD/FreeCAD/commit/28a4f6aef
2022-03-19 17:48:11 +01:00
Uwe
28a4f6aefa [FEM] fix vacuum permittivity for the Elmer solver
also a missing fix for the density
2022-03-19 03:06:27 +01:00
Uwe
4a7f7a0faa [FEM] fix the Elmer solver writer
- fixes #6604
as it was, Elmer was almost unusable because most values were input with wrong units to Elmer.
Elmer uses pure SI units

ToDo: fix the still wrong Vacuum permittivity
2022-03-19 01:53:26 +01:00
Uwe
1293eb2116 [FEM] add icon for the new supported MYSTRAN solver 2022-03-18 00:18:25 +01:00
Uwe
0ead5a793b fix more typos to silence the spellchecker CI 2022-02-21 13:20:06 +01:00
wmayer
3dfdc6804f Fem: [skip ci] fix runtime failure when using Py3.10 2022-01-24 10:28:22 +01:00
luz paz
0042f58e4c Make source code comments use gender neutral pronouns
The changes also include some grammatical fixes as well.
2021-12-02 16:18:04 -05:00
luz paz
277e164657 Fix various typos
Found via `codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,bottome,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,inout,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,ontop,orgin,orginx,orginy,ot,pard,parms,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/doc/SourceDocu`
2021-10-10 14:55:48 -04:00
Bernd Hahnebach
8bb582f23f FEM: writer base, use tempfile module for the temp directory 2021-10-04 17:16:12 +02:00
Bernd Hahnebach
fa843ad084 FEM: writer base, improve working dir handling 2021-10-04 17:16:07 +02:00