Commit Graph

602 Commits

Author SHA1 Message Date
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
wmayer
cc36033de6 Fem: refactor FemMesh::readNastran95 2021-03-11 01:26:19 +01:00
wmayer
e0d13ce3dc Fem: refactor FemMesh::readNastran 2021-03-10 22:56:08 +01:00
wmayer
eeba01e8fb Fem: [skip ci] support NASTRAN CTRIA3 elements 2021-03-10 19:38:11 +01:00
wmayer
125e4f5979 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
1384903af8 [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
fdbd84ec39 FEM: [skip ci] fix crash in Constraint::getDirection 2021-02-26 08:11:16 +01:00
wmayer
ab04719372 FEM: [skip ci] support Line and Plane objects in Constraint::getDirection() 2021-02-24 23:53:15 +01:00
wmayer
d48718fd0d FEM: add basic support of Nastran-95 2021-02-04 13:56:15 +01:00
ceanwang
f34eff7946 Changed comment for free format CTETRA element 2021-02-04 13:25:13 +01:00