Commit Graph

598 Commits

Author SHA1 Message Date
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
marioalexis
efe0a39d34 Fem: Call PyMem_Free() to free allocated buffer 2022-02-09 16:05:14 +01:00
wmayer
343f31589a Fem: fix crash caused by PropertyPostDataObject::getPyObject() 2022-02-02 16:34:30 +01:00
wmayer
7ef448572d Fem: fix possible crash when loading a VTK file 2022-01-27 10:37:16 +01:00
Ajinkya Dahale
8a59607517 [FEM] Use OpenMP for FemMesh::{getNodesByEdge, getNodesByVertex} 2022-01-07 01:23:01 +01:00
Ajinkya Dahale
147f2a0b07 [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
8087b34840 [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
d88165c284 Fem: include FemGlobal.h 2021-12-18 14:35:20 +01:00
wmayer
51e4366085 OCCT: port FreeCAD sources to version 7.6 2021-10-11 00:28:12 +02:00
Preslav
1ceaa09d17 Added spring boundary condition 2021-09-17 11:08:08 +02:00
wmayer
ce285ea265 Mod: fix warning [-Wmacro-redefined] 2021-09-14 22:57:17 +02:00
luz paz
eab17ddff5 Fix various typos 2021-07-31 09:46:50 +02:00
Bernd Hahnebach
991817a47d 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
1e795e869c [FEM] remove Py2 code 2021-04-25 11:25:29 +02:00
wmayer
5169a7e852 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
wmayer
b6634e041b Fem: refactor FemMesh::readNastran95 2021-03-11 01:26:19 +01:00
wmayer
38b54de578 Fem: refactor FemMesh::readNastran 2021-03-10 22:56:08 +01:00
wmayer
d4a37421ff Fem: [skip ci] support NASTRAN CTRIA3 elements 2021-03-10 19:38:11 +01:00
wmayer
df738615fd Fem: [skip ci] fix possible crash in Fem::readNastran
The crash can occur if node ids are referenced by faces or volumes that do not exist in the mesh.
2021-03-10 16:39:06 +01:00
Benjamin Nauck
7ec00e22f0 [Fem] Use std::shared_ptr instead of boost::shared_ptr
There's no need to use boost version when stl has support for shared_ptr
2021-03-06 19:32:03 +01:00
wmayer
b2ca86d8d7 FEM: [skip ci] fix crash in Constraint::getDirection 2021-02-26 08:11:16 +01:00
wmayer
7a56781285 FEM: [skip ci] support Line and Plane objects in Constraint::getDirection() 2021-02-24 23:53:15 +01:00
wmayer
5903ff4426 FEM: add basic support of Nastran-95 2021-02-04 13:56:15 +01:00
ceanwang
3ad8367b5e Changed comment for free format CTETRA element 2021-02-04 13:25:13 +01:00
ceanwang
172d2d8a27 Added readNastran95() 2021-02-04 13:25:13 +01:00
ceanwang
67ee247c0c Added readNastran95() 2021-02-04 13:25:13 +01:00
wmayer
7066bfed67 Fem: [skip ci] fix FemMesh::addGroup() for smesh 9 2021-01-24 15:29:56 +01:00
wmayer
f490852ab9 FEM: make FemMesh::getVolumesByFace() working for SMESH >= 7 2021-01-21 13:00:31 +01:00