Commit Graph

625 Commits

Author SHA1 Message Date
wmayer
e403b9ce55 Fem: [skip ci] Fix several clazy issues:
* Maybe you meant to call base method instead [-Wclazy-skipped-base-method]
* Using copy-ctor but class SbMatrix has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
* Missing emit keyword on signal call FemGui::PointMarker::PointsChanged [-Wclazy-incorrect-emit]
2022-07-25 12:11:47 +02:00
Uwe
c1946884d8 [FEM] fix regression of missing stress results
- fixes the regression that went in short as "last minute fix": commit 3af54a7dda -> fixes #7242

- also remove a doubled entry in an IF
2022-07-24 05:41:33 +02:00
Uwe
fc548a4b34 [FEM] remove superfluous nullptr checks 2022-07-18 01:45:19 +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
wmayer
d1ef818f39 Fem: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:37:55 +02:00
Bernd Hahnebach
bbbd4d07bf FEM: typos, found with:
codespell -q 2 -S *.ts -S *.dyn -S *.svg  -L childs,dof,dum,freez,methode,nd,normaly,programm,som,uint,vertexes,inout  src/Mod/Fem/
2022-07-12 15:04:26 +02:00
Uwe
c0fa37cfa9 [FEM] update includes
- forgot to commit this in previous commit
2022-07-03 22:59:37 +02:00
mosfet80
d162d9371c Remove old msc ver. Freecad 0.20 require 64 bit and windows 7 or higher. For this reason, msc libraries less than 1800 will no longer be used. (#7036)
* remove msc<1800
2022-06-28 00:42:33 +02:00
Uwe
e8f3227191 [FEM] fix point filter initialization issue
- on opening the task dialog of existing point filter, the point value must be displayed
2022-06-27 01:07:36 +02:00
wmayer
7db925d991 App: fix memory leaks in Enumeration class and simplify code 2022-06-25 18:18:57 +02:00
wmayer
1aa897d450 Fem: remove some superfluous const_cast 2022-06-24 19:43:33 +02:00
wmayer
5234d9bc67 App: add pure virtual methods to PropertyGeometry to delegate it to the geometry of sub-classes
Following the law of Demeter add some wrapper methods to PropertyGeometry and implement them in sub-classes. As a side-effect this makes some const_cast obsolete
2022-06-24 16:15:02 +02:00
Uwe
8e253cb4c8 [FEM] fix a variable casting
- reported by MSVC not to cast a float to a double but as double directly

- also remove some superfluous Boolean comparisons
2022-06-19 15:15:18 +02:00
FEA-eng
3af54a7dda Fixing principal stress plots part 1
https://forum.freecadweb.org/viewtopic.php?f=18&t=69385
2022-06-13 19:51:53 +02:00
Uwe
ebd1afc5d9 [FEM] fix 2 crashes with line and scalar filter
- same crash origin like the crash fixed earlier today: https://github.com/FreeCAD/FreeCAD/commit/7b0b83a2e4
2022-06-12 22:18:59 +02:00
Uwe
3528c626e7 [FEM] fix plots of line filter
- when the line geometry changed, the axis data must be refreshed to get correct plots
2022-06-12 17:24:41 +02:00
Uwe
7b0b83a2e4 [FEM] fix crash with data point filter
- when the filter is upon another filter that e.g. clipped all data, we cannot access data
2022-06-12 14:56:54 +02:00
Uwe
7521cfc7a0 [FEM] fix point filter output
fixes #7008:

- the point data must be read also when the center changed
- when the dialog is called it has only the value for the current field, thus recompute the feature to fill all fields with data
- on clicking on a mesh point display the value at the clicked position
- due to the object's recomputation at the start, a complete recomputation (for the whole pipeline) is needed on closing the dialog
2022-06-12 03:34:02 +02:00
Uwe
6a877f7e29 [FEM] point filter: fix initialization issue
- we cannot assume to have a geometry at position (0, 0, 1) this initialize at (0, 0, 0)
- also don't hardcode the unit in the UI file

- also fix wrong property description
- property "Radius" is not used in the code and it seems it is only there as copy paste bug once the point filter was implemented. However close to a release, keep the property and just mention it is unused.
2022-06-12 00:25:58 +02:00
Uwe
c8337118ba [skip CI] [FEM] whitespace and comments to keep overview 2022-06-11 04:28:21 +02:00
Uwe
d4c180e953 [FEM] fix unit handling of line filter
- in contrary to other filters the properties have no unit handling
(there are several bugs in line filter and to fix them, unit handling is necessary)
2022-06-10 14:17:42 +02:00
Uwe
8fb5ce3c43 [FEM] allow to copy and edit result data
- at the moment you cannot get the result data, for example to make your own plot. Also for the line you might want to have unequal x-steps etc. Especially for the data point filter not getting the data actually makes the tool quite useless.
- therefore set the properties to output
2022-06-10 02:41:08 +02:00
wmayer
469c36e3cc Mod: handle removed headers in PCH files for OCC 7.6 2022-05-21 06:28:07 +02:00
wmayer
5ed2850a03 FEM: work around a crash with vtk9 on export of a vtkUnstructuredGrid 2022-04-28 23:14:51 +02:00
wmayer
f00a3f59c4 Fem: add a scale() function to FemPostPipeline 2022-04-15 12:08:47 +02:00
wmayer
1688991391 FEM: automatically detect a suitable scale factor for old project files 2022-04-12 15:24:21 +02:00
wmayer
c3ec0b7c49 FEM: work around a crash with vtk9 on export of a vtkUnstructuredGrid 2022-04-05 16:27:16 +02:00
Uwe
a306ce5686 [FEM] fix crash with result filters
fixes #6683

We cannot cast the object type before checking it and in case the object is wrong, the filter cannot be processed and the user needs info about his mistake that he can fix this.

- also some code style fixes by MSVC
2022-03-31 05:14:01 +02:00
Chris Hennes
bb0e2f1c51 FEM: PR6497 move return statement to new line 2022-03-29 12:35:58 -05:00
Uwe
51c7a8c2d3 [FEM] fix crash in pipeline creation
fixes #6670
2022-03-28 02:41:38 +02:00
Uwe
361ea3367d [FEM] fix network pressure value display in result pipelines
was forgotten in https://github.com/FreeCAD/FreeCAD/commit/2b1bbd5e6c6
2022-03-28 02:25:19 +02:00
wmayer
14960411a8 Fem: [skip ci] use the required type for the vtk API 2022-03-27 20:54:26 +02:00
wmayer
c447f5a31d Fem: fix segmentation fault in FemPostDataAlongLineFilter::GetAxisData()
It's possible that pdata becomes a null pointer.
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=18&t=67507
2022-03-27 19:18:33 +02:00
Uwe
2b1bbd5e6c [FEM] fix value display in result pipelines
- as reported here: https://forum.freecadweb.org/viewtopic.php?p=583133#p583133

The point is that the user cannot know that he has to multiply the shown numbers for displacements by 0.001 but for the displayed stresses by 1e6 while the temperature is already correct.

The fix is to be consistent and display in SI units. This commit does this and was tested using unit systems with mm and meter based length.
2022-03-27 18:24:03 +02:00
wmayer
a07f0b6f68 Fem: [skip ci] fix compiler warnings
* add Python.h to PreCompiled.h to fix warning for MSVC: warning C4005: 'COMPILER': macro redefinition
* add Python.h to FemPostPipelinePyImp.cpp to fix warning for clang: pyconfig.h:1672:9: warning: '_LARGEFILE_SOURCE' macro redefined [-Wmacro-redefined]
2022-03-27 11:21:19 +02:00
Uwe
708a300b93 [FEM] introduce custom pipeline mode
- in order to benefit from the previous fix when e.g. setting up a clip filter of a clip filter one needs the set inputs untouched. The existing modes however changed all an the addition of a new filter.
Use this new mode as default since it preserves the inputs as the users set them on the filter creation
2022-03-27 07:19:56 +02:00
Uwe
3bbbae84d7 [skip CI] [FEM] remove an unused header
- also some code styles improvements
2022-03-26 04:32:17 +01:00
wmayer
fb9aee6255 FEM: include header with export macros 2022-03-24 20:47:56 +01:00
wmayer
d4da6b21e2 Fem: include Python.h before any vtk headers to fix compiler warnings 2022-03-24 20:05:27 +01:00
Uwe
d3bd8141f9 [FEM] App headers: remove unused headers 2022-03-24 15:35:32 +01:00
wmayer
97330443a2 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
wmayer
7ae9fc0d67 Fem: modernize C++11
* use nullptr
2022-03-23 19:26:15 +01:00
Uwe
d5604e0e89 [FEM] remove Python.h and Xerces 2022-03-21 01:22:59 +01:00
wmayer
fdf5df5645 Fem: [skip ci] change include order to fix compiler warning due to a re-defition of a macro in a Python header 2022-03-20 13:44:55 +01:00
wmayer
9160f06e1c Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
d69defaa3c Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
0054cbddaa Fix coverity issue:
* CID 332682: Resource leak
* CID 350607: Resource leak
* CID 332677: Resource leak
2022-03-14 11:35:04 +01:00
wmayer
8d3c66cf18 Core/Mod: modernize C++11
* use nullptr
2022-03-09 21:55:31 +01:00
wmayer
58a719e207 Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
wmayer
95c70e7f4c App: use forward declarations 2022-03-04 21:09:46 +01:00