ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/aide/aide.h
Revision: 1086
Committed: Tue Jan 11 15:18:27 2022 UTC (3 years, 7 months ago) by francois
Content type: text/plain
File size: 35892 byte(s)
Log Message:
Mise a jour de l'aide

File Contents

# User Rev Content
1 francois 737 /*! \page Aide Aide MAGiC
2 francois 868 Informations diverses
3    
4     - \subpage infodiv
5    
6 francois 737 Configuration de MAGiC
7    
8     - \subpage Configuration
9    
10    
11     Description du format du fichier script MAGiC\n
12     - \subpage Script
13 francois 864
14 francois 902 Description de la procédure de reconstruction d'un modèle structurel après optimisation topologique\n
15 francois 864 - \subpage Reconstruction
16 francois 902
17 francois 1038 Faire une étude SiDolo
18    
19     - \subpage SiDolo
20    
21 francois 1068 Microstucture de matériaux hétérogénes
22 francois 1038
23 francois 1068 - \subpage microstructre
24    
25    
26 francois 737 */
27 francois 1086
28     /*! \mainpage
29     * <H1><B><center>Bienvenue sur le site de documentation du laboratoire <A HREF=http://www.uqtr.ca/ericca>ERICCA</A> de l'<A HREF=http://www.uqtr.ca/>UQTR</a></center></B></H1>
30     * \image html logoericca.jpg width=800px
31     *
32     * <center><A HREF=http://ericca.uqtr.ca/cgi-bin/viewvc.cgi/DEPOT_SVN_ERICCA/>Vue de la derniere version</a></center>
33     * */
34 francois 868 //-----------------------------------------------------------
35 francois 737
36 francois 868
37     /*! \page infodiv Informations diverses sur le projet MAGiC
38     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
39     Cette page résume les différents liens pour les outils disponibles : \n\n
40     <ul>
41 francois 1040 <li><a href="http://ericca.uqtr.ca/cgi-bin/viewvc.cgi"> Web SVN </a></li>
42 francois 868 <li><a href="http://ericca.uqtr.ca/biblio"> Biblio ERICCA </a></li>
43     <li><a href="http://ericca.uqtr.ca/cas_test"> Cas test d'optimisation de topologie </a></li>
44 francois 869 <li><a href="http://ericca.uqtr.ca/webmagic/index_text.html"> Tests journaliers du code </a></li>
45    
46 francois 868 <li>Documentation de Code ASTER</li>
47     <ul>
48     <li><a href="http://ericca.uqtr.ca/fr11.7"> 11.7 </a></li>
49     <li><a href="http://ericca.uqtr.ca/fr12.4"> 12.4 </a></li>
50 francois 963 <li><a href="http://ericca.uqtr.ca/fr13.6"> 13.6 </a></li>
51 francois 1047 <li><a href="http://ericca.uqtr.ca/fr14.4"> 14.4 </a></li>
52 francois 1074 <li><a href="http://ericca.uqtr.ca/fr14.6"> 14.6 </a></li>
53 francois 868 </ul>
54 sattarpa 901 <li>Modification dans Code ASTER</li>
55 francois 868 <ul>
56 sattarpa 901 <li>\subpage ExtraireK </a></li>
57     <li>\subpage CalcParal </a></li>
58     </ul>
59    
60     <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>
61     <ul>
62 francois 868 <li><a href="http://ericca.uqtr.ca/linux/instal_magic.bash"> Script d'installation de MAGiC </a></li>
63     <li><a href="http://ericca.uqtr.ca/linux/instal_aster.bash"> Script d'installation de code ASTER</a></li>
64 francois 955 <li><a href="http://ericca.uqtr.ca/linux/instal_chrono.bash"> Script d'installation de Project Chrono</a></li>
65 francois 868
66     </ul>
67     </ul>
68 sattarpa 901 */
69 francois 868
70 sattarpa 901 //-----------------------------------------------------------
71 francois 868
72 sattarpa 901 /*! \page ExtraireK Extraire matrice de raideur
73     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
74     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
75     On édite "op0012.F90" on ajoutant "call matimp(matas,29,'MATLAB')" à la lieu montrée. \n
76 francois 868
77 sattarpa 901 \verbatim
78     ! -- SI MATAS N'EST PAS MPI_COMPLET, ON LA COMPLETE :
79     call dismoi('MPI_COMPLET', matas, 'MATR_ASSE', repk=kmpic)
80     ASSERT((kmpic.eq.'OUI').or.(kmpic.eq.'NON'))
81     if (kmpic .eq. 'NON') call sdmpic('MATR_ASSE', matas)
82     !
83     !
84     !
85     call matimp(matas,29,'MATLAB') << On appel matimp ICI <<
86     !
87     ! -- MENAGE :
88     call jedetr(lchci)
89     call jedetr(lmatel)
90     !
91     call jedema()
92     end subroutine
93     \endverbatim \n
94     Et puis, on compile Code ASTER: sudo python setup.py install\n
95     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
96     \verbatim
97     F comm /home/..../filename.comm D 1
98     F mail /home/..../filename.mail D 20
99     F mess /home/..../filename.mess R 6
100     F m /home/..../filename.m R 29 << On ajoute cette ligne ICI <<
101     \endverbatim \n
102     */
103 francois 868
104 sattarpa 901 //-----------------------------------------------------------
105 francois 868
106 sattarpa 901 /*! \page CalcParal Calcul parallèle dans Code ASTER
107     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
108     <B>Version</B>\n
109     OS:Ubuntu 14.04 \n
110     Code_Aster : ver.12.4\n
111     -----------------------------------------------------------\n\n
112     <B>Telecharger des fichiers</B>\n
113     Les fichier sont enregistrés dans: ~/Install_Files\n
114     Ils sont installé dans : /opt and /opt/aster\n\n
115     Télécharger les fichier suivant:\n
116     aster-full-src-12.4.0-1.noarch.tar.gz (Code_Aster)\n
117     OpenBLAS-0.2.15.tar.gz (OpenBLAS)\n
118     scalapack_installer.tgz (ScaLAPACK)\n
119     petsc-3.4.5.tar.gz (PETSc)\n\n
120     Modifier le propriétaire d'installation par: $ sudo chown username /opt/\n
121     Installez les bibliothèques pour Code_Aster par: \n
122     $ 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
123     -----------------------------------------------------------\n\n
124     <B>Compiler OpenBLAS (Math LIbrary pour Code_Aster)</B>\n
125     $ cd ~/Install_Files/\n
126     $ tar xfvz OpenBLAS-0.2.15..tar.gz\n
127     $ cd OpenBLAS-0.2.15\n
128     $ make NO_AFFINITY=1 USE_OPENMP=1\n
129     $ make PREFIX=/opt/OpenBLAS install\n
130     $ echo /opt/OpenBLAS/lib | sudo tee -a /etc/ld.so.conf.d/openblas.conf\n
131     $ sudo ldconfig\n
132     -----------------------------------------------------------\n\n
133     <B>Compiler Code_Aster (séquentiel) avec OpenBLAS.</B>\n
134     $ cd ~/Install_Files\n
135     $ tar xfvz aster-full-src-12.4.0-1.noarch.tar.gz\n
136     $ cd aster-full-src-12.4.0/\n
137     $ sed -i "s:PREFER_COMPILER\ =\ 'GNU':PREFER_COMPILER\ =\'GNU_without_MATH'\nMATHLIB=\ '/opt/OpenBLAS/lib/libopenblas.a':g" setup.cfg\n
138     $ python setup.py install\n
139     <EM>Faire host-file pour calcul parallèle par:</EM>\n
140     $ echo "$HOSTNAME cpu=$(cat /proc/cpuinfo | grep processor | wc -l)" > /opt/aster/etc/codeaster/mpi_hostfile\n
141     -----------------------------------------------------------\n\n
142     <B>Compiler ScaLAPACK</B>\n
143     $ cd ~/Install_Files\n
144     $ tar xfvz scalapack_installer.tgz\n
145     $ cd scalapack_installer_1.0.2\n
146     $ ./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
147     <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
148     -----------------------------------------------------------\n\n
149     <B>Compiler MUMPS</B>\n
150     Copier mumps-4.10.0 dans fichiers source de Code_Aster dans '/opt.\n
151     Compiler par mpi-compiler\n
152     $ cp ~/Install_Files/aster-full-src-12.4.0/SRC/mumps-4.10.0-aster3.tar.gz /opt/\n
153     $ cd /opt\n
154     $ tar xfvz mumps-4.10.0-aster3.tar.gz\n
155     $ mv mumps-4.10.0 mumps-4.10.0_mpi\n
156     $ cd mumps-4.10.0_mpi/\n
157     Changer 'Makefile.inc.in' pour MUMPS4.10.0 Makefile.inc\n
158     $ make all \n
159     -----------------------------------------------------------\n\n
160     <B>Compiler PETSc avec HYPRE et ML</B>\n
161     $ cp ~/Install_Files/petsc-3.4.5.tar.gz /opt\n
162     $ cd /opt\n
163     $ tar xfvz petsc-3.4.5.tar.gz\n
164     $ cd petsc-3.4.5\n
165     $ ./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
166     $ make PETSC_DIR=/opt/petsc-3.4.5 PETSC_ARCH=arch-linux2-c-opt all\n
167     $ make PETSC_DIR=/opt/petsc-3.4.5 PETSC_ARCH=arch-linux2-c-opt test\n
168     -----------------------------------------------------------\n\n
169     <B>Compiler Code_Aster (parallèle)</B>\n
170     <EM>Changer un partie de 'mpi_get_procid_cmd' de '/opt/aster/etc/codeaster/asrun' par:\n
171     mpi_get_procid_cmd : echo $OMPI_COMM_WORLD_RANK\n
172     <EM>Changer 32 a 64 pour les processeur 64 bit: </B>\n
173     batch_mpi_nbpmax : 32 (ou 64)\n
174     interactif_mpi_nbpmax : 32 (ou 64)\n
175     <EM>Décompresser Code_Aster</B>\n
176     $ cd ~/Install_Files\n
177     $ cd aster-full-src-12.4.0/SRC\n
178     $ tar xfvz aster-12.4.0.tgz\n
179     $ cd aster-12.4.0\n
180     <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
181     $ export ASTER_ROOT=/opt/aster\n
182     $ ./waf configure --use-config-dir=$ASTER_ROOT/12.4/share/aster --use-config=Ubuntu_gnu_mpi --prefix=$ASTER_ROOT/PAR12.4\n
183     $ ./waf install -p\n
184     <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
185    
186 francois 868 */
187    
188 francois 737 //-----------------------------------------------------------
189 francois 868 //-----------------------------------------------------------
190 francois 737
191    
192     /*! \page Script Description du contenu du fichier script
193     Un fichier script est composé de commandes exécutées en séquences depuis le début du fichier jusqu'à la fin.\n
194     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
195     Si le premier caractère de la ligne est le caractère # alors la ligne est ignorée.\n\n
196     Les commandes disponibles dans le script MAGiC:
197 couturad 740 - \subpage ajoutass
198 couturad 906 - \subpage brepassemblage
199     - \subpage creemodele
200 couturad 740 - \subpage creeassemblage
201 francois 737 - \subpage diff
202     - \subpage enregistrer
203     - \subpage export_mg_gmsh
204     - \subpage export_fem_gmsh
205     - \subpage fichier
206     - \subpage importstepocc
207     - \subpage inter
208     - \subpage p_cylindre
209     - \subpage p_cone
210     - \subpage p_boite
211     - \subpage p_sphere
212 couturad 906 - \subpage p_ellipsoide
213 francois 737 - \subpage p_tore
214     - \subpage union
215 couturad 906 - \subpage fragment
216     - \subpage tristlmodele
217     - \subpage tristlassemblage
218 francois 737 */
219    
220     //-----------------------------------------------------------
221    
222     /*! \page Configuration Configuration de MAGiC
223     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
224     Affiche_Code_Aster = 0.000000 //0. Affichage redirigé vers le fichier aster.log 1 affichage dans un terminal\n
225     Convergence_mailleur3d_frontal = 200.000000 //Nombre de front restant à partir duquel la destruction est obligatoire\n
226     Echantillon_face = 20.000000 //Nombre d'échantillon pour le calcul de la boite englobante des faces\n
227     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
228     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
229 francois 883 Quadratisation_jmin = 1.000000 //Garantir des tetras quadratiques avec jaconien minimum positif : 1=oui 2=non
230     Quadratisation_pas = 100. //Nombre de pas pour recaler les noeuds et obtenir un jmin positif
231     Quadratisation_dis = 0.100000 //Valeur de la distortion du jacobien minimale à atteindre
232 francois 1078 Quadratisation_nbpassemax = 4.000000 //Nombre de passe maximale pour obtenir un jmin positif
233     Nb_iteration_max_mailleur2d = 1000000.000000 //Nombre d'iteration maximale pour le mailleur 2D
234     Nb_front_max_mailleur3d = 10000000.000000 //Nombre de front maximale pour le mailleur 3D
235 francois 883 Separateur_decimale = , //Seprateur décimale pour l'exportation des fichiers excel
236 francois 1078 Version_gmsh = 4.000000 //Version de gmsh utilisée
237 francois 737 */
238    
239 francois 864
240 francois 737 //-----------------------------------------------------------
241 francois 864
242     /*! \page Reconstruction Description de la procédure de reconstruction d'un nmodèle structurel après optimisation topologique
243    
244     Description de la reconstruction
245    
246     - \subpage Description_reconstruction
247    
248     Commandes de la reconstruction
249    
250     - \subpage Commande_reconstruction
251    
252     */
253    
254     //-----------------------------------------------------------
255     /*! \page Description_reconstruction Description de la reconstruction
256     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.
257     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
258     <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
259     <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
260     <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).
261     */
262    
263     //-----------------------------------------------------------
264     /*! \page Commande_reconstruction Commandes de la reconstruction
265    
266     <span style="text-decoration: underline;"><B>Etape 1 :</B> </span> Optimisation topologique\n <i>topo_optis.exe
267     -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
268     Si on a déjà un résultat optimal on peut directement passer à l'étape 2.
269     <BR><BR>
270    
271     <span style="text-decoration: underline;"><B>Etape 2 :</B> </span> Lissage du résultat optimal (sans la partie de non_design) \n
272     <i>post_optis.exe -creepeau -in nom_fichier_resu.magic -out nom_fichier_lisse.magic -param paramliss.txt</i>\n\n
273     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.
274     <BR><BR>
275    
276    
277     <span style="text-decoration: underline;"><B>Etape 3</B> </span> : Transformation en .off \n
278     <i>mgoperation.exe -offout -in nom_fichier_lisse_peau.magic</i>\n\n
279     (Utiliser le fichier de la peau qui ne contient pas le non_design)
280     <BR><BR>
281    
282    
283     <span style="text-decoration: underline;"><B>Etape 4 </B> </span> : Squelettisation sous MatLab\n
284    
285     Partie 1 : génération du squelette\n
286     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
287     Ouvrir eg_skeleton_laplacian_rosa.m\n
288     Mettre le nom (sans son extension) du fichier .off obtenu à l’Étape 3 dans eg_skeleton_laplacian_rosa.m à la ligne 16.\n
289     executer eg_skeleton_laplacian_rosa.m\n
290     Des figures (en particulier la figure 4) sont générées.\n\n
291    
292     Partie 2 : extraction des données\n
293     Ouvrir maintenant Entxt.m qui est également dans le dossier « matlab »\n
294     Donner les noms de fichier désirés dans Entxt.m aux lignes 4, 5 et 33, 34.\n
295     executer Entxt.m \n
296     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
297     <BR><BR>
298    
299    
300     <span style="text-decoration: underline;"><B>Etape 5 :</B> </span> Exportation du squelette dans MAGiC\n
301     <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
302    
303    
304     Pour obtenir une liste des paramètres pour d’éventuelles modifications, faire simplement :\n
305     <i>skeleton.exe -construire_squelette </i>\n
306    
307     –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
308    
309     –connecte 0 : permet d’introduire des mini-poutres uniquement au nœud de jonction entre le squelette et le non_design\n\n
310    
311     Le résultat à utiliser pour la suite est le nom_fichier_squelette3.magic
312     <BR><BR>
313    
314     <span style="text-decoration: underline;"><B>Etape 6 :</B> </span> Lancer le calcul EF \n
315     <i>mgoperation.exe -calculaster -in nom_fichier_squelette3.magic -out nom_fichier_sortie -param aster.txt -elastique</i>\n
316     */
317 francois 1038 //-----------------------------------------------------------
318     /*! \page SiDolo Utilisation de SiDolo couplé à MAGiC
319     <ul>
320     <li>Avant étude</li>
321     <ul>
322     <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>
323     </ul>
324     <li>Étape 1</li>
325     <ul>
326     <li>Créer un répertoire pour une étude d'optimisation. Conseil pratique un répetertoire = une étude</li>
327     <li>Entrer dans ce répertoire</li>
328     </ul>
329     <li>Étape 2</li>
330     <ul>
331     <li>Créer un modèle MAGiC.</li>
332     <li>Créer un script qui fait un calcul d'une itération d'optimisation.</li>
333     </ul>
334     <li>Étape 3</li>
335     <ul>
336     <li>Créer l'ensemble des fichiers nécessaire à une étude Sidolo. <a href="http://ericca.uqtr.ca/SiDolo"> Exemple de fichiers </a>.</li>
337     <ul>
338     <li>fichier .dat. Définition des parametre de l'étude </li>
339     <li>fichier sidvar.h. Définition des variables </li>
340     <li>fichier interface.f. Programmation des mises à jour de données entre chaque itération</li>
341     <li>fichier .exp. Fichier de la courbe expérimentale à approcher </li>
342     </ul>
343     <li>Configurer les fichiers en se référant à la documentation SiDolo présente dans le répertoire doc de SiDolo.</li>
344     </ul>
345     <li>Étape 4</li>
346     <ul>
347     <li><span style="color:magenta">source ../ou est SiDolo/bin/sidolo_user </span>. </li>
348     <li><span style="color:magenta">sde nomoptim</span> pour creer l'excutable de l'optimisation. </li>
349     <li><span style="color:magenta">sdi interface</span> pour creer l'executable de l'interface. </li>
350 francois 1050 <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>
351 francois 1038 </ul>
352 francois 1042 <li>Étape 5</li>
353 francois 1038 <ul>
354     <li>Lancer l'executable de l'optimisateur</li>
355     </ul>
356     </ul>
357 francois 864
358 francois 1038 */
359 francois 1068 //-----------------------------------------------------------
360     /*!
361     \page microstructre Microstucture de matériaux hétérogénes
362 francois 1038
363 francois 1068 Matériaux hétérogénes à fibres courtes
364 francois 1038
365 francois 1068 - \subpage fibrescourtes
366    
367     Polycristaux
368     - \subpage polycristaux
369    
370     */
371 francois 864 //-----------------------------------------------------------
372 francois 1068 /*!
373     \page fibrescourtes Matériaux hétérogénes à fibres courtes
374 francois 1078 <ul>
375     <li>Création des fichiers paramètres</li>
376     <ul>
377     <li>Créer un répertoire vide par etude et se placer dedans.</li><br>
378     <li>Commande : microstructure.exe -creeparam </li><br>
379     Affiche les différents paramètres généraux:
380     Type de generateur : [0] RSA, [1] DCR
381     Type d'inclusion : [0] Sphere, [1] Cylindre
382     Type de maillage : [0] lineaire, [1] quadratique, [2] lineaire et quadratique
383     Type d'etude : [0] mecanique, [1] thermique, [2] mecanique et thermique
384     Nombre de couche d'erosion (defaut = 0)
385     Epaisseur d'une couche d'erosion (defaut = 0.02)
386 francois 1079 <li>Commande : microstructure.exe -creeparam -type_generateur 0 -type_inclusion 0 -type_maillage 0 -type_etude 0 -nb_couche_erosion 10</li><br>
387 francois 1078 Génère l'arborescence de fichier de paramètres nécessaire pour étudier une microstructure
388     <br><br></ul>
389     <li>Lancement de la simulation</li>
390     <ul>
391     <li>Afin de ne pas préciser tout le temps le repertoire app, il est possible de définir la variable locale suivante : export PATHMAGICEXEAPP=dossier app</li><br>
392     <ul>
393     <li>En séquentiel</li>
394     <ul>
395     <li>Commande : ./generer_nb_ves index_départ index_fin "dossier app"</li>
396     </ul>
397     </ul>
398     <ul>
399     <li>En parralélle</li>
400     <ul>
401     <li> </li>
402     </ul>
403     </ul>
404     </ul>
405     <li>Génération des résultats</li>
406     <ul>
407     <li>Commande : ./post_traitement "dossier app"</li>
408 francois 1079 <li>L'ensemble des résultats sont dans le répertoire resultatsé Si le format de fichier est SVG il est possible de consulter les graphiques dans le répertoire résultat/graph en faisant la commande : eog *.svg</li>
409     <li>Par défault, les graphiques sont générés au format SVG. Il est aussi possible de les obtenir au format pdf en faisant la commande suivante : gnuplot -e "sortie='pdf'" fig.gnu</li>
410 francois 1078 </ul>
411 francois 1068 */
412     //-----------------------------------------------------------
413     /*!
414     \page polycristaux Polycristaux
415     <ul>
416     <li>Création des fichiers paramètres</li>
417     <ul>
418 francois 1070 <li>Créer un répertoire vide par etude et se placer dedans.</li><br>
419 francois 1068 <li>Commande : microstructure.exe -polycristaux -creeparampoly -param cuivre.txt</li><br>
420 francois 1070 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
421 francois 1068 <br><br></ul>
422     <li>Lancement de la simulation</li>
423     <ul>
424     <li>En séquentiel</li>
425     <ul>
426     <li>Commande : ./vasy nb_echantillon</li>
427     </ul>
428     </ul>
429     <ul>
430     <li>En parralélle</li>
431     <ul>
432     <li>Commande : parra.exe ./vasy_par nb_cpu nb_echantillon cuivre.txt </li>
433     </ul>
434    
435     </ul>
436     </ul>
437     <ul>
438     <li>Génération des graphiques résultats</li>
439     <ul>
440     <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.
441     </ul>
442     </ul>
443    
444     */
445    
446    
447     //-----------------------------------------------------------
448 francois 737 /*! \page fichier fichier
449     var = fichier nom
450     @brief Mise en mémoire d'un gestionnaire MAGiC
451 couturad 906 @param nom une chaine de caractére.
452 francois 737 @return var une variable representant le gestionnaire MAGiC
453     @details Si nom = nouveau il y a création d'un nouveau modèle MAGiC\n
454     @details Sinon ouverture du fichier MAGiC donné par nom\n
455     */
456    
457     //-----------------------------------------------------------
458    
459     /*! \page p_boite p_boite
460 couturad 906 var = p_boite modele x1 y1 z1 x2 y2 z2
461     @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)
462     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
463 francois 737 @param x1 un double.
464     @param y1 un double.
465     @param z1 un double.
466     @param x2 un double.
467     @param y2 un double.
468     @param z2 un double.
469 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
470 francois 737 */
471    
472     //-----------------------------------------------------------
473    
474     /*! \page p_sphere p_sphere
475 couturad 906 var = p_sphere modele x1 y1 z1 r
476     @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
477     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
478 francois 737 @param x1 un double.
479     @param y1 un double.
480     @param z1 un double.
481     @param r un double.
482 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
483 francois 737 */
484    
485     //-----------------------------------------------------------
486    
487     /*! \page p_cylindre p_cylindre
488 couturad 906 var = p_cylindre modele x1 y1 z1 axe_x axe_y axe_z h r
489     @brief Création d'une forme primitive volumique de type cylindre [MG_CG_FORME_VOLUME_CYLINDRE]
490     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
491     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
492 francois 737 @param x1 un double.
493     @param y1 un double.
494     @param z1 un double.
495 couturad 906 @param axe_x un double.
496     @param axe_y un double.
497     @param axe_z un double.
498 francois 737 @param h un double.
499     @param r un double.
500 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
501     */
502 francois 737
503 couturad 906 //-----------------------------------------------------------
504 francois 902
505 couturad 906 /*! \page p_ellipsoide p_ellipsoide
506     var = p_ellipsoide modele x1 y1 z1 axe_x axe_y axe_z R r
507     @brief Création d'une forme primitive volumique de type ellipsoide [MG_CG_FORME_VOLUME_ELLIPSOIDE]
508     centré en (x1,y1,z1) orienté selon l'axe (axe_x,axe_y,axe_z) de rayon majeur R et de rayon mineur r
509     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
510     @param x1 un double.
511     @param y1 un double.
512     @param z1 un double.
513     @param axe_x un double.
514     @param axe_y un double.
515     @param axe_z un double.
516     @param R un double.
517     @param r un double.
518     @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
519     */
520    
521    
522 francois 737 //-----------------------------------------------------------
523    
524     /*! \page p_tore p_tore
525 couturad 906 var = p_tore modele x1 y1 z1 axe_x axe_y axe_z R r
526     @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
527     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
528 francois 737 @param x1 un double.
529     @param y1 un double.
530     @param z1 un double.
531 couturad 906 @param axe_x un double.
532     @param axe_y un double.
533     @param axe_z un double.
534     @param R un double.
535 francois 737 @param r un double.
536 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
537 francois 737 */
538    
539     //-----------------------------------------------------------
540    
541     /*! \page p_cone p_cone
542 couturad 906 var = p_cone modele x1 y1 z1 axe_x axe_y axe_z h r
543     @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
544     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
545 francois 737 @param x1 un double.
546     @param y1 un double.
547     @param z1 un double.
548 couturad 906 @param axe_x un double.
549     @param axe_y un double.
550     @param axe_z un double.
551 francois 737 @param h un double.
552     @param r un double.
553 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
554 francois 737 */
555 couturad 740 //-----------------------------------------------------------
556 francois 737
557 couturad 740 /*! \page ajoutass ajoutass
558 couturad 906 var = ajoutass assemblage forme
559     @brief Ajoute une forme [MG_CG_FORME] dans un assemblage [MG_CG_ASSEMBLAGE]
560     @param assemblage une variable représentant un assemblage [MG_CG_ASSEMBLAGE].
561     @param forme une variable représentant forme utile pour la construction géométrique [MG_CG_FORME]
562 couturad 740 @return var une variable inutilisable
563     */
564 francois 737 //-----------------------------------------------------------
565     /*! \page union union
566 couturad 906 var = union modele forme1 forme2 nom_semantique
567     @brief Création d'une opération booléene d'union [MG_CG_OP_BOOL_UNION] entre deux formes [MG_CG_FORME]
568     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
569     @param forme1 une forme [MG_CG_FORME].
570     @param forme2 une forme [MG_CG_FORME].
571 francois 737 @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
572 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
573 francois 737 @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
574     */
575 couturad 906
576 francois 737 //-----------------------------------------------------------
577     /*! \page diff diff
578 couturad 906 var = diff modele forme1 forme2 nom_semantique
579     @brief Création d'une opération booléene de soustraction [MG_CG_OP_BOOL_DIFFERENCE] entre deux formes [MG_CG_FORME]
580     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
581     @param forme1 une forme [MG_CG_FORME].
582     @param forme2 une forme [MG_CG_FORME].
583 francois 737 @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
584 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
585 francois 737 @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
586     */
587 couturad 906
588 francois 737 //-----------------------------------------------------------
589     /*! \page inter inter
590 couturad 906 var = inter modele forme1 forme2 nom_semantique
591     @brief Création d'une opération booléene d'intersection [MG_CG_OP_BOOL_INTERSECTION] entre deux formes [MG_CG_FORME]
592     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
593     @param forme1 une forme [MG_CG_FORME].
594     @param forme2 une forme [MG_CG_FORME].
595 francois 737 @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
596 couturad 906 @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
597 francois 737 @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
598     */
599 couturad 906
600 francois 737 //-----------------------------------------------------------
601 couturad 906 /*! \page fragment fragment
602     var = fragment modele forme1 forme2 nom_semantique
603     @brief Création d'une opération booléene de fragmentation [MG_CG_OP_BOOL_FRAGMENT] entre deux formes [MG_CG_FORME]
604     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
605     @param forme1 une forme [MG_CG_FORME].
606     @param forme2 une forme [MG_CG_FORME].
607     @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
608     @return var une variable representant une forme utile pour la construction géométrique [MG_CG_FORME]
609     @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
610 francois 737 */
611    
612     //-----------------------------------------------------------
613 couturad 740
614 couturad 906 /*! \page creemodele creemodele
615     var = creemodele gest nom unite eps fusion triSTL eps_tri
616     @brief Création d'un modele de construction géométrique [MG_CG_MODELE]
617     @param gest une variable représentant un modèle MAGiC [MG_GESTIONNAIRE]
618     @param nom une chaine de caractère.
619     @param unite un double représentant l'unité de mesure utilisé
620     @param eps un double représentant la précision utilisé
621     @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.
622     @param triSTL est une chaine de caractère. Si la valeur est "true" alors le modèle sera disposé à importer la triangulation STL.
623     @param eps_tri un double représentant l'écart entre un entité topologique et son maillage STL.
624     @return var une variable representant un modele de construction géométrique [MG_CG_MODELE]
625 couturad 740 */
626    
627     //-----------------------------------------------------------
628 francois 737
629 couturad 906 /*! \page creeassemblage creeassemblage
630     var = creeassemblage modele nom
631     @brief Création d'un assemblage [MG_CG_ASSEMBLAGE] dans un modele de construction géométrique [MG_CG_MODELE]
632     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
633     @param nom une chaine de caractère. Ce nom n'est pas utilisé par la suite
634     @return var une variable representant un assemblage [MG_CG_ASSEMBLAGE]
635 couturad 740 */
636    
637     //-----------------------------------------------------------
638 francois 737 /*! \page enregistrer enregistrer
639     var = enregistrer gest nom
640     @brief Sauvegarde d'un fichier MAGiC
641 couturad 906 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
642 francois 737 @param nom une string représentant un nom de fichier (L'extension s'ajoute automatiquement au nom du fichier).
643     @return var une variable inutilisable
644     */
645    
646     //-----------------------------------------------------------
647 couturad 906 /*! \page brepassemblage brepassemblage
648     var = brepassemblage assemblage nom
649     @brief Conversion d'un assemblage [MG_CG_ASSEMBLAGE] au format brep d'OpenCascade
650     @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
651     @param nom une string représentant un nom de fichier brep
652     @return var une variable inutilisable
653     */
654    
655    
656     //-----------------------------------------------------------
657 francois 737 /*! \page export_mg_gmsh export_mg_gmsh
658     var = export_mg_gmsh gest nom num
659     @brief Exportation d'un MG_MAILLAGE MAGiC en format GMSH
660 couturad 906 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
661 francois 737 @param nom une string représentant un nom de fichier gmsh (L'extension s'ajoute automatiquement au nom du fichier).
662     @param num un integer qui représente un numero sequantielle de maillage (entre 1 et n)
663     @return var une variable inutilisable
664     */
665    
666     //-----------------------------------------------------------
667     /*! \page export_fem_gmsh export_fem_gmsh
668     var = export_fem_gmsh gest nom num
669     @brief Exportation d'un FEM_MAILLAGE MAGiC en format GMSH
670 couturad 906 @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
671 francois 737 @param nom une string représentant un nom de fichier gmsh (L'extension s'ajoute automatiquement au nom du fichier).
672     @param num un integer qui représente un numero sequantielle de maillage (entre 1 et n)
673     @return var une variable inutilisable
674     */
675     //-----------------------------------------------------------
676     /*! \page importstepocc importstepocc
677 couturad 906 var = importstepocc gest fichier_entree fichier_sortie eps fusion triSTL eps_tri
678     @brief importation d'un fichier STEP en MAGiC via opencascade V2017
679     @param gest une variable représentant un gestionnaire MAGiC [MG_GESTIONNAIRE]
680     @param fichier_entree une string représentant le nom de fichier STEP.
681     @param fichier_sortie une string représentant le nom du fichier MAGiC.
682     @param eps un double représentant la précision utilisé
683     @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.
684     @param triSTL est une chaine de caractère. Si la valeur est "true" alors le modèle sera disposé à importer la triangulation STL.
685     @param eps_tri un double représentant l'écart entre un entité topologique et son maillage STL.
686 francois 737 @return var une variable de type geometrie
687     */
688 couturad 906
689     //-----------------------------------------------------------
690     /*! \page tristlmodele tristlmodele
691     var = tristlmodele modele type
692     @brief Création de la triangulation STL [MG_MAILLAGE] d'un modele de construction géométrique [MG_CG_MODELE]
693     @param modele une variable représentant un modele de conscrution géométrique [MG_CG_MODELE].
694     @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.
695     @return var une variable inutilisable
696     */
697    
698     //-----------------------------------------------------------
699     /*! \page tristlassemblage tristlassemblage
700     var = tristlassemblage assemblage type
701     @brief Création de la triangulation STL [MG_MAILLAGE] d'un assemblage [MG_CG_ASSEMBLAGE]
702     @param assemblage une variable représentant un assemblage [MG_CG_ASSEMBLAGE].
703     @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.
704     @return var une variable inutilisable
705     */