Commit Graph

373 Commits

Author SHA1 Message Date
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
Przemo Firszt
9e43233bfc FEM: General_name is invalid since f96f319986
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:14 +02:00
Przemo Firszt
b254e123d1 FEM: Reduce femConsole noise
Showing ccx output during short colculations doesn't make any sense.
During long calculations user is flooded with messages, that ccx
produced empty output.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:14 +02:00
Przemo Firszt
7772322720 FEM: Remove multiple empty lines produced by ccx before sending to FEM console
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:13 +02:00
Przemo Firszt
ecdf822536 FEM: Always scroll FEM console to the bottom after adding new message
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:12 +02:00
Przemo Firszt
27d3ea5772 FEM: Typo/white space fix
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:12 +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
e57535985b FEM: Remove never used saveMat function
That function won't be used as there is a plan to merge material
handling with Arch wb and Arch wb already has material editor.

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:09 +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
2bb7e0fea8 FEM: Force showing Youngs modulus in MPa
That commit fixes inconsistent behaviour of Young's modulus input field
units in FEM material dialog window.

Reported-by: sgrogan
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
Przemo Firszt
b9ecc4a569 FEM: Fix typo
Reported-by: dubstar-04
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-27 21:33:06 +02:00
wmayer
93526b3d87 + FEM: Add icon to command 2015-04-24 21:45:34 +02:00
wmayer
603d51ed9a + FEM: reimplement function to create FEM mesh from shape 2015-04-23 23:36:05 +02:00
wmayer
51ef3a85bc + FEM: cleanup of unused dialog 2015-04-23 23:11:47 +02:00
Przemo Firszt
439e99a57a FEM: Change Start Calculations shortcut to S, C
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:05:44 +02:00
Przemo Firszt
61cf264507 FEM: Change Show Results shortcut to S, R
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:05:27 +02:00
Przemo Firszt
7026622979 FEM: Change New Analysis shortcut to N, A
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:05:06 +02:00
Przemo Firszt
f00a353268 FEM: Change Mechanical Material shortcut to M, M
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:04:50 +02:00
Przemo Firszt
cd76999943 FEM: Change order of FEM toolbar items
Suggested by wmayer

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:04:31 +02:00
Przemo Firszt
7a54431073 FEM: Reset min/max/avg to the initial state after user selected None
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:04:09 +02:00
Przemo Firszt
e0ebdc603f FEM: Show displacement/stress nicely formatted and with proper units
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:03:44 +02:00
Przemo Firszt
954be3f18c FEM: Rename min/max to avoid unintentional built-in function overload
min/max are python build-in functions, so we shouldn't use them as variable names

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:03:26 +02:00
Przemo Firszt
20d10ccb75 FEM: Fix white spaces
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:03:04 +02:00
Przemo Firszt
e96cc5ed00 FEM: Ignore unicode conversion errors
Solution suggested by shoogen
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:02:42 +02:00
Przemo Firszt
a0caf91c23 FEM: Cut material name to 80 characters
CalculiX documentation tells that maximum alowed material name length
is 80 characters, so we have to respect that. Also ccx quietly fails if
that limit is not honoured.

Reported-by: bernd
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2015-04-23 17:02:22 +02:00