Commit Graph

611 Commits

Author SHA1 Message Date
Uwe
007bbc532f [FEM] fix 2 crashes with line and scalar filter
- same crash origin like the crash fixed earlier today: https://github.com/FreeCAD/FreeCAD/commit/c72f888682
2022-06-12 22:18:59 +02:00
Uwe
a0689c7f9f [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
12b12fa941 [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
64e6e7a781 [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
658d2b26e9 [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
a002957cb4 [skip CI] [FEM] whitespace and comments to keep overview 2022-06-11 04:28:21 +02:00
Uwe
8bcab38d76 [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
779a4635d9 [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
1f170e3d23 Mod: handle removed headers in PCH files for OCC 7.6 2022-05-21 06:28:07 +02:00
wmayer
ac41c53a02 FEM: work around a crash with vtk9 on export of a vtkUnstructuredGrid 2022-04-28 23:14:51 +02:00
wmayer
e6a462689d Fem: add a scale() function to FemPostPipeline 2022-04-15 12:08:47 +02:00
wmayer
7261798eae FEM: automatically detect a suitable scale factor for old project files 2022-04-12 15:24:21 +02:00
wmayer
61ec7268a4 FEM: work around a crash with vtk9 on export of a vtkUnstructuredGrid 2022-04-05 16:27:16 +02:00
Uwe
75a015c925 [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
cb9c4ad696 FEM: PR6497 move return statement to new line 2022-03-29 12:35:58 -05:00
Uwe
e4cec83945 [FEM] fix crash in pipeline creation
fixes #6670
2022-03-28 02:41:38 +02:00
Uwe
cdd1b0e9ae [FEM] fix network pressure value display in result pipelines
was forgotten in https://github.com/FreeCAD/FreeCAD/commit/8a6f7cb687a
2022-03-28 02:25:19 +02:00
wmayer
96de83006b Fem: [skip ci] use the required type for the vtk API 2022-03-27 20:54:26 +02:00
wmayer
06aa45d7d4 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
42596f2f1b [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
aab8a91e08 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
0180a2ffff [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
067e2938d1 [skip CI] [FEM] remove an unused header
- also some code styles improvements
2022-03-26 04:32:17 +01:00
wmayer
076501b73b FEM: include header with export macros 2022-03-24 20:47:56 +01:00
wmayer
ee28112968 Fem: include Python.h before any vtk headers to fix compiler warnings 2022-03-24 20:05:27 +01:00
Uwe
e8d64631ad [FEM] App headers: remove unused headers 2022-03-24 15:35:32 +01:00
wmayer
d21a60b294 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
wmayer
bde17e1b9f Fem: modernize C++11
* use nullptr
2022-03-23 19:26:15 +01:00
Uwe
d3595f267b [FEM] remove Python.h and Xerces 2022-03-21 01:22:59 +01:00
wmayer
fd8ce30575 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
e4d1ed8366 Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
1f12dca2b4 Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
0f9768fb33 Fix coverity issue:
* CID 332682: Resource leak
* CID 350607: Resource leak
* CID 332677: Resource leak
2022-03-14 11:35:04 +01:00
wmayer
08b77bff08 Core/Mod: modernize C++11
* use nullptr
2022-03-09 21:55:31 +01:00
wmayer
91e4e468dd 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
5e0cfc64ee App: use forward declarations 2022-03-04 21:09:46 +01:00
marioalexis
705d6f139e Fem: Call PyMem_Free() to free allocated buffer 2022-02-09 16:05:14 +01:00
wmayer
eedc96b9fd Fem: fix crash caused by PropertyPostDataObject::getPyObject() 2022-02-02 16:34:30 +01:00
wmayer
96aa87a45f Fem: fix possible crash when loading a VTK file 2022-01-27 10:37:16 +01:00
Ajinkya Dahale
bdedb27d49 [FEM] Use OpenMP for FemMesh::{getNodesByEdge, getNodesByVertex} 2022-01-07 01:23:01 +01:00
Ajinkya Dahale
7e0b89a619 [FEM] Possibly fix race conditions
Race conditions introduced after using OpenMP in `FemMesh::getNodesByFace` and
`FemMesh::getNodesBySolid` because of which nodes were randomly added or removed
from sets. Solved by replacing `SMDS_MeshNode::X()` etc., which are not thread
safe, with the thread-safe `SMDS_MeshNode::GetXYZ()`.
2022-01-07 01:23:01 +01:00
Philipp Knechtges
89ece3590e [FEM] OpenMP-parallelize FemMesh::{getNodesBySolid,getNodesByFace}
Projecting nodes onto TopoDS_Shapes is a costly task, which can
potentially take a lot of time, so let's parallelize it.
2022-01-07 01:23:01 +01:00
wmayer
99dc3fec76 Fem: include FemGlobal.h 2021-12-18 14:35:20 +01:00
wmayer
4e8823b584 OCCT: port FreeCAD sources to version 7.6 2021-10-11 00:28:12 +02:00
Preslav
fb0e670d8a Added spring boundary condition 2021-09-17 11:08:08 +02:00
wmayer
9ce79bf3c7 Mod: fix warning [-Wmacro-redefined] 2021-09-14 22:57:17 +02:00
luz paz
4d21ffa904 Fix various typos 2021-07-31 09:46:50 +02:00
Bernd Hahnebach
09b7bede23 FEM: cpp python mesh api, fix crash if not existing group was given in get name method 2021-06-24 17:25:54 +02:00
luz paz
1212bef4cd [FEM] remove Py2 code 2021-04-25 11:25:29 +02:00
wmayer
f95aeb7144 smesh: [skip ci] build FEM & MeshPart with C++14 when using external smesh because it doesn't support C++17 yet 2021-03-31 15:35:28 +02:00