ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/mailleur/src/main4.cpp
Revision: 1053
Committed: Fri Oct 16 16:17:23 2020 UTC (4 years, 10 months ago) by francois
File size: 6049 byte(s)
Log Message:
mailleur2d_structure de quadrangle

File Contents

# Content
1 //------------------------------------------------------------
2 //------------------------------------------------------------
3 // MAGiC
4 // Jean Christophe Cuilli�e et Vincent FRANCOIS
5 // D�artement de G�ie M�anique - UQTR
6 //------------------------------------------------------------
7 // Le projet MAGIC est un projet de recherche du d�artement
8 // de g�ie m�anique de l'Universit�du Qu�ec �
9 // Trois Rivi�es
10 // Les librairies ne peuvent �re utilis�s sans l'accord
11 // des auteurs (contact : francois@uqtr.ca)
12 //------------------------------------------------------------
13 //------------------------------------------------------------
14 //
15 // main.cpp
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 �11H25
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #include "gestionversion.h"
24 #include "magic_application.h"
25 #include <string.h>
26 #include "mg_file.h"
27 #include "mg_maillage.h"
28 #include "fem_maillage.h"
29 #include "mg_gestionnaire.h"
30 #include "mailleur3d_structure.h"
31 #include "mailleur2d_structure.h"
32
33
34 double fx(double x)
35 {
36 double eq=(1.5*x)+0.3;
37 return eq;
38 }
39
40 double fy(double y)
41 {
42 double eq1=(0.7*y)+0.1;
43 return eq1;
44 }
45
46 double fz(double z)
47 {
48 double eq2=(0.1*z)+0.1;
49 return eq2;
50 }
51
52
53
54 int main(int argc,char **argv)
55 {
56 std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
57 MAGIC_PARAMETRE_APPLICATION p1(2,(char*)"-xmin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"x du premier point de l'enveloppe");lst.push_back(p1);
58 MAGIC_PARAMETRE_APPLICATION p2(3,(char*)"-xmax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"x du deusieme point de l'enveloppe");lst.push_back(p2);
59 MAGIC_PARAMETRE_APPLICATION p3(4,(char*)"-ymin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"y du premier point de l'enveloppe");lst.push_back(p3);
60 MAGIC_PARAMETRE_APPLICATION p4(5,(char*)"-ymax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"y du deusieme point de l'enveloppe");lst.push_back(p4);
61 MAGIC_PARAMETRE_APPLICATION p5(6,(char*)"-zmin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"z du premier point de l'enveloppe");lst.push_back(p5);
62 MAGIC_PARAMETRE_APPLICATION p6(7,(char*)"-zmax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"z du deusieme point de l'enveloppe");lst.push_back(p6);
63 MAGIC_PARAMETRE_APPLICATION p7(8,(char*)"-n",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur x");lst.push_back(p7);
64 MAGIC_PARAMETRE_APPLICATION p8(9,(char*)"-m",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur y");lst.push_back(p8);
65 MAGIC_PARAMETRE_APPLICATION p9(10,(char*)"-k",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur z");lst.push_back(p9);
66 MAGIC_PARAMETRE_APPLICATION p10(11,(char*)"-geo",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"ajouter une géomtrie virtuelle");lst.push_back(p10);
67 MAGIC_PARAMETRE_APPLICATION p11(12,(char*)"-unite",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"Facteur multiplication pour exprimer les unités en m");lst.push_back(p11);
68 MAGIC_PARAMETRE_APPLICATION p12(13,(char*)"-densitevariable",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"choix de la densité du maillage structuré");lst.push_back(p12);
69 MAGIC_PARAMETRE_APPLICATION p13(14,(char*)"-fonction",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Nombre de fonction geometrique a creer");lst.push_back(p13);
70 MAGIC_PARAMETRE_APPLICATION p14(15,(char*)"-plan",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Mailleur plan dans le plan x,y");lst.push_back(p14);
71 MAGIC_APPLICATION app((char*)"Mailleur structure",argc,argv,lst,false,true);
72 if (app.get_erreur()==true) return 0;
73 char fichiersortie[500];
74 double xmin;
75 double xmax;
76 double ymin;
77 double ymax;
78 double zmin;
79 double zmax;
80 int n;
81 int m;
82 int k;
83 int fonction;
84 bool geo,densitevariable;
85 double unite;
86 bool plan;
87 app.recupere_parametre_bool_avec_defaut(15,plan,false);
88 app.recupere_parametre_string(1,fichiersortie,(char*)"Fichier de sortie manquant");
89 app.recupere_parametre_double(2,xmin,(char*)"Valeur de xmin manquante");
90 app.recupere_parametre_double(3,xmax,(char*)"Valeur de xmax manquante");
91 app.recupere_parametre_double(4,ymin,(char*)"Valeur de ymin manquante");
92 app.recupere_parametre_double(5,ymax,(char*)"Valeur de ymax manquante");
93 if (!plan) app.recupere_parametre_double(6,zmin,(char*)"Valeur de zmin manquante");
94 if (!plan) app.recupere_parametre_double(7,zmax,(char*)"Valeur de zmax manquante");
95 app.recupere_parametre_int(8,n,(char*)"Nombre d'intervalles sur x manquant");
96 app.recupere_parametre_int(9,m,(char*)"Nombre d'intervalles sur y manquant");
97 if (!plan) app.recupere_parametre_int(10,k,(char*)"Nombre d'intervalles sur z manquant");
98 app.recupere_parametre_bool_avec_defaut(11,geo,false);
99 app.recupere_parametre_double_avec_defaut(12,unite,1.);
100 app.recupere_parametre_bool_avec_defaut(13,densitevariable,false);
101 app.recupere_parametre_int_avec_defaut(14,fonction,0);
102 if (app.get_erreur()==true) return 0;
103 MG_GESTIONNAIRE gest;
104 if (densitevariable==false)
105 {
106 if (!plan)
107 {
108 MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,n,m,k,&gest,geo,unite);
109 mgstruct.active_affichage(app.affiche);
110 mgstruct.ajouter_fonction_geometrie(fonction);
111 mgstruct.maille();
112 }
113 else
114 {
115 MAILLEUR2D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,n,m,&gest,geo,unite);
116 mgstruct.active_affichage(app.affiche);
117 mgstruct.ajouter_fonction_geometrie(fonction);
118 mgstruct.maille();
119 }
120 }
121 else
122 {
123 if (!plan)
124 {
125 MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,fx,fy,fz,&gest,geo,unite);
126 mgstruct.active_affichage(app.affiche);
127 mgstruct.ajouter_fonction_geometrie(fonction);
128 mgstruct.maille();
129 }
130 else
131 {
132 MAILLEUR2D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,fx,fy,&gest,geo,unite);
133 mgstruct.active_affichage(app.affiche);
134 mgstruct.ajouter_fonction_geometrie(fonction);
135 mgstruct.maille();
136 }
137 }
138
139 gest.enregistrer(fichiersortie);
140 app.affiche((char*)"Fin");
141 return 0;
142 }
143
144
145
146