ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/magic_application/src/aide.h
Revision: 902
Committed: Thu Aug 17 19:51:59 2017 UTC (7 years, 8 months ago) by francois
Content type: text/plain
Original Path: magic/app/magic_application/src/aide.h
File size: 26460 byte(s)
Log Message:
tag des noeuds sur les arete d'origine dans la creation de la peau d'une structure optimisée

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 737 */
18 francois 868 //-----------------------------------------------------------
19 francois 737
20 francois 868
21     /*! \page infodiv Informations diverses sur le projet MAGiC
22     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
23     Cette page résume les différents liens pour les outils disponibles : \n\n
24     <ul>
25     <li><a href="http://ericca.uqtr.ca/websvn"> WebSVN </a></li>
26     <li><a href="http://ericca.uqtr.ca/biblio"> Biblio ERICCA </a></li>
27     <li><a href="http://ericca.uqtr.ca/cas_test"> Cas test d'optimisation de topologie </a></li>
28 francois 869 <li><a href="http://ericca.uqtr.ca/webmagic/index_text.html"> Tests journaliers du code </a></li>
29    
30 francois 868 <li>Documentation de Code ASTER</li>
31     <ul>
32     <li><a href="http://ericca.uqtr.ca/fr11.7"> 11.7 </a></li>
33     <li><a href="http://ericca.uqtr.ca/fr12.4"> 12.4 </a></li>
34     </ul>
35 sattarpa 901 <li>Modification dans Code ASTER</li>
36 francois 868 <ul>
37 sattarpa 901 <li>\subpage ExtraireK </a></li>
38     <li>\subpage CalcParal </a></li>
39     </ul>
40    
41     <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>
42     <ul>
43 francois 868 <li><a href="http://ericca.uqtr.ca/linux/instal_magic.bash"> Script d'installation de MAGiC </a></li>
44     <li><a href="http://ericca.uqtr.ca/linux/instal_aster.bash"> Script d'installation de code ASTER</a></li>
45    
46     </ul>
47     </ul>
48 sattarpa 901 */
49 francois 868
50 sattarpa 901 //-----------------------------------------------------------
51 francois 868
52 sattarpa 901 /*! \page ExtraireK Extraire matrice de raideur
53     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
54     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
55     On édite "op0012.F90" on ajoutant "call matimp(matas,29,'MATLAB')" à la lieu montrée. \n
56 francois 868
57 sattarpa 901 \verbatim
58     ! -- SI MATAS N'EST PAS MPI_COMPLET, ON LA COMPLETE :
59     call dismoi('MPI_COMPLET', matas, 'MATR_ASSE', repk=kmpic)
60     ASSERT((kmpic.eq.'OUI').or.(kmpic.eq.'NON'))
61     if (kmpic .eq. 'NON') call sdmpic('MATR_ASSE', matas)
62     !
63     !
64     !
65     call matimp(matas,29,'MATLAB') << On appel matimp ICI <<
66     !
67     ! -- MENAGE :
68     call jedetr(lchci)
69     call jedetr(lmatel)
70     !
71     call jedema()
72     end subroutine
73     \endverbatim \n
74     Et puis, on compile Code ASTER: sudo python setup.py install\n
75     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
76     \verbatim
77     F comm /home/..../filename.comm D 1
78     F mail /home/..../filename.mail D 20
79     F mess /home/..../filename.mess R 6
80     F m /home/..../filename.m R 29 << On ajoute cette ligne ICI <<
81     \endverbatim \n
82     */
83 francois 868
84 sattarpa 901 //-----------------------------------------------------------
85 francois 868
86 sattarpa 901 /*! \page CalcParal Calcul parallèle dans Code ASTER
87     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
88     <B>Version</B>\n
89     OS:Ubuntu 14.04 \n
90     Code_Aster : ver.12.4\n
91     -----------------------------------------------------------\n\n
92     <B>Telecharger des fichiers</B>\n
93     Les fichier sont enregistrés dans: ~/Install_Files\n
94     Ils sont installé dans : /opt and /opt/aster\n\n
95     Télécharger les fichier suivant:\n
96     aster-full-src-12.4.0-1.noarch.tar.gz (Code_Aster)\n
97     OpenBLAS-0.2.15.tar.gz (OpenBLAS)\n
98     scalapack_installer.tgz (ScaLAPACK)\n
99     petsc-3.4.5.tar.gz (PETSc)\n\n
100     Modifier le propriétaire d'installation par: $ sudo chown username /opt/\n
101     Installez les bibliothèques pour Code_Aster par: \n
102     $ 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
103     -----------------------------------------------------------\n\n
104     <B>Compiler OpenBLAS (Math LIbrary pour Code_Aster)</B>\n
105     $ cd ~/Install_Files/\n
106     $ tar xfvz OpenBLAS-0.2.15..tar.gz\n
107     $ cd OpenBLAS-0.2.15\n
108     $ make NO_AFFINITY=1 USE_OPENMP=1\n
109     $ make PREFIX=/opt/OpenBLAS install\n
110     $ echo /opt/OpenBLAS/lib | sudo tee -a /etc/ld.so.conf.d/openblas.conf\n
111     $ sudo ldconfig\n
112     -----------------------------------------------------------\n\n
113     <B>Compiler Code_Aster (séquentiel) avec OpenBLAS.</B>\n
114     $ cd ~/Install_Files\n
115     $ tar xfvz aster-full-src-12.4.0-1.noarch.tar.gz\n
116     $ cd aster-full-src-12.4.0/\n
117     $ sed -i "s:PREFER_COMPILER\ =\ 'GNU':PREFER_COMPILER\ =\'GNU_without_MATH'\nMATHLIB=\ '/opt/OpenBLAS/lib/libopenblas.a':g" setup.cfg\n
118     $ python setup.py install\n
119     <EM>Faire host-file pour calcul parallèle par:</EM>\n
120     $ echo "$HOSTNAME cpu=$(cat /proc/cpuinfo | grep processor | wc -l)" > /opt/aster/etc/codeaster/mpi_hostfile\n
121     -----------------------------------------------------------\n\n
122     <B>Compiler ScaLAPACK</B>\n
123     $ cd ~/Install_Files\n
124     $ tar xfvz scalapack_installer.tgz\n
125     $ cd scalapack_installer_1.0.2\n
126     $ ./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
127     <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
128     -----------------------------------------------------------\n\n
129     <B>Compiler MUMPS</B>\n
130     Copier mumps-4.10.0 dans fichiers source de Code_Aster dans '/opt.\n
131     Compiler par mpi-compiler\n
132     $ cp ~/Install_Files/aster-full-src-12.4.0/SRC/mumps-4.10.0-aster3.tar.gz /opt/\n
133     $ cd /opt\n
134     $ tar xfvz mumps-4.10.0-aster3.tar.gz\n
135     $ mv mumps-4.10.0 mumps-4.10.0_mpi\n
136     $ cd mumps-4.10.0_mpi/\n
137     Changer 'Makefile.inc.in' pour MUMPS4.10.0 Makefile.inc\n
138     $ make all \n
139     -----------------------------------------------------------\n\n
140     <B>Compiler PETSc avec HYPRE et ML</B>\n
141     $ cp ~/Install_Files/petsc-3.4.5.tar.gz /opt\n
142     $ cd /opt\n
143     $ tar xfvz petsc-3.4.5.tar.gz\n
144     $ cd petsc-3.4.5\n
145     $ ./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
146     $ make PETSC_DIR=/opt/petsc-3.4.5 PETSC_ARCH=arch-linux2-c-opt all\n
147     $ make PETSC_DIR=/opt/petsc-3.4.5 PETSC_ARCH=arch-linux2-c-opt test\n
148     -----------------------------------------------------------\n\n
149     <B>Compiler Code_Aster (parallèle)</B>\n
150     <EM>Changer un partie de 'mpi_get_procid_cmd' de '/opt/aster/etc/codeaster/asrun' par:\n
151     mpi_get_procid_cmd : echo $OMPI_COMM_WORLD_RANK\n
152     <EM>Changer 32 a 64 pour les processeur 64 bit: </B>\n
153     batch_mpi_nbpmax : 32 (ou 64)\n
154     interactif_mpi_nbpmax : 32 (ou 64)\n
155     <EM>Décompresser Code_Aster</B>\n
156     $ cd ~/Install_Files\n
157     $ cd aster-full-src-12.4.0/SRC\n
158     $ tar xfvz aster-12.4.0.tgz\n
159     $ cd aster-12.4.0\n
160     <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
161     $ export ASTER_ROOT=/opt/aster\n
162     $ ./waf configure --use-config-dir=$ASTER_ROOT/12.4/share/aster --use-config=Ubuntu_gnu_mpi --prefix=$ASTER_ROOT/PAR12.4\n
163     $ ./waf install -p\n
164     <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
165    
166 francois 868 */
167    
168 francois 737 //-----------------------------------------------------------
169 francois 868 //-----------------------------------------------------------
170 francois 737
171    
172     /*! \page Script Description du contenu du fichier script
173     Un fichier script est composé de commandes exécutées en séquences depuis le début du fichier jusqu'à la fin.\n
174     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
175     Si le premier caractère de la ligne est le caractère # alors la ligne est ignorée.\n\n
176     Les commandes disponibles dans le script MAGiC:
177 couturad 740 - \subpage ajoutass
178 francois 737 - \subpage creearbre
179 couturad 740 - \subpage creeassemblage
180 francois 737 - \subpage diff
181     - \subpage enregistrer
182     - \subpage evalarbre
183 couturad 740 - \subpage evalassemblage
184 francois 737 - \subpage export_mg_gmsh
185     - \subpage export_fem_gmsh
186     - \subpage fichier
187     - \subpage importstepocc
188     - \subpage inter
189     - \subpage p_cylindre
190     - \subpage p_cone
191     - \subpage p_boite
192     - \subpage p_sphere
193     - \subpage p_tore
194     - \subpage union
195     */
196    
197     //-----------------------------------------------------------
198    
199     /*! \page Configuration Configuration de MAGiC
200     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
201     Affiche_Code_Aster = 0.000000 //0. Affichage redirigé vers le fichier aster.log 1 affichage dans un terminal\n
202     Convergence_mailleur3d_frontal = 200.000000 //Nombre de front restant à partir duquel la destruction est obligatoire\n
203     Echantillon_face = 20.000000 //Nombre d'échantillon pour le calcul de la boite englobante des faces\n
204     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
205     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
206 francois 883 Quadratisation_jmin = 1.000000 //Garantir des tetras quadratiques avec jaconien minimum positif : 1=oui 2=non
207     Quadratisation_pas = 100. //Nombre de pas pour recaler les noeuds et obtenir un jmin positif
208     Quadratisation_dis = 0.100000 //Valeur de la distortion du jacobien minimale à atteindre
209     Separateur_decimale = , //Seprateur décimale pour l'exportation des fichiers excel
210 francois 737 */
211    
212 francois 864
213 francois 737 //-----------------------------------------------------------
214 francois 864
215     /*! \page Reconstruction Description de la procédure de reconstruction d'un nmodèle structurel après optimisation topologique
216    
217     Description de la reconstruction
218    
219     - \subpage Description_reconstruction
220    
221     Commandes de la reconstruction
222    
223     - \subpage Commande_reconstruction
224    
225     */
226    
227     //-----------------------------------------------------------
228     /*! \page Description_reconstruction Description de la reconstruction
229     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.
230     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
231     <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
232     <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
233     <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).
234     */
235    
236     //-----------------------------------------------------------
237     /*! \page Commande_reconstruction Commandes de la reconstruction
238    
239     <span style="text-decoration: underline;"><B>Etape 1 :</B> </span> Optimisation topologique\n <i>topo_optis.exe
240     -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
241     Si on a déjà un résultat optimal on peut directement passer à l'étape 2.
242     <BR><BR>
243    
244     <span style="text-decoration: underline;"><B>Etape 2 :</B> </span> Lissage du résultat optimal (sans la partie de non_design) \n
245     <i>post_optis.exe -creepeau -in nom_fichier_resu.magic -out nom_fichier_lisse.magic -param paramliss.txt</i>\n\n
246     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.
247     <BR><BR>
248    
249    
250     <span style="text-decoration: underline;"><B>Etape 3</B> </span> : Transformation en .off \n
251     <i>mgoperation.exe -offout -in nom_fichier_lisse_peau.magic</i>\n\n
252     (Utiliser le fichier de la peau qui ne contient pas le non_design)
253     <BR><BR>
254    
255    
256     <span style="text-decoration: underline;"><B>Etape 4 </B> </span> : Squelettisation sous MatLab\n
257    
258     Partie 1 : génération du squelette\n
259     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
260     Ouvrir eg_skeleton_laplacian_rosa.m\n
261     Mettre le nom (sans son extension) du fichier .off obtenu à l’Étape 3 dans eg_skeleton_laplacian_rosa.m à la ligne 16.\n
262     executer eg_skeleton_laplacian_rosa.m\n
263     Des figures (en particulier la figure 4) sont générées.\n\n
264    
265     Partie 2 : extraction des données\n
266     Ouvrir maintenant Entxt.m qui est également dans le dossier « matlab »\n
267     Donner les noms de fichier désirés dans Entxt.m aux lignes 4, 5 et 33, 34.\n
268     executer Entxt.m \n
269     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
270     <BR><BR>
271    
272    
273     <span style="text-decoration: underline;"><B>Etape 5 :</B> </span> Exportation du squelette dans MAGiC\n
274     <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
275    
276    
277     Pour obtenir une liste des paramètres pour d’éventuelles modifications, faire simplement :\n
278     <i>skeleton.exe -construire_squelette </i>\n
279    
280     –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
281    
282     –connecte 0 : permet d’introduire des mini-poutres uniquement au nœud de jonction entre le squelette et le non_design\n\n
283    
284     Le résultat à utiliser pour la suite est le nom_fichier_squelette3.magic
285     <BR><BR>
286    
287     <span style="text-decoration: underline;"><B>Etape 6 :</B> </span> Lancer le calcul EF \n
288     <i>mgoperation.exe -calculaster -in nom_fichier_squelette3.magic -out nom_fichier_sortie -param aster.txt -elastique</i>\n
289     */
290    
291     //-----------------------------------------------------------
292 francois 737 /*! \page fichier fichier
293     var = fichier nom
294     @brief Mise en mémoire d'un gestionnaire MAGiC
295 francois 902 @param nom un************************************************************
296     e chaine de caractére.
297 francois 737 @return var une variable representant le gestionnaire MAGiC
298     @details Si nom = nouveau il y a création d'un nouveau modèle MAGiC\n
299     @details Sinon ouverture du fichier MAGiC donné par nom\n
300     */
301    
302     //-----------------------------------------------------------
303    
304     /*! \page p_boite p_boite
305     var = p_boite arbre x1 y1 z1 x2 y2 z2
306     @brief Création d'une primitive solide de forme boite entre les points (x1,y1,z1) et (x2,y2,z2)
307     @param arbre une variable représentant un arbre caractéristique.
308     @param x1 un double.
309     @param y1 un double.
310     @param z1 un double.
311     @param x2 un double.
312     @param y2 un double.
313     @param z2 un double.
314     @return var une variable representant une primitive solide
315     */
316    
317     //-----------------------------------------------------------
318    
319     /*! \page p_sphere p_sphere
320     var = p_sphere arbre x1 y1 z1 r
321     @brief Création d'une primitive solide de forme spherique de centre (x1,y1,z1) et de rayon r
322     @param arbre une variable représentant un arbre caractéristique.
323     @param x1 un double.
324     @param y1 un double.
325     @param z1 un double.
326     @param r un double.
327     @return var une variable representant une primitive solide
328     */
329    
330     //-----------------------------------------------------------
331    
332     /*! \page p_cylindre p_cylindre
333     var = p_cylindre arbre x1 y1 z1 lat lon h r
334     @brief Création d'une primitive solide de forme cylindrique basée sur le cercle centré en (x1,y1,z1) orienté selon les angles lat et lon pour latitute et longitude de hauteur h et de rayon r
335     @param arbre une variable représentant un arbre caractéristique.
336     @param x1 un double.
337     @param y1 un double.
338     @param z1 un double.
339     @param lat un double.
340     @param lon un double.
341     @param h un double.
342     @param r un double.
343     @return var une variable representant une primitive solide
344 francois 902 */************************************************************
345 francois 737
346 francois 902
347 francois 737 //-----------------------------------------------------------
348    
349     /*! \page p_tore p_tore
350     var = p_tore arbre x1 y1 z1 lat lon R r
351     @brief Création d'une primitive solide de forme torique basée sur le cercle centré en (x1,y1,z1) orienté selon les angles lat et lon pour latitute et longitude de grand rayon R et de petit rayon r
352     @param arbre une variable représentant un arbre caractéristique.
353     @param x1 un double.
354     @param y1 un double.
355     @param z1 un double.
356     @param lat un double.
357     @param lon un double.
358     @param h un double.
359     @param r un double.
360     @return var une variable representant une primitive solide
361     */
362    
363     //-----------------------------------------------------------
364    
365     /*! \page p_cone p_cone
366     var = p_cone arbre x1 y1 z1 lat lon h r
367     @brief Création d'une primitive solide de forme conqiue basée sur le cercle centré en (x1,y1,z1) orienté selon les angles lat et lon pour latitute et longitude de hauteur h et de petit rayon r
368     @param arbre une variable représentant un arbre caractéristique.
369     @param x1 un double.
370     @param y1 un double.
371     @param z1 un double.
372     @param lat un double.
373     @param lon un double.
374     @param h un double.
375     @param r un double.
376     @return var une variable representant une primitive solide
377     */
378 couturad 740 //-----------------------------------------------------------
379 francois 737
380 couturad 740 /*! \page ajoutass ajoutass
381     var = ajoutass arbre prim
382     @brief Ajoute une primitive dans un arbre
383     @param arbre une variable représentant un arbre caractéristique.
384     @param prim une variable représentant une primitive
385     @return var une variable inutilisable
386     */
387 francois 737 //-----------------------------------------------------------
388     /*! \page union union
389     var = union arbre p1 p2 nom_semantique
390     @brief Création d'une opération booléene d'union entre deux primitives
391     @param arbre une variable représentant un arbre caractéristique.
392     @param p1 une primitive.
393     @param p2 une primitive.
394     @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
395     @return var une variable representant une primitive
396     @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
397     */
398     //-----------------------------------------------------------
399     /*! \page diff diff
400     var = diff arbre p1 p2 nom_semantique
401     @brief Création d'une opération booléene de soustraction entre deux primitives
402     @param arbre une variable représentant un arbre caractéristique.
403     @param p1 une primitive.
404     @param p2 une primitive.
405     @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
406     @return var une variable representant une primitive
407     @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
408     */
409     //-----------------------------------------------------------
410     /*! \page inter inter
411     var = union arbre p1 p2 nom_semantique
412     @brief Création d'une opération booléene d'intersection entre deux primitives
413     @param arbre une variable représentant un arbre caractéristique.
414     @param p1 une primitive.
415     @param p2 une primitive.
416     @param nom_semantique OPTIONNEL nom pour donner un sens physique à l'opération. Les choix sont : chamfrein, conge, intersection, percage, soustraction, union, extrusion
417     @return var une variable representant une primitive
418     @details Si aucun nom de sémantique n'est donné le qualificatif SANS est attribué
419     */
420     //-----------------------------------------------------------
421    
422     /*! \page creearbre creearbre
423     var = creearbre gest nom
424     @brief Création d'un arbre caractéristique
425     @param gest une variable représentant un modèle MAGiC
426     @param nom une chaine de caractère. Ce nom n'est pas utilisé par la suite
427     @return var une variable representant un arbre caractéristique
428     */
429    
430     //-----------------------------------------------------------
431 couturad 740
432     /*! \page creeassemblage creeassemblage
433     var = creeassemblage arbre nom
434     @brief Création d'un assemblage dans un arbre caractéristique
435     @param arbre une variable représentant un arbre caractéristique
436     @param nom une chaine de caractère. Ce nom n'est pas utilisé par la suite
437     @return var une variable representant un assemblage
438     */
439    
440     //-----------------------------------------------------------
441 francois 737 /*! \page evalarbre evalarbre
442     var = evalarbre arbre nom avecstep avecstl eps eps2
443 francois 741 @brief Evaluation du modèle BREP à partir de la derniere primitive d'un arbre caractéristique
444 francois 737 @param arbre une variable représentant un arbre caractéristique
445     @param nom une string représentant un nom de fichier pour enregistrer le fichier opencascade sur le disque (L'extension s'ajoute automatiquement au nom du fichier)
446     @param avecstep un boolean qui permet une version du fichier BREP en STEP
447     @param avecstl un boolean qui permet la création d'une triangulation associée aux entitées BREP crées
448     @param eps OPTIONNEL un double pour la précison de opencascade dans la fermeture des entitées BREP - Defaut = 1e-6.
449     @param eps2 OPTIONNEL un double pour la distance entre la triangulation et la géométrie - Defaut = 1.
450     @return var une variable representant une geometrie
451     */
452    
453     //-----------------------------------------------------------
454 couturad 740 /*! \page evalassemblage evalassemblage
455 francois 747 var = evalassemblage arbre assemb nom avecfusion avecstep avecstl eps eps2
456 couturad 740 @brief Evaluation du modèle BREP à partir d'un assemblage
457     @param arbre une variable représentant un arbre caractéristique
458     @param assemb une variable représentant un assemblage
459     @param nom une string représentant un nom de fichier pour enregistrer le fichier opencascade sur le disque (L'extension s'ajoute automatiquement au nom du fichier)
460 francois 747 @param avecfusion un boolean qui permet de fusionner les entites communes a deux volumes avec l'apparaition des cofaces
461 couturad 740 @param avecstep un boolean qui permet une version du fichier BREP en STEP
462     @param avecstl un boolean qui permet la création d'une triangulation associée aux entitées BREP crées
463     @param eps OPTIONNEL un double pour la précison de opencascade dans la fermeture des entitées BREP - Defaut = 1e-6.
464     @param eps2 OPTIONNEL un double pour la distance entre la triangulation et la géométrie - Defaut = 1.
465     @return var une variable representant une geometrie
466     */
467    
468     //-----------------------------------------------------------
469 francois 737 /*! \page enregistrer enregistrer
470     var = enregistrer gest nom
471     @brief Sauvegarde d'un fichier MAGiC
472     @param gest une variable représentant un gestionnaire MAGiC
473     @param nom une string représentant un nom de fichier (L'extension s'ajoute automatiquement au nom du fichier).
474     @return var une variable inutilisable
475     */
476    
477     //-----------------------------------------------------------
478     /*! \page export_mg_gmsh export_mg_gmsh
479     var = export_mg_gmsh gest nom num
480     @brief Exportation d'un MG_MAILLAGE MAGiC en format GMSH
481     @param gest une variable représentant un gestionnaire MAGiC
482     @param nom une string représentant un nom de fichier gmsh (L'extension s'ajoute automatiquement au nom du fichier).
483     @param num un integer qui représente un numero sequantielle de maillage (entre 1 et n)
484     @return var une variable inutilisable
485     */
486    
487     //-----------------------------------------------------------
488     /*! \page export_fem_gmsh export_fem_gmsh
489     var = export_fem_gmsh gest nom num
490     @brief Exportation d'un FEM_MAILLAGE MAGiC en format GMSH
491     @param gest une variable représentant un gestionnaire MAGiC
492     @param nom une string représentant un nom de fichier gmsh (L'extension s'ajoute automatiquement au nom du fichier).
493     @param num un integer qui représente un numero sequantielle de maillage (entre 1 et n)
494     @return var une variable inutilisable
495     */
496     //-----------------------------------------------------------
497     /*! \page importstepocc importstepocc
498     var = importstepocc gest nom eps
499     @brief importation d'un fichier STEP en MAGiC via opencascade
500     @param gest une variable représentant un gestionnaire MAGiC
501     @param nom une string représentant le nom de fichier STEP.
502     @param eps OPTIONNEL un double pour la précison de opencascade dans la fermeture des entitées BREP - Defaut = 1e-6.
503     @return var une variable de type geometrie
504     */