ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/aide/aide.h
Revision: 1070
Committed: Tue Jun 15 00:07:46 2021 UTC (4 years, 2 months ago) by francois
Content type: text/plain
File size: 33418 byte(s)
Log Message:
suite des corrections de l'aide

File Contents

# Content
1 /*! \page Aide Aide MAGiC
2 Informations diverses
3
4 - \subpage infodiv
5
6 Configuration de MAGiC
7
8 - \subpage Configuration
9
10
11 Description du format du fichier script MAGiC\n
12 - \subpage Script
13
14 Description de la procédure de reconstruction d'un modèle structurel après optimisation topologique\n
15 - \subpage Reconstruction
16
17 Faire une étude SiDolo
18
19 - \subpage SiDolo
20
21 Microstucture de matériaux hétérogénes
22
23 - \subpage microstructre
24
25
26 */
27 //-----------------------------------------------------------
28
29
30 /*! \page infodiv Informations diverses sur le projet MAGiC
31 Le projet MAGiC est un projet des professeurs Jean-Christophe Cuillière et Vincent Francois de l'Équipe de Recherche en Intégration CAO-CAlcul du département de génie mécanique de l'UQTR.\n\n
32 Cette page résume les différents liens pour les outils disponibles : \n\n
33 <ul>
34 <li><a href="http://ericca.uqtr.ca/cgi-bin/viewvc.cgi"> Web SVN </a></li>
35 <li><a href="http://ericca.uqtr.ca/biblio"> Biblio ERICCA </a></li>
36 <li><a href="http://ericca.uqtr.ca/cas_test"> Cas test d'optimisation de topologie </a></li>
37 <li><a href="http://ericca.uqtr.ca/webmagic/index_text.html"> Tests journaliers du code </a></li>
38
39 <li>Documentation de Code ASTER</li>
40 <ul>
41 <li><a href="http://ericca.uqtr.ca/fr11.7"> 11.7 </a></li>
42 <li><a href="http://ericca.uqtr.ca/fr12.4"> 12.4 </a></li>
43 <li><a href="http://ericca.uqtr.ca/fr13.6"> 13.6 </a></li>
44 <li><a href="http://ericca.uqtr.ca/fr14.4"> 14.4 </a></li>
45 </ul>
46 <li>Modification dans Code ASTER</li>
47 <ul>
48 <li>\subpage ExtraireK </a></li>
49 <li>\subpage CalcParal </a></li>
50 </ul>
51
52 <li>Script d'installation de l'environnement ERICCA : Downloader les deux fichiers suivants et faire ./instal_magic.bash Version_Aster [tout]. L'option installe les outils de développements. Il faut s'assurer que les scripts soient exécutables.</li>
53 <ul>
54 <li><a href="http://ericca.uqtr.ca/linux/instal_magic.bash"> Script d'installation de MAGiC </a></li>
55 <li><a href="http://ericca.uqtr.ca/linux/instal_aster.bash"> Script d'installation de code ASTER</a></li>
56 <li><a href="http://ericca.uqtr.ca/linux/instal_chrono.bash"> Script d'installation de Project Chrono</a></li>
57
58 </ul>
59 </ul>
60 */
61
62 //-----------------------------------------------------------
63
64 /*! \page ExtraireK Extraire matrice de raideur
65 Pour extraire le matrice de rigidité lors d'un calcul de Code Aster dans un fichier en format MATLAB, Il faut utiliser une routine Fortran pour cela (matimp.f) que l'on vient appeler au bon endroit (par exemple dans "op0012.F90"). \n
66 Pour la version 12.4 de Code Aster, il faut faire la modification suivant dans "op0012.F90". On le trouve dans le paquet d'installation de Code Aster à cet endroit: "aster-full-src-12.4.0/SRC/aster-12.4.0/bibfor/op/op0012.F90". \n
67 On édite "op0012.F90" on ajoutant "call matimp(matas,29,'MATLAB')" à la lieu montrée. \n
68
69 \verbatim
70 ! -- SI MATAS N'EST PAS MPI_COMPLET, ON LA COMPLETE :
71 call dismoi('MPI_COMPLET', matas, 'MATR_ASSE', repk=kmpic)
72 ASSERT((kmpic.eq.'OUI').or.(kmpic.eq.'NON'))
73 if (kmpic .eq. 'NON') call sdmpic('MATR_ASSE', matas)
74 !
75 !
76 !
77 call matimp(matas,29,'MATLAB') << On appel matimp ICI <<
78 !
79 ! -- MENAGE :
80 call jedetr(lchci)
81 call jedetr(lmatel)
82 !
83 call jedema()
84 end subroutine
85 \endverbatim \n
86 Et puis, on compile Code ASTER: sudo python setup.py install\n
87 Pour etre capable de sauvegarder le matrice de rigidité dans le fichier MATLAB, il faut editer le fichier .export de Code ASTER comme montré ci dessous: \n
88 \verbatim
89 F comm /home/..../filename.comm D 1
90 F mail /home/..../filename.mail D 20
91 F mess /home/..../filename.mess R 6
92 F m /home/..../filename.m R 29 << On ajoute cette ligne ICI <<
93 \endverbatim \n
94 */
95
96 //-----------------------------------------------------------
97
98 /*! \page CalcParal Calcul parallèle dans Code ASTER
99 Référence: <a href="https://sites.google.com/site/codeastersalomemeca/home/code_asterno-heiretuka/parallel-code_aster-12-4-english"> Parallel Code_Aster 12.4 </a>\n\n
100 <B>Version</B>\n
101 OS:Ubuntu 14.04 \n
102 Code_Aster : ver.12.4\n
103 -----------------------------------------------------------\n\n
104 <B>Telecharger des fichiers</B>\n
105 Les fichier sont enregistrés dans: ~/Install_Files\n
106 Ils sont installé dans : /opt and /opt/aster\n\n
107 Télécharger les fichier suivant:\n
108 aster-full-src-12.4.0-1.noarch.tar.gz (Code_Aster)\n
109 OpenBLAS-0.2.15.tar.gz (OpenBLAS)\n
110 scalapack_installer.tgz (ScaLAPACK)\n
111 petsc-3.4.5.tar.gz (PETSc)\n\n
112 Modifier le propriétaire d'installation par: $ sudo chown username /opt/\n
113 Installez les bibliothèques pour Code_Aster par: \n
114 $ sudo apt-get install gfortran g++ python-dev python-qt4 python-numpy liblapack-dev libblas-dev tcl tk zlib1g-dev bison flex checkinstall openmpi-bin libopenmpi-dev libx11-dev cmake qt4-dev-tools libmotif-dev \n
115 -----------------------------------------------------------\n\n
116 <B>Compiler OpenBLAS (Math LIbrary pour Code_Aster)</B>\n
117 $ cd ~/Install_Files/\n
118 $ tar xfvz OpenBLAS-0.2.15..tar.gz\n
119 $ cd OpenBLAS-0.2.15\n
120 $ make NO_AFFINITY=1 USE_OPENMP=1\n
121 $ make PREFIX=/opt/OpenBLAS install\n
122 $ echo /opt/OpenBLAS/lib | sudo tee -a /etc/ld.so.conf.d/openblas.conf\n
123 $ sudo ldconfig\n
124 -----------------------------------------------------------\n\n
125 <B>Compiler Code_Aster (séquentiel) avec OpenBLAS.</B>\n
126 $ cd ~/Install_Files\n
127 $ tar xfvz aster-full-src-12.4.0-1.noarch.tar.gz\n
128 $ cd aster-full-src-12.4.0/\n
129 $ sed -i "s:PREFER_COMPILER\ =\ 'GNU':PREFER_COMPILER\ =\'GNU_without_MATH'\nMATHLIB=\ '/opt/OpenBLAS/lib/libopenblas.a':g" setup.cfg\n
130 $ python setup.py install\n
131 <EM>Faire host-file pour calcul parallèle par:</EM>\n
132 $ echo "$HOSTNAME cpu=$(cat /proc/cpuinfo | grep processor | wc -l)" > /opt/aster/etc/codeaster/mpi_hostfile\n
133 -----------------------------------------------------------\n\n
134 <B>Compiler ScaLAPACK</B>\n
135 $ cd ~/Install_Files\n
136 $ tar xfvz scalapack_installer.tgz\n
137 $ cd scalapack_installer_1.0.2\n
138 $ ./setup.py --lapacklib=/opt/OpenBLAS/lib/libopenblas.a --mpicc=mpicc --mpif90=mpif90 --mpiincdir=/usr/lib/openmpi/include --ldflags_c=-fopenmp --ldflags_fc=-fopenmp --prefix=/opt/scalapack\n
139 <EM>Une message d'erreur "BLACS: error running BLACS test routines xCbtest" apparaîtra après la compilation, mais vous réussissez, s'il existe le fichier dans "/opt/scalapack/lib/libscalapack.a"</EM> \n
140 -----------------------------------------------------------\n\n
141 <B>Compiler MUMPS</B>\n
142 Copier mumps-4.10.0 dans fichiers source de Code_Aster dans '/opt.\n
143 Compiler par mpi-compiler\n
144 $ cp ~/Install_Files/aster-full-src-12.4.0/SRC/mumps-4.10.0-aster3.tar.gz /opt/\n
145 $ cd /opt\n
146 $ tar xfvz mumps-4.10.0-aster3.tar.gz\n
147 $ mv mumps-4.10.0 mumps-4.10.0_mpi\n
148 $ cd mumps-4.10.0_mpi/\n
149 Changer 'Makefile.inc.in' pour MUMPS4.10.0 Makefile.inc\n
150 $ make all \n
151 -----------------------------------------------------------\n\n
152 <B>Compiler PETSc avec HYPRE et ML</B>\n
153 $ cp ~/Install_Files/petsc-3.4.5.tar.gz /opt\n
154 $ cd /opt\n
155 $ tar xfvz petsc-3.4.5.tar.gz\n
156 $ cd petsc-3.4.5\n
157 $ ./config/configure.py --with-mpi-dir=/usr/lib/openmpi --with-blas-lapack-lib=/opt/OpenBLAS/lib/libopenblas.a --download-hypre=yes --download-ml=yes --with-debugging=0 COPTFLAGS=-O1 CXXOPTFLAGS=-O1 FOPTFLAGS=-O1 --configModules=PETSc.Configure --optionsModule=PETSc.compilerOptions --with-x=0 --with-shared-libraries=0 \n
158 $ make PETSC_DIR=/opt/petsc-3.4.5 PETSC_ARCH=arch-linux2-c-opt all\n
159 $ make PETSC_DIR=/opt/petsc-3.4.5 PETSC_ARCH=arch-linux2-c-opt test\n
160 -----------------------------------------------------------\n\n
161 <B>Compiler Code_Aster (parallèle)</B>\n
162 <EM>Changer un partie de 'mpi_get_procid_cmd' de '/opt/aster/etc/codeaster/asrun' par:\n
163 mpi_get_procid_cmd : echo $OMPI_COMM_WORLD_RANK\n
164 <EM>Changer 32 a 64 pour les processeur 64 bit: </B>\n
165 batch_mpi_nbpmax : 32 (ou 64)\n
166 interactif_mpi_nbpmax : 32 (ou 64)\n
167 <EM>Décompresser Code_Aster</B>\n
168 $ cd ~/Install_Files\n
169 $ cd aster-full-src-12.4.0/SRC\n
170 $ tar xfvz aster-12.4.0.tgz\n
171 $ cd aster-12.4.0\n
172 <EM>Mettre les fichiers de configuration pour calcul parallèle: <a href="https://sites.google.com/site/codeastersalomemeca/home/code_asterno-heiretuka/code_asterno-heiretuka-12-4/Ubuntu_gnu_mpi.py?attredirects=0&d=1"> Ubuntu_gnu_mpi.py </a> et <a href="https://sites.google.com/site/codeastersalomemeca/home/code_asterno-heiretuka/code_asterno-heiretuka-12-4/Ubuntu_gnu.py?attredirects=0&d=1"> Ubuntu_gnu.py </a> dans cette dossier et compiler Code_Aster.</B>\n
173 $ export ASTER_ROOT=/opt/aster\n
174 $ ./waf configure --use-config-dir=$ASTER_ROOT/12.4/share/aster --use-config=Ubuntu_gnu_mpi --prefix=$ASTER_ROOT/PAR12.4\n
175 $ ./waf install -p\n
176 <EM>Ajouter 'vers : PAR12.4:/opt/aster/PAR12.4/share/aster' en dessous de 'vers : testing' in '/opt/aster/etc/codeaster/aster' et puis 'PAR12.4' est enregistré dans ASTK.</B>\n
177
178 */
179
180 //-----------------------------------------------------------
181 //-----------------------------------------------------------
182
183
184 /*! \page Script Description du contenu du fichier script
185 Un fichier script est composé de commandes exécutées en séquences depuis le début du fichier jusqu'à la fin.\n
186 Toute ligne commence par une variable suivie d'un espace suivi d'un signe egal suivi d'un espace et suivi de la commande et de ses arguments.\n
187 Si le premier caractère de la ligne est le caractère # alors la ligne est ignorée.\n\n
188 Les commandes disponibles dans le script MAGiC:
189 - \subpage ajoutass
190 - \subpage brepassemblage
191 - \subpage creemodele
192 - \subpage creeassemblage
193 - \subpage diff
194 - \subpage enregistrer
195 - \subpage export_mg_gmsh
196 - \subpage export_fem_gmsh
197 - \subpage fichier
198 - \subpage importstepocc
199 - \subpage inter
200 - \subpage p_cylindre
201 - \subpage p_cone
202 - \subpage p_boite
203 - \subpage p_sphere
204 - \subpage p_ellipsoide
205 - \subpage p_tore
206 - \subpage union
207 - \subpage fragment
208 - \subpage tristlmodele
209 - \subpage tristlassemblage
210 */
211
212 //-----------------------------------------------------------
213
214 /*! \page Configuration Configuration de MAGiC
215 Dans chaque compte utilisateur ou MAGiC est utilisé un fichier .magic dans le home directory permet de regler quelques parametres de l'application :\n\n
216 Affiche_Code_Aster = 0.000000 //0. Affichage redirigé vers le fichier aster.log 1 affichage dans un terminal\n
217 Convergence_mailleur3d_frontal = 200.000000 //Nombre de front restant à partir duquel la destruction est obligatoire\n
218 Echantillon_face = 20.000000 //Nombre d'échantillon pour le calcul de la boite englobante des faces\n
219 Verification_coin_face_mailleur2D = 0.000000 //0. Ne fais pas la vérification 1. Fait la vérification qu'un sommet de face partage au moins deux triangles\n
220 Optimisation_2D = 1 //Nombre de bits = nombre de passe d'optimisation. Pour chaque bit 1=bouge de noeud 2=inverse diagonale 3=bouge de noeud inserse diagonale simultane 4=inverse diagonale bouge de noeud simulatane\n
221 Quadratisation_jmin = 1.000000 //Garantir des tetras quadratiques avec jaconien minimum positif : 1=oui 2=non
222 Quadratisation_pas = 100. //Nombre de pas pour recaler les noeuds et obtenir un jmin positif
223 Quadratisation_dis = 0.100000 //Valeur de la distortion du jacobien minimale à atteindre
224 Separateur_decimale = , //Seprateur décimale pour l'exportation des fichiers excel
225 */
226
227
228 //-----------------------------------------------------------
229
230 /*! \page Reconstruction Description de la procédure de reconstruction d'un nmodèle structurel après optimisation topologique
231
232 Description de la reconstruction
233
234 - \subpage Description_reconstruction
235
236 Commandes de la reconstruction
237
238 - \subpage Commande_reconstruction
239
240 */
241
242 //-----------------------------------------------------------
243 /*! \page Description_reconstruction Description de la reconstruction
244 La squelettisation consiste à extraire le squelette d’un modèle. Le modèle est supposé structurel, c’est-à-dire contenant des éléments de type poutre. Pour utiliser l’algorithme de squelettisation, l’on a besoin de 2 fichiers .magic et 2 fichiers .txt. Il s’agit du fichier résultant de l’optimisation topologique, du fichier obtenu après lissage (partie de non_design exclue), et les 2 fichiers .txt provenant de MatLab et contenant les coordonnées des points du squelette et les connectivités entre les points de la courbe-squelette.
245 L’étape 5 ci-dessus résulte en 6 fichiers qui sont : 3 fichiers de squelette (en .magic) et 3 fichiers de solutions (en .sol) sur le calcul des sections.\n\n\n
246 <B>nomfichier_squelette1.magic</B> est le fichier contenant la courbe-squelette sous forme de ligne. Il est accompagné du fichier Carte_section1.sol qui est le fichier de solution pour la taille des sections en mètre (m).\n\n\n
247 <B>nomfichier_squelette2.magic</B> est le fichier contenant le squelette après transformation des segments de chaque branche de la courbe squelette en poutre droite. Il est lui aussi accompagné du fichier Carte_section2.sol qui est le fichier de solution pour la taille des sections des poutres droites en mètre (m). Ce squelette est connecté au non_design à l’aide des segments.\n\n\n
248 <B>nomfichier_squelette3.magic</B> le fichier final de travail. C’est ce fichier qui est utilisé dans la suite pour les calculs. Ce dernier fichier contient le squelette sous forme de poutres droites, est connecté directement au non_design à l’aide des mini-poutres et contient les conditions aux limites et de chargement. Il est accompagné du fichier Carte_section3.sol qui est le fichier de solution pour la taille des sections en mètre (m).
249 */
250
251 //-----------------------------------------------------------
252 /*! \page Commande_reconstruction Commandes de la reconstruction
253
254 <span style="text-decoration: underline;"><B>Etape 1 :</B> </span> Optimisation topologique\n <i>topo_optis.exe
255 -optimise -design nom_fichier.magic -nondesign nom_fichier_bloc.magic -out nom_fichier_resu.magic -param nom_fichier_param.txt -paramaster aster.txt</i>\n\n
256 Si on a déjà un résultat optimal on peut directement passer à l'étape 2.
257 <BR><BR>
258
259 <span style="text-decoration: underline;"><B>Etape 2 :</B> </span> Lissage du résultat optimal (sans la partie de non_design) \n
260 <i>post_optis.exe -creepeau -in nom_fichier_resu.magic -out nom_fichier_lisse.magic -param paramliss.txt</i>\n\n
261 Dans le fichier paramliss, mettre à 1 le paramètre rmimpose_debut pour supprimer le non_design et donner un nom de fichier pour le résultat de la peau sans non_design avec le paramètre nomfichpeau.
262 <BR><BR>
263
264
265 <span style="text-decoration: underline;"><B>Etape 3</B> </span> : Transformation en .off \n
266 <i>mgoperation.exe -offout -in nom_fichier_lisse_peau.magic</i>\n\n
267 (Utiliser le fichier de la peau qui ne contient pas le non_design)
268 <BR><BR>
269
270
271 <span style="text-decoration: underline;"><B>Etape 4 </B> </span> : Squelettisation sous MatLab\n
272
273 Partie 1 : génération du squelette\n
274 Mettre le fichier .off précédent dans le dossier « data » et aller dans le logiciel MatLab. Choisir le chemin vers le dossier « matlab » qui est dans le même répertoire que « data »\n
275 Ouvrir eg_skeleton_laplacian_rosa.m\n
276 Mettre le nom (sans son extension) du fichier .off obtenu à l’Étape 3 dans eg_skeleton_laplacian_rosa.m à la ligne 16.\n
277 executer eg_skeleton_laplacian_rosa.m\n
278 Des figures (en particulier la figure 4) sont générées.\n\n
279
280 Partie 2 : extraction des données\n
281 Ouvrir maintenant Entxt.m qui est également dans le dossier « matlab »\n
282 Donner les noms de fichier désirés dans Entxt.m aux lignes 4, 5 et 33, 34.\n
283 executer Entxt.m \n
284 2 fichiers, contenant les coordonnées des points et les connectivités, sont générés dans le dossier « matlab » ; ce sont ces fichiers qui sont utilisés par la suite dans MAGiC.\n
285 <BR><BR>
286
287
288 <span style="text-decoration: underline;"><B>Etape 5 :</B> </span> Exportation du squelette dans MAGiC\n
289 <i>skeleton.exe -construire_squelette -in nom_fichier_resu.magic -out nom_fichier -inpoints nom_fichier_points.txt -incorres nom_fichier_corres.txt -infilelisse nom_fichier_lisse.magic –connecte 1 –param_lissage paramliss.txt</i>\n\n
290
291
292 Pour obtenir une liste des paramètres pour d’éventuelles modifications, faire simplement :\n
293 <i>skeleton.exe -construire_squelette </i>\n
294
295 –connecte 1 : permet d’introduire des mini-poutres dans toute la zone (les triangles) de contact entre les tétraèdres optimisés et de non_design\n
296
297 –connecte 0 : permet d’introduire des mini-poutres uniquement au nœud de jonction entre le squelette et le non_design\n\n
298
299 Le résultat à utiliser pour la suite est le nom_fichier_squelette3.magic
300 <BR><BR>
301
302 <span style="text-decoration: underline;"><B>Etape 6 :</B> </span> Lancer le calcul EF \n
303 <i>mgoperation.exe -calculaster -in nom_fichier_squelette3.magic -out nom_fichier_sortie -param aster.txt -elastique</i>\n
304 */
305 //-----------------------------------------------------------
306 /*! \page SiDolo Utilisation de SiDolo couplé à MAGiC
307 <ul>
308 <li>Avant étude</li>
309 <ul>
310 <li>S'assurer que SiDolo est disponible sur son ordinateur. Si ce n'est pas le cas il est diponible <a href="http://ericca.uqtr.ca/SiDolo"> ici </a>. Mettre à jour le fichier sidolo_user dans le répertoire bin afin de mettre le bon répertoire.</li>
311 </ul>
312 <li>Étape 1</li>
313 <ul>
314 <li>Créer un répertoire pour une étude d'optimisation. Conseil pratique un répetertoire = une étude</li>
315 <li>Entrer dans ce répertoire</li>
316 </ul>
317 <li>Étape 2</li>
318 <ul>
319 <li>Créer un modèle MAGiC.</li>
320 <li>Créer un script qui fait un calcul d'une itération d'optimisation.</li>
321 </ul>
322 <li>Étape 3</li>
323 <ul>
324 <li>Créer l'ensemble des fichiers nécessaire à une étude Sidolo. <a href="http://ericca.uqtr.ca/SiDolo"> Exemple de fichiers </a>.</li>
325 <ul>
326 <li>fichier .dat. Définition des parametre de l'étude </li>
327 <li>fichier sidvar.h. Définition des variables </li>
328 <li>fichier interface.f. Programmation des mises à jour de données entre chaque itération</li>
329 <li>fichier .exp. Fichier de la courbe expérimentale à approcher </li>
330 </ul>
331 <li>Configurer les fichiers en se référant à la documentation SiDolo présente dans le répertoire doc de SiDolo.</li>
332 </ul>
333 <li>Étape 4</li>
334 <ul>
335 <li><span style="color:magenta">source ../ou est SiDolo/bin/sidolo_user </span>. </li>
336 <li><span style="color:magenta">sde nomoptim</span> pour creer l'excutable de l'optimisation. </li>
337 <li><span style="color:magenta">sdi interface</span> pour creer l'executable de l'interface. </li>
338 <li><span style="color:magenta">ln -s "executable de l'interface" "non du fichier de la courbe expérimentale sans l'extension .exp"</span></li>
339 </ul>
340 <li>Étape 5</li>
341 <ul>
342 <li>Lancer l'executable de l'optimisateur</li>
343 </ul>
344 </ul>
345
346 */
347 //-----------------------------------------------------------
348 /*!
349 \page microstructre Microstucture de matériaux hétérogénes
350
351 Matériaux hétérogénes à fibres courtes
352
353 - \subpage fibrescourtes
354
355 Polycristaux
356 - \subpage polycristaux
357
358 */
359 //-----------------------------------------------------------
360 /*!
361 \page fibrescourtes Matériaux hétérogénes à fibres courtes
362
363 */
364 //-----------------------------------------------------------
365 /*!
366 \page polycristaux Polycristaux
367 <ul>
368 <li>Création des fichiers paramètres</li>
369 <ul>
370 <li>Créer un répertoire vide par etude et se placer dedans.</li><br>
371 <li>Commande : microstructure.exe -polycristaux -creeparampoly -param cuivre.txt</li><br>
372 Géneration de 5 fichiers. Fixer les paramétres mécaniques dans le fichier cuivre.txt. Fixer les paramétres code_aster dans param_aster.txt
373 <br><br></ul>
374 <li>Lancement de la simulation</li>
375 <ul>
376 <li>En séquentiel</li>
377 <ul>
378 <li>Commande : ./vasy nb_echantillon</li>
379 </ul>
380 </ul>
381 <ul>
382 <li>En parralélle</li>
383 <ul>
384 <li>Commande : parra.exe ./vasy_par nb_cpu nb_echantillon cuivre.txt </li>
385 </ul>
386
387 </ul>
388 </ul>
389 <ul>
390 <li>Génération des graphiques résultats</li>
391 <ul>
392 <li>Commande : microstructure.exe -polycristaux -analysepoly -param cuivre.txt</li><Br>Les fichiers peuvent être visualisés avec le programme eog (eye of gnome). eog *.svg.
393 </ul>
394 </ul>
395
396 */
397
398
399 //-----------------------------------------------------------
400 /*! \page fichier fichier
401 var = fichier nom
402 @brief Mise en mémoire d'un gestionnaire MAGiC
403 @param nom une chaine de caractére.
404 @return var une variable representant le gestionnaire MAGiC
405 @details Si nom = nouveau il y a création d'un nouveau modèle MAGiC\n
406 @details Sinon ouverture du fichier MAGiC donné par nom\n
407 */
408
409 //-----------------------------------------------------------
410
411 /*! \page p_boite p_boite
412 var = p_boite modele x1 y1 z1 x2 y2 z2
413 @brief Création d'une forme primitive volumique de type boîte [MG_CG_FORME_VOLUME_BOITE] entre les points (x1,y1,z1) et (x2,y2,z2)
414 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
415 @param x1 un double.
416 @param y1 un double.
417 @param z1 un double.
418 @param x2 un double.
419 @param y2 un double.
420 @param z2 un double.
421 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
422 */
423
424 //-----------------------------------------------------------
425
426 /*! \page p_sphere p_sphere
427 var = p_sphere modele x1 y1 z1 r
428 @brief Création d'une forme primitive volumique de type sphère [MG_CG_FORME_VOLUME_SPHERE] de centre (x1,y1,z1) et de rayon r
429 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
430 @param x1 un double.
431 @param y1 un double.
432 @param z1 un double.
433 @param r un double.
434 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
435 */
436
437 //-----------------------------------------------------------
438
439 /*! \page p_cylindre p_cylindre
440 var = p_cylindre modele x1 y1 z1 axe_x axe_y axe_z h r
441 @brief Création d'une forme primitive volumique de type cylindre [MG_CG_FORME_VOLUME_CYLINDRE]
442 basée sur le cercle centré en (x1,y1,z1) orienté selon l'axe (axe_x,axe_y,axe_z) de hauteur h et de rayon r
443 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
444 @param x1 un double.
445 @param y1 un double.
446 @param z1 un double.
447 @param axe_x un double.
448 @param axe_y un double.
449 @param axe_z un double.
450 @param h un double.
451 @param r un double.
452 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
453 */
454
455 //-----------------------------------------------------------
456
457 /*! \page p_ellipsoide p_ellipsoide
458 var = p_ellipsoide modele x1 y1 z1 axe_x axe_y axe_z R r
459 @brief Création d'une forme primitive volumique de type ellipsoide [MG_CG_FORME_VOLUME_ELLIPSOIDE]
460 centré en (x1,y1,z1) orienté selon l'axe (axe_x,axe_y,axe_z) de rayon majeur R et de rayon mineur r
461 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
462 @param x1 un double.
463 @param y1 un double.
464 @param z1 un double.
465 @param axe_x un double.
466 @param axe_y un double.
467 @param axe_z un double.
468 @param R un double.
469 @param r un double.
470 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
471 */
472
473
474 //-----------------------------------------------------------
475
476 /*! \page p_tore p_tore
477 var = p_tore modele x1 y1 z1 axe_x axe_y axe_z R r
478 @brief Création d'une forme primitive volumique de type tore [MG_CG_FORME_VOLUME_TORE] basée sur le cercle centré en (x1,y1,z1) orienté selon l'axe (axe_x,axe_y,axe_z) de grand rayon R et de petit rayon r
479 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
480 @param x1 un double.
481 @param y1 un double.
482 @param z1 un double.
483 @param axe_x un double.
484 @param axe_y un double.
485 @param axe_z un double.
486 @param R un double.
487 @param r un double.
488 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
489 */
490
491 //-----------------------------------------------------------
492
493 /*! \page p_cone p_cone
494 var = p_cone modele x1 y1 z1 axe_x axe_y axe_z h r
495 @brief Création d'une forme primitive volumique de type cone [MG_CG_FORME_VOLUME_CONE] basée sur le cercle centré en (x1,y1,z1) orienté selon l'axe (axe_x,axe_y,axe_z) de hauteur h et de petit rayon r
496 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
497 @param x1 un double.
498 @param y1 un double.
499 @param z1 un double.
500 @param axe_x un double.
501 @param axe_y un double.
502 @param axe_z un double.
503 @param h un double.
504 @param r un double.
505 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
506 */
507 //-----------------------------------------------------------
508
509 /*! \page ajoutass ajoutass
510 var = ajoutass assemblage forme
511 @brief Ajoute une forme [MG_CG_FORME] dans un assemblage [MG_CG_ASSEMBLAGE]
512 @param assemblage une variable représentant un assemblage [MG_CG_ASSEMBLAGE].
513 @param forme une variable représentant forme utile pour la construction géométrique [MG_CG_FORME]
514 @return var une variable inutilisable
515 */
516 //-----------------------------------------------------------
517 /*! \page union union
518 var = union modele forme1 forme2 nom_semantique
519 @brief Création d'une opération booléene d'union [MG_CG_OP_BOOL_UNION] entre deux formes [MG_CG_FORME]
520 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
521 @param forme1 une forme [MG_CG_FORME].
522 @param forme2 une forme [MG_CG_FORME].
523 @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
524 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
525 @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
526 */
527
528 //-----------------------------------------------------------
529 /*! \page diff diff
530 var = diff modele forme1 forme2 nom_semantique
531 @brief Création d'une opération booléene de soustraction [MG_CG_OP_BOOL_DIFFERENCE] entre deux formes [MG_CG_FORME]
532 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
533 @param forme1 une forme [MG_CG_FORME].
534 @param forme2 une forme [MG_CG_FORME].
535 @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
536 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
537 @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
538 */
539
540 //-----------------------------------------------------------
541 /*! \page inter inter
542 var = inter modele forme1 forme2 nom_semantique
543 @brief Création d'une opération booléene d'intersection [MG_CG_OP_BOOL_INTERSECTION] entre deux formes [MG_CG_FORME]
544 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
545 @param forme1 une forme [MG_CG_FORME].
546 @param forme2 une forme [MG_CG_FORME].
547 @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
548 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
549 @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
550 */
551
552 //-----------------------------------------------------------
553 /*! \page fragment fragment
554 var = fragment modele forme1 forme2 nom_semantique
555 @brief Création d'une opération booléene de fragmentation [MG_CG_OP_BOOL_FRAGMENT] entre deux formes [MG_CG_FORME]
556 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
557 @param forme1 une forme [MG_CG_FORME].
558 @param forme2 une forme [MG_CG_FORME].
559 @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
560 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
561 @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
562 */
563
564 //-----------------------------------------------------------
565
566 /*! \page creemodele creemodele
567 var = creemodele gest nom unite eps fusion triSTL eps_tri
568 @brief Création d'un modele de construction géométrique [MG_CG_MODELE]
569 @param gest une variable représentant un modèle MAGiC [MG_GESTIONNAIRE]
570 @param nom une chaine de caractère.
571 @param unite un double représentant l'unité de mesure utilisé
572 @param eps un double représentant la précision utilisé
573 @param fusion une chaine de caractère. Si la valeur est "fusion" alors les entités similaires seront fusionnés à partir d'un algorithme de balayage.
574 @param triSTL est une chaine de caractère. Si la valeur est "true" alors le modèle sera disposé à importer la triangulation STL.
575 @param eps_tri un double représentant l'écart entre un entité topologique et son maillage STL.
576 @return var une variable representant un modele de construction géométrique [MG_CG_MODELE]
577 */
578
579 //-----------------------------------------------------------
580
581 /*! \page creeassemblage creeassemblage
582 var = creeassemblage modele nom
583 @brief Création d'un assemblage [MG_CG_ASSEMBLAGE] dans un modele de construction géométrique [MG_CG_MODELE]
584 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
585 @param nom une chaine de caractère. Ce nom n'est pas utilisé par la suite
586 @return var une variable representant un assemblage [MG_CG_ASSEMBLAGE]
587 */
588
589 //-----------------------------------------------------------
590 /*! \page enregistrer enregistrer
591 var = enregistrer gest nom
592 @brief Sauvegarde d'un fichier MAGiC
593 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
594 @param nom une string représentant un nom de fichier (L'extension s'ajoute automatiquement au nom du fichier).
595 @return var une variable inutilisable
596 */
597
598 //-----------------------------------------------------------
599 /*! \page brepassemblage brepassemblage
600 var = brepassemblage assemblage nom
601 @brief Conversion d'un assemblage [MG_CG_ASSEMBLAGE] au format brep d'OpenCascade
602 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
603 @param nom une string représentant un nom de fichier brep
604 @return var une variable inutilisable
605 */
606
607
608 //-----------------------------------------------------------
609 /*! \page export_mg_gmsh export_mg_gmsh
610 var = export_mg_gmsh gest nom num
611 @brief Exportation d'un MG_MAILLAGE MAGiC en format GMSH
612 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
613 @param nom une string représentant un nom de fichier gmsh (L'extension s'ajoute automatiquement au nom du fichier).
614 @param num un integer qui représente un numero sequantielle de maillage (entre 1 et n)
615 @return var une variable inutilisable
616 */
617
618 //-----------------------------------------------------------
619 /*! \page export_fem_gmsh export_fem_gmsh
620 var = export_fem_gmsh gest nom num
621 @brief Exportation d'un FEM_MAILLAGE MAGiC en format GMSH
622 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
623 @param nom une string représentant un nom de fichier gmsh (L'extension s'ajoute automatiquement au nom du fichier).
624 @param num un integer qui représente un numero sequantielle de maillage (entre 1 et n)
625 @return var une variable inutilisable
626 */
627 //-----------------------------------------------------------
628 /*! \page importstepocc importstepocc
629 var = importstepocc gest fichier_entree fichier_sortie eps fusion triSTL eps_tri
630 @brief importation d'un fichier STEP en MAGiC via opencascade V2017
631 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
632 @param fichier_entree une string représentant le nom de fichier STEP.
633 @param fichier_sortie une string représentant le nom du fichier MAGiC.
634 @param eps un double représentant la précision utilisé
635 @param fusion une chaine de caractère. Si la valeur est "fusion" alors les entités similaires seront fusionnés à partir d'un algorithme de balayage.
636 @param triSTL est une chaine de caractère. Si la valeur est "true" alors le modèle sera disposé à importer la triangulation STL.
637 @param eps_tri un double représentant l'écart entre un entité topologique et son maillage STL.
638 @return var une variable de type geometrie
639 */
640
641 //-----------------------------------------------------------
642 /*! \page tristlmodele tristlmodele
643 var = tristlmodele modele type
644 @brief Création de la triangulation STL [MG_MAILLAGE] d'un modele de construction géométrique [MG_CG_MODELE]
645 @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
646 @param type une string représentant le type de triangulation. Si type = tristl la triangulation ne tiendra pas en compte de la conformité du maillage. Si type = triangulation la conformité du maillage sera assurée.
647 @return var une variable inutilisable
648 */
649
650 //-----------------------------------------------------------
651 /*! \page tristlassemblage tristlassemblage
652 var = tristlassemblage assemblage type
653 @brief Création de la triangulation STL [MG_MAILLAGE] d'un assemblage [MG_CG_ASSEMBLAGE]
654 @param assemblage une variable représentant un assemblage [MG_CG_ASSEMBLAGE].
655 @param type une string représentant le type de triangulation. Si type = tristl la triangulation ne tiendra pas en compte de la conformité du maillage. Si type = triangulation la conformité du maillage sera assurée.
656 @return var une variable inutilisable
657 */