ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/magic_application/src/aide.h
Revision: 963
Committed: Mon Aug 20 13:41:47 2018 UTC (6 years, 8 months ago) by francois
Content type: text/plain
Original Path: magic/app/magic_application/src/aide.h
File size: 30018 byte(s)
Log Message:
integration de code aster version 13.6

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