Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do Not Merge, #945

Closed
wants to merge 208 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
208 commits
Select commit Hold shift + click to select a range
94ccd93
FEM: elmer, add solver document object
drhooves Jun 7, 2017
086f2aa
FEM: elmer, add GUI command to add solver object
drhooves Jun 7, 2017
ea803fc
FEM: elmer, add FemTools for elmer solver
drhooves Jun 7, 2017
4f877d8
FEM: elmer, add elmer solver to run command
drhooves Jun 7, 2017
f6089be
FEM: elmer, add sifio library
drhooves Jun 23, 2017
587c989
FEM: elmer, add FemDefsElmer definitions file
drhooves Jun 23, 2017
ca19cd4
FEM: elmer, expose some solver settings
drhooves Jun 23, 2017
dff5238
FEM: elmer, add experimental report framework
drhooves Jun 23, 2017
f6e4754
FEM: elmer, implement generation from FC analysis
drhooves Jun 23, 2017
6f7da32
FEM: elmer, add dependency checks (analysis)
drhooves Jun 26, 2017
c4935d5
FEM: elmer, fix thermomech simulations
drhooves Jun 27, 2017
0f209ff
FEM: elmer, use fcstd location for case directory
drhooves Jun 27, 2017
ad02ff5
FEM: elmer, add open in paraview command
drhooves Jun 27, 2017
d5a7105
FEM: elmer, add elmer to toolbar and add icon
drhooves Jun 27, 2017
978169b
FEM: elmer, add support for multiple materials
drhooves Jul 4, 2017
83628cd
FEM: elmer, make source falke8 compliant
drhooves Jul 4, 2017
f93c4b5
FEM: elmer, replace tabs with spaces (CMakeLists)
drhooves Jul 24, 2017
b69887d
FEM: add improved report framework
drhooves Jul 24, 2017
dd4874b
FEM: add module with a few helper methods
drhooves Jul 24, 2017
01d8916
FEM: elmer, add settings dialog for elmer
drhooves Jul 24, 2017
6d366e9
FEM: elmer, add new execution framework
drhooves Jul 24, 2017
4f471e0
FEM: elmer, add ui for execution framework
drhooves Jul 24, 2017
a50d84d
FEM: elmer, add constraint body heat flux
drhooves Jul 24, 2017
9a6dc78
FEM: elmer, remove not working paraview command
drhooves Jul 24, 2017
5a2fd5c
FEM: elmer, use new execution framework
drhooves Jul 24, 2017
18192c8
FEM: elmer, remove old report module
drhooves Jul 24, 2017
da51c79
FEM: elmer, close open task panel by default
drhooves Jul 25, 2017
f43d1c6
FEM: elmer, add icon to body heat flux constraint
drhooves Jul 25, 2017
444854f
FEM: elmer, fix self weight generation
drhooves Jul 25, 2017
6894608
FEM: elmer, clear output box on restart
drhooves Jul 25, 2017
ce1b026
Fem: elmer, implement initial multiphysics support
drhooves Aug 4, 2017
56fe4ad
FEM: elmer, remove forgotten debug block
drhooves Aug 4, 2017
3c4e406
FEM: elmer, remove unused FemElmerDefs.py file
drhooves Aug 7, 2017
535e51e
FEM: elmer, add references task panel
drhooves Aug 8, 2017
7c3ce7c
FEM: elmer, convert SolverRun command to framework
drhooves Aug 8, 2017
ba10d7b
FEM: elmer, add recompute after loading results
drhooves Aug 8, 2017
6469a67
FEM: elmer, add flow equation
drhooves Aug 8, 2017
32c952d
FEM: elmer, remove old FemSolve import
drhooves Aug 8, 2017
137ce74
FEM: elmer, fix material export of flow equation
drhooves Aug 8, 2017
1381559
FEM: elmer, fix default steady state tolerance
drhooves Aug 8, 2017
08b510a
FEM: elmer, fix solid reference editor
drhooves Aug 9, 2017
16c0c31
FEM: elmer, fix command active without analysis
drhooves Aug 9, 2017
aeafec1
FEM: elmer, add icon for flow velocity constraint
drhooves Aug 22, 2017
fbf1ab0
FEM: elmer, add mandatory nonlinear newton options
drhooves Aug 12, 2017
ab9cb3f
FEM: elmer, handle flow velocity constraint
drhooves Aug 12, 2017
818f7dd
FEM: elmer, fix self weight constraint
drhooves Aug 17, 2017
2917263
FEM: elmer, fix auto-reset of machine
drhooves Aug 17, 2017
c914886
FEM: elmer, add edit capability to framework
drhooves Aug 19, 2017
f9bc4a9
FEM: elmer, cosmetic changes (flake8, remove tabs)
drhooves Aug 21, 2017
ce519b1
FEM: elmer, use iterative solver by default
drhooves Aug 22, 2017
a102bed
FEM: elmer, disable autoclean switch of ElmerGrid
drhooves Aug 22, 2017
0accaea
FEM: elmer, enable future support for 2D
drhooves Aug 22, 2017
c9f1edb
FEM: elmer, add check for no equations
drhooves Aug 22, 2017
bb026bd
FEM: elmer, replace exception with dialog
drhooves Aug 22, 2017
d289295
FEM: fix custom directory for new framework
drhooves Aug 22, 2017
9bab51f
FEM: elmer, fix body selection for compounds
drhooves Aug 23, 2017
9f469a7
FEM: elmer, report ignored constraints
drhooves Aug 23, 2017
4c8e0a6
FEM: elmer, ignore constraints without references
drhooves Aug 23, 2017
aa67e5d
FEM: elmer, fix settings path for grid
drhooves Aug 23, 2017
303630d
FEM: elmer, fix material parameter for 2D
drhooves Aug 23, 2017
671c0cf
FEM: elmer, support pressure constraint
drhooves Aug 23, 2017
20b6ac4
FEM: elmer, unset edit mode on error (task panel)
drhooves Aug 23, 2017
34de42e
FEM, elmer, small fixes
berndhahnebach Aug 22, 2017
161f250
FEM: elmer, code formating
berndhahnebach Aug 24, 2017
761b39a
FEM: migrate calculix to new framework
drhooves Aug 19, 2017
f369f18
FEM: ccx new solver frame work, some fixes
berndhahnebach Aug 24, 2017
04ad3d8
FEM: ccx input file writer, only use one module for old and new solve…
berndhahnebach Aug 23, 2017
12f6470
FEM: z88, migrate to new solver framework
berndhahnebach Aug 19, 2017
bb932b7
FEM: z88, remove from old solver framework
berndhahnebach Aug 22, 2017
76ce4bd
FEM: move working directory settings to general
drhooves Aug 24, 2017
a258918
FEM: new CalculiX solver, change some strings
berndhahnebach Aug 25, 2017
bd11b4a
FEM: new Z88 solver, change standard document obj name
berndhahnebach Aug 25, 2017
eb2ceda
FEM: new solver framework, update example files
berndhahnebach Aug 25, 2017
e9a070c
FEM: elmer, put elmer into new FemSolver package
drhooves Aug 24, 2017
659222b
FEM: elmer, check "beside-dir" setting before run
drhooves Aug 25, 2017
d260b34
FEM: unit tests, use old solver for old unit test framework
berndhahnebach Aug 25, 2017
3aadf8a
FEM: unit test, add simple test for ccx inp file and new solver frame…
berndhahnebach Aug 26, 2017
b11e461
FEM: make objects module, fix name for new ccx solver
berndhahnebach Aug 28, 2017
8c9d0ef
FEM: prefs, add pref to choose between new and old solver frame work …
berndhahnebach Aug 28, 2017
bb5c41e
FEM: prefs, use new pref to choose between old and new solver frame w…
berndhahnebach Aug 28, 2017
b36092f
FEM: elmer, fix elaticity material export
drhooves Aug 28, 2017
937760b
FEM: replace catch all by specific error
drhooves Aug 28, 2017
353b299
FEM: elmer, add checks for binaries
drhooves Aug 28, 2017
bb86064
FEM: elmer, display error nonexistent directory
drhooves Aug 28, 2017
304b851
FEM: elmer, fix too many new working dirs
drhooves Aug 28, 2017
49c47bb
FEM: elmer, catch working directory io error
drhooves Aug 28, 2017
fc37a8a
FEM: elmer, add few fluid material props
drhooves Aug 28, 2017
f69858e
FEM: elmer, add bubbles and stabilize
drhooves Aug 28, 2017
bb99455
FEM: prefs, use new solver for ccx as standard, we might not use this…
berndhahnebach Aug 28, 2017
779521d
FEM: elmer, use folder chooser for dir setting
drhooves Aug 29, 2017
2f31f69
FEM: add checks to run solver command
drhooves Aug 30, 2017
326468d
FEM: old ccx analysis tools, move analysis tools into ccx analysis to…
berndhahnebach Aug 30, 2017
1167b73
FEM: prefs, use radio button to choose between new and depreciated cc…
berndhahnebach Aug 31, 2017
1de331d
FEM: typo in ccx pref gui
berndhahnebach Aug 31, 2017
97e37df
FEM: Python imports, guide the gui ones if the module could be used w…
berndhahnebach Aug 31, 2017
227c2e1
FEM: py3, set prints in brackets
berndhahnebach Aug 31, 2017
4d8a9d1
FEM: py3, set prints in brackets
berndhahnebach Aug 31, 2017
fff6a32
FEM: guard the viewprovider from being imported on non GUI
berndhahnebach Aug 31, 2017
9edf99d
FEM: add missing FreeCAD import
berndhahnebach Aug 31, 2017
bfb13ab
FEM: revert guarding some view providers if gui is no up
berndhahnebach Aug 31, 2017
52d36ff
FEM: unit test, add some prints for new solver frame work inp writing…
berndhahnebach Aug 31, 2017
8185e92
FEM: unit test, comment some commands
berndhahnebach Aug 31, 2017
40fbb5e
FEM: unit test, comment even more commands
berndhahnebach Sep 1, 2017
ef5c21e
FEM: unit test, comment the last remaining line
berndhahnebach Sep 1, 2017
f133d9d
FEM: unit test, add some prints
berndhahnebach Sep 1, 2017
4551f75
FEM: elmer, add initial flow velocity constraint
Aug 31, 2017
5dbb15b
FEM: elmer, add electrostatic equation
Aug 31, 2017
1049ae9
FEM: unit test, deactivate new solver test
berndhahnebach Sep 9, 2017
81febad
FEM: unit test, add new solver dirs to python import test
berndhahnebach Sep 9, 2017
98e5236
FEM: unit test, small change
berndhahnebach Sep 10, 2017
098027e
FEM: py3 unit test, trail and error 1
berndhahnebach Sep 10, 2017
3c74d19
FEM: unit tests, set back the comments
berndhahnebach Sep 10, 2017
e7a9284
FEM: set back the unit test import prints
berndhahnebach Sep 10, 2017
c6d6779
FEM: py3, try to proper import Tasks module of z88 solver
berndhahnebach Sep 10, 2017
0820c1f
FEM: py3, more proper imports
berndhahnebach Sep 10, 2017
e2f5edc
FEM: py3 unit test, again activate the new solver test
berndhahnebach Sep 10, 2017
42a2233
FEM: py3 more import fixes
berndhahnebach Sep 10, 2017
4af293b
FEM: py3 even more import fixes
berndhahnebach Sep 10, 2017
49a577d
FEM: unit test, fixes in new solver test
berndhahnebach Sep 10, 2017
790075d
FEM: new ccx solver better import
berndhahnebach Sep 10, 2017
0cc92e1
FEM: new z88 solver better import
berndhahnebach Sep 10, 2017
a0ec9d4
FEM: unit test delete new line
berndhahnebach Sep 10, 2017
d42c2d6
FEM: new ccx fix writer
berndhahnebach Sep 10, 2017
ca292a1
FEM: new z88 solver fix writer
berndhahnebach Sep 10, 2017
a14981e
FEM: settings module, fix title
berndhahnebach Sep 10, 2017
c05ee1d
FEM: unit test, add elmer solver subdirectories to import module unit…
berndhahnebach Sep 11, 2017
bae9e3a
FEM: elmer, fix py3 imports
berndhahnebach Sep 11, 2017
96f020e
elmer, codeforamting
berndhahnebach Sep 11, 2017
5bd2152
FEM: z88, move solver into FemSolver
berndhahnebach Sep 13, 2017
0b1c0ff
FEM: CalculiX, move solver into FemSolver
berndhahnebach Sep 13, 2017
f3d703f
FEM: remove depreceated general new solver module
berndhahnebach Sep 13, 2017
9e218af
FEM: code formating
berndhahnebach Sep 13, 2017
d3c9589
FEM: new solver frame work, use small character for solver modules
berndhahnebach Sep 13, 2017
b53d842
FEM: use better name for solver modules
berndhahnebach Sep 13, 2017
10a60e9
FEM: fix cmake
berndhahnebach Sep 14, 2017
f90e62b
FEM: fix title of new general solver object
berndhahnebach Sep 14, 2017
75e84ab
FEM: code formating, flake8
berndhahnebach Sep 14, 2017
e143de6
FEM: ccx and z88 solver, add solve output update
berndhahnebach Sep 14, 2017
75e3794
FEM: old ccx, fix input writer import
berndhahnebach Sep 14, 2017
d35ba96
FEM: unit test, update directories with small characters
berndhahnebach Sep 14, 2017
053618a
FEM: ccx and z88, comment output update
berndhahnebach Sep 14, 2017
ec2690e
FEM: cmake, fix install of calculix solver
berndhahnebach Sep 14, 2017
86e4505
FEM: fix more py3 imports
berndhahnebach Sep 14, 2017
4fb87b9
FEM: still some py3 impots to fix
berndhahnebach Sep 15, 2017
e137060
FEM: fix the wrong fixed py3 imports
berndhahnebach Sep 15, 2017
322c6f8
FEM: never ending py3 import fixes
berndhahnebach Sep 15, 2017
e7b5738
FEM: new solvers, use relative import paths
berndhahnebach Sep 17, 2017
c1daf01
FEM: equations, use relative imports
berndhahnebach Sep 17, 2017
343f45d
FEM: remove depretiated fem equations module
berndhahnebach Sep 17, 2017
0bea5a6
FEM: rename misc modul in utils module
berndhahnebach Sep 18, 2017
12134e8
FEM: ccx solver command, add missing do command import
berndhahnebach Sep 18, 2017
7d1dd13
FEM: new solver equations, use small character for equations objects
berndhahnebach Sep 18, 2017
a680c2f
FEM: add newline
berndhahnebach Sep 19, 2017
75365b7
FEM: move selection widget into PyGui
berndhahnebach Sep 19, 2017
1c90bdd
FEM: fix some module title of the new constraints
berndhahnebach Sep 19, 2017
22a670e
FEM: constraint body heat flux, rename it to body heat source
berndhahnebach Sep 20, 2017
94ce921
FEM: command names, remove add, the wiki pages retrive the names from…
berndhahnebach Sep 20, 2017
3dc6f12
FEM: use small character for solver package name
berndhahnebach Sep 20, 2017
a6c00e9
FEM: adapt old ccx writer to small character solver name
berndhahnebach Sep 20, 2017
73fecf1
FEM: unit tests, adapt to new small character solver package name
berndhahnebach Sep 20, 2017
f60f6bd
FEM: objects module, sort defs
berndhahnebach Sep 20, 2017
98cfd94
FEM: icons, sort in qrc file
berndhahnebach Sep 20, 2017
d157b47
FEM: fix unit test after rebase
berndhahnebach Sep 20, 2017
b81b3b3
FEM: command modules, use FreeCAD instead of App like in the other co…
berndhahnebach Sep 20, 2017
91cdd05
FEM: objects fem, use better names for solver
berndhahnebach Sep 20, 2017
b1989eb
FEM: solver commands, use object fem module to create the ojects
berndhahnebach Sep 20, 2017
07495f9
FEM: object creation, fix some missing document parameter
berndhahnebach Sep 20, 2017
7a1dbc9
FEM: new constraints, fix in gui shown names and tool tips
berndhahnebach Sep 21, 2017
2116074
FEM: new constraints, fix document object names
berndhahnebach Sep 21, 2017
42c3c18
FEM: new constraints, relative import for py gui package
berndhahnebach Sep 21, 2017
5d07b02
FEM: new commands, use same system as the other ones
berndhahnebach Sep 21, 2017
bb66313
FEM: elmer, again use elmer icon for elmer command
berndhahnebach Sep 21, 2017
a8d9438
FEM: new solver framwork, move frame work modules into fem solver pac…
berndhahnebach Sep 22, 2017
0b35305
FEM: exchange the png icons by real svg ones
berndhahnebach Sep 22, 2017
7fad558
FEM: icons, remove paraview icon since it seams not used anywhere
berndhahnebach Sep 24, 2017
0edfb7e
FEM: update examples
berndhahnebach Sep 26, 2017
89f4fe9
FEM: new command solver run, delete duplicate code
berndhahnebach Sep 26, 2017
f99d7ad
FEM: command solver run, get rid of two activated defs
berndhahnebach Sep 27, 2017
8286fa1
FEM: analysis command, remove automatic mesh moving, it should work f…
berndhahnebach Sep 27, 2017
0e0e2b2
FEM: z88, delete not needed solver viewprovider of the old solver obj
berndhahnebach Sep 27, 2017
1891b46
FEM: objects fem, sort defs
berndhahnebach Sep 29, 2017
b56f0b9
FEM: fixed typo
Sep 29, 2017
c7d0d49
FEM: equation property, fix principal typo
berndhahnebach Sep 29, 2017
8ce81ec
FEM: use z88 command from FreeCAD master, because there is no need to…
berndhahnebach Sep 30, 2017
eba66b2
FEM: code formating, trailing white spaces
berndhahnebach Oct 2, 2017
5009809
FEM: equations elmer, use same modul names system as for solver modules
berndhahnebach Oct 2, 2017
ca1e21e
FEM: objects fem module, fix comments
berndhahnebach Oct 3, 2017
6666d33
FEM: commands, get rid of duplicate code and fix boudary obj creation
berndhahnebach Oct 4, 2017
14cf1d4
FEM: command solver run, delete unused import
berndhahnebach Oct 4, 2017
6651650
FEM: code formating, add new line
berndhahnebach Oct 4, 2017
07d369f
FEM: elmer equations, add posibility to easy create them by python wi…
berndhahnebach Oct 6, 2017
855c534
FEM: code formating
berndhahnebach Oct 6, 2017
ad5b78e
FEM: set back some rebase changes
berndhahnebach Oct 7, 2017
6239a2d
FEM: set back changes lost on rebase
berndhahnebach Oct 7, 2017
03246b3
FEM: typo
berndhahnebach Oct 7, 2017
8dc6699
FEM: remove constraint heatsource icon since it is only a copy of hea…
berndhahnebach Oct 9, 2017
65b2da6
FEM: code formating, trailing whitespaces and flake8
berndhahnebach Oct 11, 2017
5347386
FEM: elmer writer, fix density for self weight on edges
berndhahnebach Oct 11, 2017
f7f658e
FEM: solver run command, fix FreeCAD freeze on new frame work
berndhahnebach Sep 28, 2017
0d65ae0
FEM: elmer, implement Potential-boundary and flux-solver
Oct 15, 2017
14d7e02
FEM: elmer, implement Potential-boundary and flux-solver
Oct 15, 2017
a9ed701
FEM: elmer, update last FemMisc to FemUtils in writer
Oct 16, 2017
88b8a8c
FEM: elmer, repair restore of values considering locales
Oct 16, 2017
7d67f64
Typos
Oct 18, 2017
e6f97d3
FEM: code formating, flake8
berndhahnebach Oct 19, 2017
881beb1
FEM: elmer sifio, write case file entries in same order if module is …
drhooves Nov 5, 2017
495fe53
FEM: unit tests, elmer sifio and geo writing
berndhahnebach Oct 11, 2017
19f2bbb
FEM: unit test and elmer, add a testmode to solver framework
berndhahnebach Nov 6, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Binary file modified data/examples/FemCalculixCantilever2D.FCStd
Binary file not shown.
Binary file modified data/examples/FemCalculixCantilever3D.FCStd
Binary file not shown.
88 changes: 81 additions & 7 deletions src/Mod/Fem/App/CMakeLists.txt
Expand Up @@ -86,22 +86,24 @@ SET(FemScripts_SRCS
InitGui.py
FemGmshTools.py
FemInputWriter.py
FemInputWriterCcx.py
FemInputWriterZ88.py
FemMesh2Mesh.py
FemMeshTools.py
FemResultTools.py
FemTools.py
FemToolsCcx.py
FemToolsZ88.py
ObjectsFem.py
FemUtils.py
FemConstraint.py
TestFem.py
)
#SOURCE_GROUP("Scripts" FILES ${FemScripts_SRCS})

SET(FemObjectsScripts_SRCS
PyObjects/__init__.py
PyObjects/_FemConstraintSelfWeight.py
PyObjects/_FemConstraintBodyHeatSource.py
PyObjects/_FemConstraintFlowVelocity.py
PyObjects/_FemConstraintInitialFlowVelocity.py
PyObjects/_FemConstraintElectrostaticPotential.py
PyObjects/_FemElementFluid1D.py
PyObjects/_FemElementGeometry1D.py
PyObjects/_FemElementGeometry2D.py
Expand All @@ -113,16 +115,66 @@ SET(FemObjectsScripts_SRCS
PyObjects/_FemMeshRegion.py
PyObjects/_FemResultMechanical.py
PyObjects/_FemSolverCalculix.py
PyObjects/_FemSolverZ88.py
PyObjects/_FemMaterial.py
)

SET(FemSolver_SRCS
femsolver/__init__.py
femsolver/solverbase.py
femsolver/equationbase.py
femsolver/report.py
femsolver/reportdialog.py
femsolver/settings.py
femsolver/task.py
femsolver/run.py
femsolver/signal.py
)

SET(FemElmer_SRCS
femsolver/elmer/__init__.py
femsolver/elmer/sifio.py
femsolver/elmer/solver.py
femsolver/elmer/tasks.py
femsolver/elmer/writer.py
)

SET(FemEquationsElmer_SRCS
femsolver/elmer/equations/__init__.py
femsolver/elmer/equations/equation.py
femsolver/elmer/equations/linear.py
femsolver/elmer/equations/nonlinear.py
femsolver/elmer/equations/elasticity.py
femsolver/elmer/equations/electrostatic.py
femsolver/elmer/equations/fluxsolver.py
femsolver/elmer/equations/heat.py
femsolver/elmer/equations/flow.py
)

SET(FemCalculix_SRCS
femsolver/calculix/__init__.py
femsolver/calculix/solver.py
femsolver/calculix/tasks.py
femsolver/calculix/writer.py
)

SET(FemZ88_SRCS
femsolver/z88/__init__.py
femsolver/z88/solver.py
femsolver/z88/tasks.py
femsolver/z88/writer.py
)

SET(FemGuiScripts_SRCS
PyGui/FemCommands.py
PyGui/FemSelectionObserver.py
PyGui/FemSelectionWidgets.py
PyGui/__init__.py
PyGui/_CommandFemAnalysis.py
PyGui/_CommandFemConstraintSelfWeight.py
PyGui/_CommandFemConstraintBodyHeatSource.py
PyGui/_CommandFemConstraintFlowVelocity.py
PyGui/_CommandFemConstraintInitialFlowVelocity.py
PyGui/_CommandFemConstraintElectrostaticPotential.py
PyGui/_CommandFemElementFluid1D.py
PyGui/_CommandFemElementGeometry1D.py
PyGui/_CommandFemElementGeometry2D.py
Expand All @@ -140,6 +192,8 @@ SET(FemGuiScripts_SRCS
PyGui/_CommandFemResultShow.py
PyGui/_CommandFemResultsPurge.py
PyGui/_CommandFemSolverCalculix.py
PyGui/_CommandFemSolverElmer.py
PyGui/_CommandFemEquation.py
PyGui/_CommandFemSolverControl.py
PyGui/_CommandFemSolverRun.py
PyGui/_CommandFemSolverZ88.py
Expand All @@ -153,7 +207,12 @@ SET(FemGuiScripts_SRCS
PyGui/_TaskPanelFemMeshRegion.py
PyGui/_TaskPanelFemResultShow.py
PyGui/_TaskPanelFemSolverCalculix.py
PyGui/_TaskPanelFemSolverControl.py
PyGui/_ViewProviderFemConstraintSelfWeight.py
PyGui/_ViewProviderFemConstraintBodyHeatSource.py
PyGui/_ViewProviderFemConstraintFlowVelocity.py
PyGui/_ViewProviderFemConstraintInitialFlowVelocity.py
PyGui/_ViewProviderFemConstraintElectrostaticPotential.py
PyGui/_ViewProviderFemElementFluid1D.py
PyGui/_ViewProviderFemElementGeometry1D.py
PyGui/_ViewProviderFemElementGeometry2D.py
Expand All @@ -166,7 +225,6 @@ SET(FemGuiScripts_SRCS
PyGui/_ViewProviderFemMeshResult.py
PyGui/_ViewProviderFemResultMechanical.py
PyGui/_ViewProviderFemSolverCalculix.py
PyGui/_ViewProviderFemSolverZ88.py
PyGui/TaskPanelFemElementFluid1D.ui
PyGui/TaskPanelFemElementGeometry1D.ui
PyGui/TaskPanelFemElementGeometry2D.ui
Expand All @@ -178,6 +236,9 @@ SET(FemGuiScripts_SRCS
PyGui/TaskPanelFemMeshRegion.ui
PyGui/TaskPanelFemResultShow.ui
PyGui/TaskPanelFemSolverCalculix.ui
PyGui/TaskPanelFemFlowVelocity.ui
PyGui/TaskPanelFemInitialFlowVelocity.ui
PyGui/TaskPanelFemElectrostaticPotential.ui
)

SET(FemTests_SRCS
Expand Down Expand Up @@ -208,6 +269,13 @@ SET(FemTests_SRCS
test_files/ccx/Flow1D_thermomech.fcstd
)

SET(FemTestsElmer_SRCS
test_files/elmer/__init__.py
test_files/elmer/case.sif
test_files/elmer/group_mesh.geo
test_files/elmer/ELMERSOLVER_STARTINFO
)

SET(FemBase_SRCS
FemMeshObject.cpp
FemMeshObject.h
Expand Down Expand Up @@ -318,7 +386,13 @@ fc_target_copy_resource(Fem
${FemObjectsScripts_SRCS}
${FemGuiScripts_SRCS}
${FemTests_SRCS}
)
${FemTestsElmer_SRCS}
${FemSolver_SRCS}
${FemElmer_SRCS}
${FemCalculix_SRCS}
${FemZ88_SRCS}
${FemEquationsElmer_SRCS}
)

SET_BIN_DIR(Fem Fem /Mod/Fem)
SET_PYTHON_PREFIX_SUFFIX(Fem)
Expand Down
99 changes: 93 additions & 6 deletions src/Mod/Fem/CMakeLists.txt
Expand Up @@ -34,15 +34,13 @@ INSTALL(
InitGui.py
FemGmshTools.py
FemInputWriter.py
FemInputWriterCcx.py
FemInputWriterZ88.py
FemMesh2Mesh.py
FemMeshTools.py
FemResultTools.py
FemTools.py
FemToolsCcx.py
FemToolsZ88.py
ObjectsFem.py
FemUtils.py
FemConstraint.py
TestFem.py
DESTINATION
Mod/Fem
Expand All @@ -52,6 +50,10 @@ INSTALL(
FILES
PyObjects/__init__.py
PyObjects/_FemConstraintSelfWeight.py
PyObjects/_FemConstraintBodyHeatSource.py
PyObjects/_FemConstraintFlowVelocity.py
PyObjects/_FemConstraintInitialFlowVelocity.py
PyObjects/_FemConstraintElectrostaticPotential.py
PyObjects/_FemElementFluid1D.py
PyObjects/_FemElementGeometry1D.py
PyObjects/_FemElementGeometry2D.py
Expand All @@ -63,17 +65,84 @@ INSTALL(
PyObjects/_FemMeshResult.py
PyObjects/_FemResultMechanical.py
PyObjects/_FemSolverCalculix.py
PyObjects/_FemSolverZ88.py
PyObjects/_FemMaterial.py
DESTINATION
Mod/Fem/PyObjects
)

INSTALL(
FILES
femsolver/__init__.py
femsolver/solverbase.py
femsolver/equationbase.py
femsolver/report.py
femsolver/reportdialog.py
femsolver/settings.py
femsolver/task.py
femsolver/run.py
femsolver/signal.py
DESTINATION
Mod/Fem/femsolver
)

INSTALL(
FILES
femsolver/elmer/__init__.py
femsolver/elmer/sifio.py
femsolver/elmer/solver.py
femsolver/elmer/tasks.py
femsolver/elmer/writer.py
DESTINATION
Mod/Fem/femsolver/elmer
)

INSTALL(
FILES
femsolver/elmer/equations/__init__.py
femsolver/elmer/equations/equation.py
femsolver/elmer/equations/linear.py
femsolver/elmer/equations/nonlinear.py
femsolver/elmer/equations/elasticity.py
femsolver/elmer/equations/electrostatic.py
femsolver/elmer/equations/fluxsolver.py
femsolver/elmer/equations/heat.py
femsolver/elmer/equations/flow.py
DESTINATION
Mod/Fem/femsolver/elmer/equations
)

INSTALL(
FILES
femsolver/calculix/__init__.py
femsolver/calculix/solver.py
femsolver/calculix/tasks.py
femsolver/calculix/writer.py
DESTINATION
Mod/Fem/femsolver/calculix
)

INSTALL(
FILES
femsolver/z88/__init__.py
femsolver/z88/solver.py
femsolver/z88/tasks.py
femsolver/z88/writer.py
DESTINATION
Mod/Fem/femsolver/z88
)

INSTALL(
FILES
PyGui/FemCommands.py
PyGui/FemSelectionObserver.py
PyGui/FemSelectionWidgets.py
PyGui/__init__.py
PyGui/_CommandFemSolverElmer.py
PyGui/_CommandFemEquation.py
PyGui/_CommandFemConstraintBodyHeatSource.py
PyGui/_CommandFemConstraintFlowVelocity.py
PyGui/_CommandFemConstraintInitialFlowVelocity.py
PyGui/_CommandFemConstraintElectrostaticPotential.py
PyGui/_CommandFemAnalysis.py
PyGui/_CommandFemConstraintSelfWeight.py
PyGui/_CommandFemElementFluid1D.py
Expand Down Expand Up @@ -106,7 +175,12 @@ INSTALL(
PyGui/_TaskPanelFemMeshRegion.py
PyGui/_TaskPanelFemResultShow.py
PyGui/_TaskPanelFemSolverCalculix.py
PyGui/_TaskPanelFemSolverControl.py
PyGui/_ViewProviderFemConstraintSelfWeight.py
PyGui/_ViewProviderFemConstraintBodyHeatSource.py
PyGui/_ViewProviderFemConstraintFlowVelocity.py
PyGui/_ViewProviderFemConstraintInitialFlowVelocity.py
PyGui/_ViewProviderFemConstraintElectrostaticPotential.py
PyGui/_ViewProviderFemElementFluid1D.py
PyGui/_ViewProviderFemElementGeometry1D.py
PyGui/_ViewProviderFemElementGeometry2D.py
Expand All @@ -119,7 +193,6 @@ INSTALL(
PyGui/_ViewProviderFemMeshResult.py
PyGui/_ViewProviderFemResultMechanical.py
PyGui/_ViewProviderFemSolverCalculix.py
PyGui/_ViewProviderFemSolverZ88.py
PyGui/TaskPanelFemElementFluid1D.ui
PyGui/TaskPanelFemElementGeometry1D.ui
PyGui/TaskPanelFemElementGeometry2D.ui
Expand All @@ -131,6 +204,9 @@ INSTALL(
PyGui/TaskPanelFemMeshRegion.ui
PyGui/TaskPanelFemResultShow.ui
PyGui/TaskPanelFemSolverCalculix.ui
PyGui/TaskPanelFemFlowVelocity.ui
PyGui/TaskPanelFemInitialFlowVelocity.ui
PyGui/TaskPanelFemElectrostaticPotential.ui
DESTINATION
Mod/Fem/PyGui
)
Expand Down Expand Up @@ -173,3 +249,14 @@ INSTALL(
DESTINATION
Mod/Fem/test_files/ccx
)

INSTALL(
FILES
# changes on the file list here needs to be made in App/CMakeLists.txt as well
test_files/elmer/__init__.py
test_files/elmer/case.sif
test_files/elmer/group_mesh.geo
test_files/elmer/ELMERSOLVER_STARTINFO
DESTINATION
Mod/Fem/test_files/elmer
)
61 changes: 61 additions & 0 deletions src/Mod/Fem/FemConstraint.py
@@ -0,0 +1,61 @@
# ***************************************************************************
# * *
# * Copyright (c) 2017 - Markus Hovorka <m.hovorka@live.de> *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU Library General Public License for more details. *
# * *
# * You should have received a copy of the GNU Library General Public *
# * License along with this program; if not, write to the Free Software *
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
# * USA *
# * *
# ***************************************************************************


__title__ = "_Base"
__author__ = "Markus Hovorka"
__url__ = "http://www.freecadweb.org"


import FreeCAD
if FreeCAD.GuiUp:
from pivy import coin


class Proxy(object):

BaseType = "Fem::ConstraintPython"

def __init__(self, obj):
obj.Proxy = self


class ViewProxy(object):
"""Proxy for FemSolverElmers View Provider."""

def __init__(self, vobj):
vobj.Proxy = self

def attach(self, vobj):
default = coin.SoGroup()
vobj.addDisplayMode(default, "Default")

def getDisplayModes(self, obj):
"Return a list of display modes."
modes = ["Default"]
return modes

def getDefaultDisplayMode(self):
return "Default"

def setDisplayMode(self, mode):
return mode