Skip to content

Commit 80974bf

Browse files
authored
Add files via upload
1 parent 8d496d2 commit 80974bf

13 files changed

+3646
-0
lines changed

0001_uvod.ipynb

+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {
6+
"tags": []
7+
},
8+
"source": [
9+
"# <font color='navy'> <b> Open-Source nástroje pre FEM </b></font>\n",
10+
"\n",
11+
"Seminár je venovaný prehľadu open-source nástrojov použiteľných pre FEM simulácie v akademickom prostredí. \n",
12+
"\n",
13+
"## <font color='teal'> <b> Obsah semináru </b></font>\n",
14+
"\n",
15+
" * Inštalácia simulačného prostredia\n",
16+
" * Metódy tvorby modelov a generovanie mriežky\n",
17+
" * Nastavenie parametrov simulácie a jej spustenie, kontrola priebehu simulácie\n",
18+
" * Vizualizácia výsledkov simulácie\n",
19+
" * Výmena dát medzi programami, používané formáty\n",
20+
" * Príklady\n",
21+
"\n",
22+
"## <font color='teal'> <b> Podklady k semináru </b></font>\n",
23+
"\n",
24+
"Zdrojové texty semináru vo formáte Jupyter-Notebook su dostupné na \n",
25+
"\n",
26+
" https://github.com/pfabo/notebook-fem-opensource\n",
27+
"\n",
28+
"## <font color='teal'> <b> Použitý software </b></font>\n",
29+
"\n",
30+
"V rámci semináru sú použité nasledujúce programy a nástroje.\n",
31+
"\n",
32+
" * [Jupyter Notebook](http://jupyter.org/index.html)\n",
33+
" * [Gmsh](http://gmsh.info/)\n",
34+
" * [Elmer-CSC](https://www.csc.fi/web/elmer)\n",
35+
" * [ParaView](https://www.paraview.org/)\n",
36+
" * [FreeCAD](https://www.freecadweb.org/)\n",
37+
" * [pyvista](https://docs.pyvista.org/)\n",
38+
" \n",
39+
"Programy sú prioritne vytvorené a kompilované pre OS Linux a štandardne sa nachádzajú v repozitároch distribúcií. Pretože do repozitárov distribúcií sa balíky zaraďujú s nejakým časovým odstupom, pre aktuálne verzie je lepšie použiť návod na inštaláciu resp. stiahnutie skompilovaných verzií priamo na stránkach projektov (inštalácia cez ppa, pip a pod.). \n",
40+
"\n",
41+
"## <font color='teal'> <b> Demo </b></font>\n",
42+
"\n",
43+
"Na úvod krátka ukážka využitia open-source nástrojov pre FEM simuláciu elektrostatického problému - výpočtu elektrického poľa dvoch nabitých vodivých valcov. 3D model problému vytvorený v programe *FreeCAD*, generátor siete *gsmh* vygeneroval sieť povrchov objektov, simulácia polí bola spočítaná v programe Elmer-CSC. Výsledok simulácie bol vizualizovaný pomocou programu *ParaView*.\n",
44+
"\n",
45+
"### <font color='purple'> <b> Vytvorenie modelu vo *FreeCAD* </b></font>\n",
46+
"\n",
47+
"<img src=\"./img/sim_00.png\" width=\"600\">\n",
48+
"\n",
49+
"### <font color='purple'> <b> Vytvorenie mriežky v *gsmh* </b></font>\n",
50+
"\n",
51+
"<img src=\"./img/sim_02.png\" width=\"600\">\n",
52+
"\n",
53+
"### <font color='purple'> <b> Vizualizácia simulácie v *Paraview* </b></font>\n",
54+
"\n",
55+
"<img src=\"./img/sim_01.png\" width=\"600\">\n",
56+
"\n",
57+
"-------------"
58+
]
59+
}
60+
],
61+
"metadata": {
62+
"kernelspec": {
63+
"display_name": "Python 3 (ipykernel)",
64+
"language": "python",
65+
"name": "python3"
66+
},
67+
"language_info": {
68+
"codemirror_mode": {
69+
"name": "ipython",
70+
"version": 3
71+
},
72+
"file_extension": ".py",
73+
"mimetype": "text/x-python",
74+
"name": "python",
75+
"nbconvert_exporter": "python",
76+
"pygments_lexer": "ipython3",
77+
"version": "3.13.1"
78+
},
79+
"latex_envs": {
80+
"LaTeX_envs_menu_present": true,
81+
"autoclose": false,
82+
"autocomplete": true,
83+
"bibliofile": "biblio.bib",
84+
"cite_by": "apalike",
85+
"current_citInitial": 1,
86+
"eqLabelWithNumbers": true,
87+
"eqNumInitial": 1,
88+
"hotkeys": {
89+
"equation": "Ctrl-E",
90+
"itemize": "Ctrl-I"
91+
},
92+
"labels_anchors": false,
93+
"latex_user_defs": false,
94+
"report_style_numbering": false,
95+
"user_envs_cfg": false
96+
},
97+
"varInspector": {
98+
"cols": {
99+
"lenName": 16,
100+
"lenType": 16,
101+
"lenVar": 40
102+
},
103+
"kernels_config": {
104+
"python": {
105+
"delete_cmd_postfix": "",
106+
"delete_cmd_prefix": "del ",
107+
"library": "var_list.py",
108+
"varRefreshCmd": "print(var_dic_list())"
109+
},
110+
"r": {
111+
"delete_cmd_postfix": ") ",
112+
"delete_cmd_prefix": "rm(",
113+
"library": "var_list.r",
114+
"varRefreshCmd": "cat(var_dic_list()) "
115+
}
116+
},
117+
"types_to_exclude": [
118+
"module",
119+
"function",
120+
"builtin_function_or_method",
121+
"instance",
122+
"_Feature"
123+
],
124+
"window_display": false
125+
}
126+
},
127+
"nbformat": 4,
128+
"nbformat_minor": 4
129+
}

0005_elmer_install.ipynb

+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "f4d325b5-da1c-44ad-b60d-8d2629214930",
6+
"metadata": {},
7+
"source": [
8+
"# <font color='navy'> <b> Inštalácia ElmeCSC a pomocných programov</b></font>\n",
9+
"\n",
10+
"Inštalácia z repozitárov je zvyčajne zastaralá, aktuálnu verziu je lepšie skompilovať zo zdrojových súborov. Grafický konfigurátor **ElmerGUI** na novších verziách Linuxu sa už nedá skompilovať z dôvodu zastaralých Qt knižníc. Je vhodnejšie používať knižnicu *pyelmer*, ktorá umožňuje previazanie modelu s parametrami bez konverzie mien simulačných objektov. \n",
11+
"\n",
12+
"## <font color='teal'> <b> Fedora </b></font>\n",
13+
"\n",
14+
"Inštalovať balíky (Fedora 41)\n",
15+
"\n",
16+
" sudo dnf install git cmake gfortran \n",
17+
" sudo dnf install @development-tools \n",
18+
" sudo dnf install openmpi-devel\n",
19+
" sudo dnf install *openblas*\n",
20+
"\n",
21+
" pip install pyelmer\n",
22+
" pip install gmsh\n",
23+
" pip install pygmsh\n",
24+
" pip install pyvista\n",
25+
" pip install pycirkuit\n",
26+
"\n",
27+
"Pomocné programy - stiahnúť binárne súbory z www domácich stránok aplikácií.\n",
28+
"\n",
29+
"* [FreeCAD](https://www.freecad.org/)\n",
30+
"* [Paraview](https://www.paraview.org/)\n",
31+
"\n",
32+
"Stiahnuť zdrojové súbory z githubu\n",
33+
"\n",
34+
" git clone https://github.com/ElmerCSC/elmerfem.git\n",
35+
" cd elmerfrm\n",
36+
" mkdir build\n",
37+
"\n",
38+
"Spustiť pre konfiguráciu bez MPI\n",
39+
"\n",
40+
" module load mpi/openmpi-x86_64 \n",
41+
" cmake .. -DWITH_OpenMP:BOOLEAN=TRUE\n",
42+
"\n",
43+
"Konfigurácia s MPI\n",
44+
"\n",
45+
" cmake .. -DWITH_OpenMP:BOOLEAN=TRUE -DWITH_MPI:BOOLEAN=TRUE\n",
46+
"\n",
47+
"Kompilácia a inštalácia\n",
48+
"\n",
49+
" make\n",
50+
" sudo make install\n"
51+
]
52+
},
53+
{
54+
"cell_type": "markdown",
55+
"id": "3dd0e47f-5c28-4b8d-947c-3820408c70ac",
56+
"metadata": {},
57+
"source": [
58+
"## <font color='purple'> <b> Inštalované programy </b></font>\n",
59+
" \n",
60+
" ElmerGrid\n",
61+
" ElmerSolver\n",
62+
" ElmerSolver_mpi\n",
63+
" "
64+
]
65+
},
66+
{
67+
"cell_type": "markdown",
68+
"id": "824c1719-324d-469d-80d3-399f2fc3be34",
69+
"metadata": {},
70+
"source": [
71+
"## <font color='purple'> <b> Pomocné utility </b></font>\n",
72+
"\n",
73+
" https://github.com/nemocrys/pyelmer\n",
74+
" https://getfem-examples.readthedocs.io/en/latest/demo_unit_disk.html"
75+
]
76+
}
77+
],
78+
"metadata": {
79+
"kernelspec": {
80+
"display_name": "Python 3 (ipykernel)",
81+
"language": "python",
82+
"name": "python3"
83+
},
84+
"language_info": {
85+
"codemirror_mode": {
86+
"name": "ipython",
87+
"version": 3
88+
},
89+
"file_extension": ".py",
90+
"mimetype": "text/x-python",
91+
"name": "python",
92+
"nbconvert_exporter": "python",
93+
"pygments_lexer": "ipython3",
94+
"version": "3.13.2"
95+
}
96+
},
97+
"nbformat": 4,
98+
"nbformat_minor": 5
99+
}

0 commit comments

Comments
 (0)