Commit Graph

153 Commits

Author SHA1 Message Date
Przemo Firszt
5928a70ac2 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
5d455e2137 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
f185b77fb0 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
8f9a4d5c6b 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
9b65099128 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
d6b81b9888 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
a412106130 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
6da92fd572 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
64021f66c5 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
20416cebf2 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
e115a1e994 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
f96f6acd80 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
63ec2c1c93 FEM: added object FemShellThickness and FemBeamSection to enable shell and beam analysises 2015-09-23 20:11:11 -03:00
Mateusz Skowroński
05f95c0506 Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
Przemo Firszt
6f1f34ff80 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
ef203bc260 + fixes #0001238: Preferences: set temp files directory 2015-09-19 16:07:33 +02:00
wmayer
582b5fb321 + fix warnings in Fem 2015-09-11 15:11:55 +02:00
Eivind Kvedalen
dfcf659afa Mod/Fem: Removed -Wunused-variable warnings. 2015-09-11 14:52:32 +02:00
Przemo Firszt
9a0579bb82 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
d74600191e 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
c19b00b8ab Tests, FEM: Add inp file writing test
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-07-29 10:58:19 -03:00
wmayer
c2c83a353b + harmonize XercesC cmake variables with official check 2015-07-28 14:17:49 +02:00
Przemo Firszt
a70f1e2c27 Test, FEM: Add new analysis test
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-07-27 14:03:44 +01:00
wmayer
d2b7b730d3 + replace deprecated PYTHON_INCLUDE_PATH 2015-07-25 18:29:42 +02:00
wmayer
2829d2bdb6 + implement missing types in FemMesh.addFace 2015-07-10 11:01:17 +02:00
Przemo Firszt
9ffa46904b 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
53df1e1471 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
a996650a1d + fix whitespaces 2015-05-26 17:55:38 +02:00
Przemo Firszt
1dd7e5925a FEM: Add ConstraintPressure
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-26 14:17:45 +01:00
wmayer
e12854af50 + raise error message when trying to mesh without netgen support 2015-05-22 16:15:18 +02:00
wmayer
7eb2ab64cb + FEM: replace set with list to preserve order 2015-05-15 13:48:29 +02:00
wmayer
02a23ba86f + use list of pairs instead of map for getVolumesByFace 2015-05-09 12:02:25 +02:00
wmayer
a538d3c29d + FEM: add a couple of methods to Python interface 2015-05-09 00:15:05 +02:00
wmayer
d3029657f0 + implement FemMesh::getVolumesByFace, replace inner list by tuple 2015-05-08 21:45:13 +02:00
Przemo Firszt
92124ac084 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
6879373168 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
36567695d3 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
982976bdc5 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
8a3c346971 FEM: Rename CalculixLib to ccxFrdReader
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:11 +02:00
Przemo Firszt
214aff046a 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
c1ea3d2179 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
d91862da6a 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
800a0a7b67 + improve abaqus export 2015-04-14 13:33:20 +02:00
wmayer
80680c986c + fix bad choose of limit 2015-04-11 01:06:03 +02:00
wmayer
5f04c6e882 + FEM: get nodes by vertex 2015-03-30 11:45:35 +02:00
wmayer
0ad627b06d + choose consistent C++ and Python method names
+ fix typos
+fix whitespaces
2015-03-30 10:42:14 +02:00
Bernd Hahnebach
d2888e6c28 Fem: add Support for loads and supports on edges to CalculiX file 2015-03-30 10:24:38 +02:00
wmayer
1f641abb51 + improve abaqus exporter 2015-03-15 14:53:22 +01:00
wmayer
97aba58bb2 + fix crash in export to abaqus 2015-03-15 02:08:55 +01:00
wmayer
84d878fa81 + set Const attribute to some methods of FemMesh 2015-03-12 10:42:23 +01:00