Commit Graph

1049 Commits

Author SHA1 Message Date
Przemo Firszt
1b5ff48484 FEM: Add curly brackets to one line for/if or if/if commands
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:35:34 +01:00
Przemo Firszt
c3c79596fc FEM: Disable Show result button if there are no results in analysis
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:35:34 +01:00
Przemo Firszt
92baddfce9 FEM: Add Purge FEM results button
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:35:34 +01:00
Przemo Firszt
c703fe8294 FEM: Simplify setting FEM results when user selected None
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:35:34 +01:00
Przemo Firszt
2eb5562d76 FEM: Fix problem with Show button not reverting mesh deformation
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:35:34 +01:00
Przemo Firszt
bc5e94edca FEM: Don't use bool as variable name
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:35:21 +01:00
Przemo Firszt
3eea4daf89 FEM: Don't check is Show is checked after slider has been moved.
Slider is disbled is Show is not ticked, so that check is redundant.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:35:10 +01:00
Przemo Firszt
2c8675f24d FEM: Switch to reading analysis stats from AnalysisStats object
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:28:44 +01:00
Przemo Firszt
cab75ef79a FEM: Add AnalysisStats object
This commit add a new object to Analysis: AnalysisStats. AnalysisStats
contains list with 15 values (an example):
-0.000776373	<-- minimum X displacement
-7.74494e-06	<-- average X displacement
0.000774115	<-- maximum X displacement
-0.00416267	<-- minimum Y displacement
-0.00204191	<-- average Y displacement
0		<-- maximum Y displacement
-0.000775108	<-- minimum Z displacement
1.09288e-05	<-- average Z displacement
0.000775122	<-- maximum Z displacement
0		<-- minimum Abs displacement
0.00214509	<-- average Abs displacement
0.00430481	<-- maximum Abs displacement
0.390598	<-- minimum Von Mises Stress
0.93509		<-- average Von Mises Stress
1.47765		<-- maximum Von Mises Stress

Those values will be used to set field values in FEM results dialog
instead of currently used values returned by setNodeColorByResult
function.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:28:44 +01:00
Przemo Firszt
99c7da8610 FEM: simplify reading lines from frd file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:28:44 +01:00
Przemo Firszt
5ecda048a0 FEM: replace input with frd_file in ccxFrdReader.py
input is a built-in function name and should not be used as variable name

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:28:44 +01:00
Przemo Firszt
5f272f74e4 FEM: use is instead of == for None in ccxFrdReader.py
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:28:44 +01:00
Przemo Firszt
4218d91aea FEM: replace deprecated has_key in ccxFrdReader.py
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:28:44 +01:00
Przemo Firszt
425e7ca8d6 FEM: white space fixes in ccxFrdReader.py
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-06-02 11:28:44 +01:00
wmayer
a996650a1d + fix whitespaces 2015-05-26 17:55:38 +02:00
Przemo Firszt
d51d1df63e FEM: fix white spaces in ccxInpWriter.py
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-26 14:33:43 +01:00
Przemo Firszt
1dd7e5925a FEM: Add ConstraintPressure
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-26 14:17:45 +01:00
Bernd Hahnebach
c6e112b865 FEM: CLOAD, mesh face area is used for surface loads on volume faces 2015-05-26 13:50:38 +02:00
wmayer
e12854af50 + raise error message when trying to mesh without netgen support 2015-05-22 16:15:18 +02:00
wmayer
6e0287ff17 + remove SoFCSelection from ViewProviderGeometryObject 2015-05-20 21:44:27 +02:00
wmayer
cab441cf2a + remove references to SoFCSelection where not needed 2015-05-20 19:24:12 +02:00
jriegel
0ce20ceaaa add shell and beam support to FEM mesh ViewProvider 2015-05-19 21:42:36 +02:00
Przemo Firszt
09652a0f46 FEM: Fix crash on missing unit when editing material second time
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-18 17:09:30 +01:00
wmayer
7eb2ab64cb + FEM: replace set with list to preserve order 2015-05-15 13:48:29 +02:00
Przemo Firszt
ed32dae143 FEM: Fix Von Mises equation
Reported-by: sgrogan and confirmed by drei

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-12 15:58:49 +01: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
29205f7f4d FEM: Fix invalid CLOAD formatting
Existing code was producing invalid results:

a = 9876543212346789864323456.9543234578986432345678
>>> print "{:.13}".format(repr(a))
9.87654321234
>>> a
9.87654321234679e+24
The new converision should work fine:
>>> print "{:.13E}".format(a)
9.8765432123468E+24

Reported & fixed by ulrich1a
2015-05-08 20:59:32 +02:00
Przemo Firszt
09921c9bb7 FEM: inp file formatting/typos
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-08 20:59:14 +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
d683cba624 FEM: Add comments to .inp file about functions
Adding detailed information which function is responsible for
creating a proticular section of the .inp file should save
some guesswork. An example from the .inp file:

[..]
***********************************************************
** node sets for loads
** written by write_load_node_sets function
*NSET,NSET=FemConstraintForce
1,
3,
[..]

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:30:53 +02:00
Przemo Firszt
eb6a163049 FEM: Use local variable to avoid long strings in write_constraints_force
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:30:35 +02:00
Przemo Firszt
3f1a566d97 FEM: Use local variable to avoid long strings in write_constraints_fixed
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:30:20 +02:00
Przemo Firszt
c35223858f FEM: Use local variable to avoid long strings in write_materials
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:30:05 +02:00
Przemo Firszt
078b1ff9b3 FEM: Use local variable to avoid long strings in write_load_node_sets
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:29:48 +02:00
Przemo Firszt
5d2d386689 FEM: Material name has to be limited to 80 characters for ccx
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:29:30 +02:00
Przemo Firszt
0e61a56082 FEM: Use local variable to avoid long strings in write_fixed_node_sets
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:29:14 +02:00
Przemo Firszt
4170eeba41 FEM: Use local variable to avoid long strings in write_material_element_sets
print material_object['Object'].Name, ':  ', material_object['Object'].Material['Name']

becomes this:

print mat_obj_name, ':  ', mat_name

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:28:57 +02:00
Przemo Firszt
888ad7591c FEM: Rename variables f->elem, inpfile->f
The reason behind that change is that auxiliary variables,
like a file handle, should not be too visible. inpfile was
a good description, but we're handling only one file and there
is no need to use a descriptive variable name for it in every function.
It's enough that is used in write_calculix_input_file

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-05-01 17:28:39 +02:00
wmayer
859d76faf8 + fixes #0002075: Analysis of FreeCAD by PVS-Studio static analyzer 2015-05-01 16:56:31 +02:00
Przemo Firszt
af7071adb4 FEM: Split inp write_calculix_input_file into functions
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:19 +02:00
Przemo Firszt
b59138d784 FEM: Make sure Young's modulus is written in MPa
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:18 +02:00
Przemo Firszt
9b5301a004 FEM: Replace invalid General_description with Description
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:17 +02:00
Przemo Firszt
bf69358097 FEM: ccxInpWriter shouldn't do any validation or guessing
Also, there is no need to print material parameters to the console.
User can see that info in dialog box, in .inp file and it's also printed
to console after material has been set.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:17 +02:00
Przemo Firszt
27cf3628b7 FEM: Make sure Edit/Run buttons stay disabled if ccxInpWriter didn't generate .inp file
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:16 +02:00
Przemo Firszt
617a9c84a4 FEM: Cleaning ccxInpWriter
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:15 +02:00