Commit Graph

232 Commits

Author SHA1 Message Date
wmayer
118d2eb531 + fix typo in FEM 2015-12-09 13:19:13 +01:00
Bernd Hahnebach
d8af8693b4 FEM: fix node order of seg3 (B32) in writeAbaqus 2015-11-30 11:21:51 -02:00
Bernd Hahnebach
a25c4ac7da FEM: delete FemExample since there is no example inside 2015-11-28 20:04:22 -02:00
Bernd Hahnebach
9d2d92336e FEM: rename modul MechanicalAnalysis to FemAnalysis 2015-11-28 20:04:22 -02:00
Bernd Hahnebach
03d1d32e38 FEM: rename command MechanicalJobControl to SolverJobControl 2015-11-28 20:04:22 -02:00
Bernd Hahnebach
181262b39d FEM: rename TaskPanelJobControl to TaskPanelFemSolverCalculix 2015-11-28 20:04:22 -02:00
Bernd Hahnebach
6865e35fd9 FEM: add CalculiX solver object 2015-11-28 20:04:22 -02:00
Author qingfengxia
80cf664ec8 FEM: new solver object implementation of the object 2015-11-28 20:04:22 -02:00
Bernd Hahnebach
2f5706262d FEM: add SMESH supported volumes to Python API of FemMesh 2015-11-19 19:00:52 +01:00
wmayer
4af7d95a6d + support of linear b-spline/bezier curves and planar b-spline/bezier surfaces to get direction 2015-11-11 18:27:26 +01:00
Bernd Hahnebach
ba394818a3 FEM: separate selection observer class from _TaskPanel shellthickness and beamsection 2015-11-11 09:14:49 +01:00
Bernd Hahnebach
5e234486b2 FEM: rename uis of python task panels to TaskPanelName 2015-11-08 09:32:01 +01:00
Bernd Hahnebach
062895c626 FEM: sort modules in CMakefiles 2015-11-07 18:36:28 +01:00
Bernd Hahnebach
c542a88e5e FEM: move CalculiX test files to test_files/ccx directory 2015-11-07 17:23:31 +01:00
Bernd Hahnebach
d10d18bd4d FEM: rename ObjectsTaskPanel into TaskPanelObjects 2015-11-07 16:41:11 +01:00
Bernd Hahnebach
05a20ecc77 FEM: split MechanicalMaterial into separate modules 2015-11-07 13:24:45 -02:00
Bernd Hahnebach
0c55f927f5 FEM: add getNodesBySolid()
Conflicts:
	src/Mod/Fem/App/FemMesh.cpp
2015-11-07 13:24:45 -02:00
Bernd Hahnebach
59bafd51c0 FEM: split FemBeamSection into separate modules 2015-11-05 17:31:02 +01:00
Bernd Hahnebach
5d9954d3da FEM: split FemShellThickness into separate modules 2015-11-05 17:31:02 +01:00
Przemo Firszt
64950056b8 FEM: Fix typos in property definitions
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-11-03 20:04:23 +00:00
Przemo Firszt
d025f1e109 FEM: Replace invalid ElementNumbers with NodeNumbers
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-11-03 20:04:23 +00:00
Przemo Firszt
a85c68aa65 FEM: Add EigenmodeFrequency property to result object
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-11-03 20:04:23 +00:00
Przemo Firszt
9531c0b088 FEM: Add Eigenmode property to result object
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-11-03 20:04:23 +00:00
Przemo Firszt
30e2ec315b FEM: Add simple dat file reader
It's a simple CalculiX dat file reader used to extract eigenmode
frequencies after freqyency analysis.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-11-03 20:04:23 +00:00
wmayer
e3221376e1 + use right namespace for template instantiation to fix linker errors on Windows 2015-10-25 23:06:21 +01:00
wmayer
15a6a463b3 + need dummy class for FeaturePython class to work 2015-10-25 22:42:50 +01:00
Przemo Firszt
ddb20e7329 FEM: Remove Frequency Analysis from GUI
Separate Frequency analysis button is no longer required.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-19 21:28:06 +02:00
wmayer
861dc86093 + make FEM beam section and shell thickness ready for drag and drop 2015-10-19 14:48:07 +02:00
wmayer
337a36ceb8 + write out nodes sorted by id to abaqus file 2015-10-18 12:32:09 +02:00
Przemo Firszt
f1f67b2298 FEM: Add FemCommand class and use it in _CommandFrequencyAnalysis
FemCommand class will gather all common functions/propertied od FEM gui
commands. That should allow to reduce some common code.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-13 21:41:01 +02:00
Przemo Firszt
9b816905f1 FEM: Move _CommandNewMechanicalAnalysis class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:41 +02:00
Przemo Firszt
cf8ef4d9bc FEM: Move _CommandFemFromShape class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:41 +02:00
Przemo Firszt
dfb2335421 FEM: Move _CommandMechanicalJobControl class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:40 +02:00
Przemo Firszt
7a0c300aa3 FEM: Move _CommandPurgeFemResults class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:39 +02:00
Przemo Firszt
039b632758 FEM: Move _CommandQuickAnalysis class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:39 +02:00
Przemo Firszt
ad68cad1bf FEM: Move _CommandFrequencyAnalysis class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:38 +02:00
Przemo Firszt
dec1563c95 FEM: Move _CommandMechanicalShowResult class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:37 +02:00
Przemo Firszt
d6392b751a FEM: Move _FemAnalysis class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:36 +02:00
Przemo Firszt
c5d0fd8d4b FEM: Move _ViewProviderFemAnalysis class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:36 +02:00
Przemo Firszt
0f71211602 FEM: Move _JobControlTaskPanel class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:35 +02:00
Przemo Firszt
e3a7a7955e FEM: Move _ResultControlTaskPanel class to separate file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-10-11 09:36:35 +02:00
Bernd Hahnebach
705c339f21 FEM: added object FemShellThickness and FemBeamSection to enable shell and beam analysises 2015-09-23 20:11:11 -03:00
Mateusz Skowroński
43a4a5938c Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
Przemo Firszt
b25d2cd54d FEM: FemTest rework
- move test files to a separate directory
- use real life model to generate .inp files (model included)
- change format of csv node/volume files to allow direct copy&paste from .inp files
- use pre prepared real-life .dat & .frd files to test analysis results loading functions
- much more fine grained error reporting
- remove empty lines for output
- add helper function to print to console

Example run of the FEM test:

--------------- Start of FEM tests ---------------
Checking FEM new analysis...
Checking FEM new mesh...
sh: SMDS_MemoryLimit: command not found
Checking FEM new material...
Checking FEM new fixed constraint...
Checking FEM new force constraint...
Checking FEM new pressure constraint...
Checking FEM inp file prerequisites...
Checking FEM inp file write...
Setting up working directory /tmp/FEM_static
Writing /tmp/FEM_static/Mesh.inp for static analysis
Comparing /home/przemo/software/FreeCAD/build/Mod/Fem/test_files/cube_static.inp to /tmp/FEM_static/Mesh.inp
Setting up working directory to /home/przemo/software/FreeCAD/build/Mod/Fem/test_files in order to read simulated calculations
Setting base name to read test cube_static.frd file...
Checking FEM frd file read from static analysis...
Result object created as "Results"
Reading stats from result object for static analysis...
Setting analysis type to 'frequency"
Setting up working directory /tmp/FEM_frequency
Writing /tmp/FEM_frequency/Mesh.inp for frequency analysis
Comparing /home/przemo/software/FreeCAD/build/Mod/Fem/test_files/cube_frequency.inp to /tmp/FEM_frequency/Mesh.inp
Setting working directory to read simulated calculations...
Setting base name to read test cube_frequency.frd file...
Checking FEM frd file read from frequency analysis...
Last result object created as "Mode_10_results"
Reading stats from result object for frequency analysis...
--------------- End of FEM tests ---------------

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-09-21 11:16:03 -03:00
wmayer
2991bbf033 + fixes #0001238: Preferences: set temp files directory 2015-09-19 16:07:33 +02:00
wmayer
c05baee29a + fix warnings in Fem 2015-09-11 15:11:55 +02:00
Eivind Kvedalen
6d84d419c2 Mod/Fem: Removed -Wunused-variable warnings. 2015-09-11 14:52:32 +02:00
Przemo Firszt
32c96b4267 Tests, FEM: Add test for frequency analysis
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-09-09 12:17:12 -03:00
Przemo Firszt
5e3dc0c2c9 Tests, FEM: Fix inp file writing test
It's a compare line-by-line without comment lines now instead of
previously used md5 sum comparison.

inp pre filtering method suggested by Far-Zer
File location fixes by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-08-18 13:44:28 +01:00
Przemo Firszt
5f4f6047e3 Tests, FEM: Add inp file writing test
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-07-29 10:58:19 -03:00
wmayer
7d98705396 + harmonize XercesC cmake variables with official check 2015-07-28 14:17:49 +02:00
Przemo Firszt
632a554802 Test, FEM: Add new analysis test
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-07-27 14:03:44 +01:00
wmayer
d95003e92c + replace deprecated PYTHON_INCLUDE_PATH 2015-07-25 18:29:42 +02:00
wmayer
b3970f63ba + implement missing types in FemMesh.addFace 2015-07-10 11:01:17 +02:00
Przemo Firszt
e0956f67f3 FEM: Add basic FemTools module
That module will handle in the future all non-gui related features
that are currently in MechanicalAnalysis.py. It will allow easier
python scripting and greater flexibility when creating new FEM wb
features.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-07-06 19:21:43 +02:00
Przemo Firszt
4caa464ebb FEM: All FEM results are stored in a single object
Functionality previously provided by setNodeColorByResult is now
in setNodeColorByScalars. FemResult* object is no longer required,
the function accepts list of elements and a list of values.

Functionality previously provided by setNodeDisplacementByResult is now
in setNodeDisplacementByVectors. FemResult* object is no longer required,
the function accepts list of elements and a list of vectors.

A side effect: FemResultValues and FemResultVector are no longer used
and have bee removed.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-24 17:44:02 +02:00
wmayer
24b71377e1 + fix whitespaces 2015-05-26 17:55:38 +02:00
Przemo Firszt
e13a8cf304 FEM: Add ConstraintPressure
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-26 14:17:45 +01:00
wmayer
1099b23587 + raise error message when trying to mesh without netgen support 2015-05-22 16:15:18 +02:00
wmayer
96e77ab5bf + FEM: replace set with list to preserve order 2015-05-15 13:48:29 +02:00
wmayer
45604b3874 + use list of pairs instead of map for getVolumesByFace 2015-05-09 12:02:25 +02:00
wmayer
814c144ecb + FEM: add a couple of methods to Python interface 2015-05-09 00:15:05 +02:00
wmayer
9e89f2ff9a + implement FemMesh::getVolumesByFace, replace inner list by tuple 2015-05-08 21:45:13 +02:00
Przemo Firszt
48efcc449b FEM: Add getccxVolumesByFace and write_face_load functions
getccxVolumesByFace returns std::map<int, int> with ID of volume
and a number of face as per CalculiX definition. The same function is
accessible for python and returns list with the same information, like
this: [[229, 3], [230, 3], [233, 2], [238, 2]]

write_face_load produces something like this in the .inp file:

***********************************************************
** element + CalculiX face + load in [MPa]
** written by write_face_load function
*DLOAD
** Load on face Face2
229,P3,10.0
230,P3,10.0
233,P2,10.0
238,P2,10.0

Optimised by wmayer

Signed-off-by: wmayer
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-08 20:58:59 +02:00
Przemo Firszt
be43c7f5c0 FEM: getNodesByVertex should return int not long
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-08 20:58:43 +02:00
Przemo Firszt
3395d4ea02 FEM: getNodesByEdge should return int not long
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-08 20:58:26 +02:00
Przemo Firszt
0e670396fa FEM: getNodesByFace should return int not long
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-08 20:58:07 +02:00
Przemo Firszt
294939f471 FEM: Rename CalculixLib to ccxFrdReader
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:11 +02:00
Przemo Firszt
d6b2ae8096 FEM: Move .inp writer to InpWriter.py file
Suggested by: bernd
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:10 +02:00
Przemo Firszt
af4ad9059a FEM: Remove never used colorValue function and FemLib.py file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:08 +02:00
Przemo Firszt
efcfd10a56 FEM: Remove empty python file added with commit 2818bc4ddf
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:07 +02:00
wmayer
f6638d49ce + improve abaqus export 2015-04-14 13:33:20 +02:00
wmayer
9ea9980b2c + fix bad choose of limit 2015-04-11 01:06:03 +02:00
wmayer
ff774748cd + FEM: get nodes by vertex 2015-03-30 11:45:35 +02:00
wmayer
f84a150bfd + choose consistent C++ and Python method names
+ fix typos
+fix whitespaces
2015-03-30 10:42:14 +02:00
Bernd Hahnebach
a15ea4ca18 Fem: add Support for loads and supports on edges to CalculiX file 2015-03-30 10:24:38 +02:00
wmayer
b007bd19e4 + improve abaqus exporter 2015-03-15 14:53:22 +01:00
wmayer
5d159f5cf3 + fix crash in export to abaqus 2015-03-15 02:08:55 +01:00
wmayer
bafe8d4b14 + set Const attribute to some methods of FemMesh 2015-03-12 10:42:23 +01:00
wmayer
cc7c1d1f44 + fix assert failure in FemMesh 2015-03-10 12:44:22 +01:00
wmayer
b24f25d874 + in Fem constraint force dialog handle empty Direction 2015-02-27 23:27:08 +01:00
wmayer
2a4d29d0ac + use undo/redo for Fem constraint force dialog 2015-02-27 11:21:05 +01:00
wmayer
18f1cf7821 + fix issue with bad default value of natural direction 2015-02-20 14:40:03 +01:00
Richard Crozier
65092be5f3 Correct spelling of FEM Netgen Mesh 'Fineness' parameter 2015-01-12 11:12:30 +01:00
Richard M. Shaw
a8d24be3b3 Update CMake config to work with smesh 6.5.3.1.
New fork of standalone smesh is available here:
https://github.com/tpaviot/smesh
2014-12-19 11:23:38 +01:00
Sebastian Hoogen
debca91e98 remove support for automake 2014-11-26 10:26:30 +01:00
Sebastian Hoogen
a53a239f2f issue #1027 use unicode filepaths 2014-10-11 13:32:06 +02:00
wmayer
71154f5f25 + fix issues with force constraint 2014-10-10 17:42:33 +02:00
wmayer
23a58fedf7 + fix warnings with clang 2014-09-24 18:00:46 +02:00
wmayer
032c893183 + fix warnings with clang 2014-09-24 17:46:04 +02:00
Sebastian Hoogen
5e51a6cdf7 fixes #0001422: Subclass Exception
inherit Base.FreeCADError form RuntimeError
inherit Part.OCCError from Base.FreeCADError
inherit OCCDomainError from Part.OCCError
inherit OCCRangeError from Part.OCCError
inherit OCCConstructionError from OCCDomainError
inherit OCCDimensionError from OCCDomainError
Added PY_CATCH_OCC macro
replace PyExc_Exception
use FreeCADError in makeWireString
catch exception in BSplineCurve.increasedegree
2014-09-17 11:15:56 +02:00
jriegel
ec2198107b move build specifier in own cMake group 2014-08-03 20:53:19 +02:00
wmayer
6b89c03181 Add initial support for different libdir (jobermayr) 2014-05-10 12:57:38 +02:00
wmayer
3b6d07833d + compile with clang 2014-05-05 16:24:01 +02:00
mdinger
337f05d56e Move python module prefix and suffix properties into macro to be set together 2014-05-03 16:00:30 +02:00
wmayer
1a7cea9b59 + Fix prefix of Python extensions built with MinGW 2014-04-30 18:22:52 +02:00
mdinger
a17cce3559 Remove unnecessary quotes. 2014-04-30 13:41:16 +02:00
mdinger
1942bb7906 Apply SET_BIN_DIR macro to Mod 2014-04-30 13:41:13 +02:00
jriegel
dc6eeb10a6 fix load of BDF with element number bigger 1000000 2014-03-24 21:12:21 +01:00
wmayer
e9b275c7e6 + support loading projects with old pad features, fix critical bug where the unit gets replaced 2014-02-12 15:14:02 +01:00