ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/mailleur/src/main4.cpp
Revision: 750
Committed: Thu Oct 15 00:44:49 2015 UTC (9 years, 8 months ago) by mejri
File size: 4980 byte(s)
Log Message:
Calcul de prise de masse en humidité à chaque pas de temps (analogie avec le thermique).
Ajout de vasy pour le maillage tétraedrique, hexaedrique et hexaedrique variable.
Modification dans export.cpp pour réduire les solutions imprimés dans .magic.
Ajout de trois fonction de discrétisation pour un maillage variable.
Ajout d'un fichier .txt dans cas-test pour le maillage hexaedrique
Modicication du casy du cas-test/calculs

File Contents

# User Rev Content
1 chebbi 463 //------------------------------------------------------------
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 mejri 750 #include <fct_generateur_calibrage.h>
32 chebbi 463
33 mejri 750 double fx(double x)
34     {
35     double eq=(4*x)+0.5;
36     return eq;
37     }
38 chebbi 463
39 mejri 750 double fy(double y)
40     {
41     double eq1=(0.8*y)+0.1;
42     return eq1;
43     }
44    
45     double fz(double z)
46     {
47     double eq2=(0.2*z)+0.1;
48     return eq2;
49     }
50    
51    
52    
53 chebbi 463 int main(int argc,char **argv)
54     {
55     std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
56     MAGIC_PARAMETRE_APPLICATION p1(2,(char*)"-xmin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"x du premier point de l'enveloppe");lst.push_back(p1);
57     MAGIC_PARAMETRE_APPLICATION p2(3,(char*)"-xmax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"x du deusieme point de l'enveloppe");lst.push_back(p2);
58     MAGIC_PARAMETRE_APPLICATION p3(4,(char*)"-ymin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"y du premier point de l'enveloppe");lst.push_back(p3);
59     MAGIC_PARAMETRE_APPLICATION p4(5,(char*)"-ymax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"y du deusieme point de l'enveloppe");lst.push_back(p4);
60     MAGIC_PARAMETRE_APPLICATION p5(6,(char*)"-zmin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"z du premier point de l'enveloppe");lst.push_back(p5);
61     MAGIC_PARAMETRE_APPLICATION p6(7,(char*)"-zmax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"z du deusieme point de l'enveloppe");lst.push_back(p6);
62     MAGIC_PARAMETRE_APPLICATION p7(8,(char*)"-n",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur x");lst.push_back(p7);
63     MAGIC_PARAMETRE_APPLICATION p8(9,(char*)"-m",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur y");lst.push_back(p8);
64     MAGIC_PARAMETRE_APPLICATION p9(10,(char*)"-k",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur z");lst.push_back(p9);
65 francois 576 MAGIC_PARAMETRE_APPLICATION p10(11,(char*)"-geo",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"ajouter une géomtrie virtuelle");lst.push_back(p10);
66 francois 591 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);
67 mejri 750 MAGIC_PARAMETRE_APPLICATION p12(13,(char*)"-densitevariable",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"choix de la densité du maillage structuré");lst.push_back(p12);
68 francois 558 MAGIC_APPLICATION app((char*)"Mailleur structure",argc,argv,lst,false,true);
69 chebbi 463 if (app.get_erreur()==true) return 0;
70     char fichiersortie[500];
71     double xmin;
72     double xmax;
73     double ymin;
74     double ymax;
75     double zmin;
76     double zmax;
77     int n;
78     int m;
79     int k;
80 mejri 750 bool geo,densitevariable;
81 francois 591 double unite;
82 chebbi 463 app.recupere_parametre_string(1,fichiersortie,(char*)"Fichier de sortie manquant");
83     app.recupere_parametre_double(2,xmin,(char*)"Valeur de xmin manquante");
84     app.recupere_parametre_double(3,xmax,(char*)"Valeur de xmax manquante");
85     app.recupere_parametre_double(4,ymin,(char*)"Valeur de ymin manquante");
86     app.recupere_parametre_double(5,ymax,(char*)"Valeur de ymax manquante");
87     app.recupere_parametre_double(6,zmin,(char*)"Valeur de zmin manquante");
88     app.recupere_parametre_double(7,zmax,(char*)"Valeur de zmax manquante");
89     app.recupere_parametre_int(8,n,(char*)"Nombre d'intervalles sur x manquant");
90     app.recupere_parametre_int(9,m,(char*)"Nombre d'intervalles sur y manquant");
91     app.recupere_parametre_int(10,k,(char*)"Nombre d'intervalles sur z manquant");
92 francois 576 app.recupere_parametre_bool_avec_defaut(11,geo,false);
93 francois 591 app.recupere_parametre_double_avec_defaut(12,unite,1.);
94 mejri 750 app.recupere_parametre_bool_avec_defaut(13,densitevariable,false);
95     if (app.get_erreur()==true) return 0;
96 chebbi 463 MG_GESTIONNAIRE gest;
97 mejri 750 if (densitevariable==false)
98     {
99 francois 591 MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,n,m,k,&gest,geo,unite);
100 chebbi 463 mgstruct.active_affichage(app.affiche);
101     mgstruct.maille();
102 mejri 750 }
103     else
104     {
105     MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,fx,fy,fz,&gest,geo,unite);
106     mgstruct.active_affichage(app.affiche);
107     mgstruct.maille();
108     }
109    
110 chebbi 463 gest.enregistrer(fichiersortie);
111     app.affiche((char*)"Fin");
112     return 0;
113     }
114    
115    
116    
117