ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/optimisation/src/optimisation_topo.cpp
(Generate patch)

Comparing optimisation/src/optimisation_topo.cpp (file contents):
Revision 199 by picher, Tue Jul 21 15:00:12 2009 UTC vs.
Revision 218 by picher, Tue Nov 10 19:01:30 2009 UTC

# Line 23 | Line 23
23   #include "write_num.h"
24   #include "ecriture_materiau.h"
25   #include "affecter_materiau.h"
26 #include "structure.h"
26  
27   int main(int argc, char **argv )
28   {
# Line 40 | Line 39 | int main(int argc, char **argv )
39  
40    char              m_nom_fic_parametre[co_lcc_max_nom_fic] ;
41    char              m_nom_fic_etude[co_lcc_max_nom_fic]     ;
42 +  char              m_nom_fic_densite[co_lcc_max_nom_fic]   ;
43    char              m_nom_gm[co_lcc_max_nom_gm]             ;
44    char              m_nom_champ[co_lcc_max_nom_champ_resu]  ;
45    char              m_nom_fic_export[co_lcc_max_nom_fic]    ;
# Line 89 | Line 89 | int main(int argc, char **argv )
89    vifl k = 3.0               ;          //Coefficient k pour le calcul des poids Hv
90    vifl niveau = 150.         ;          //Nombre de niveaux de densit�s (par défaut 150)
91    vifl change = 1.           ;
92 +  vifl seuil = 0.8           ;          //Seuil pour la visualisation des éléments conservés (0.8 par défaut)
93    vifl densite_min = 1e-3    ;          //Densit� minimale de 0.001
94    vifl densite_max = 1.0     ;
95    vifl m_item                ;
# Line 106 | Line 107 | int main(int argc, char **argv )
107  
108    ty_RSLT m_design           ;
109  
110 +
111 +
112    //Acquisition des param�tres de l'�tude
113    for (int i=0;i<argc;i++)
114            {
# Line 114 | Line 117 | int main(int argc, char **argv )
117            if (strcmp(argv[i],"-penal")==0) penal=atof(argv[i+1]);
118            if (strcmp(argv[i],"-niveau")==0) niveau=atof(argv[i+1]);
119            if (strcmp(argv[i],"-nbiter")==0) iter_max=atoi(argv[i+1]);
120 +          if (strcmp(argv[i],"-seuil")==0) seuil=atoi(argv[i+1]);
121            }
122    FILE* parametres=fopen(m_nom_fic_parametre,"rt");
123    char message[100];
# Line 151 | Line 155 | int main(int argc, char **argv )
155  
156    printf( "\nfait.\n" );
157  
158 <  //Possibilité d'utiliser une seule chaîne Str (à modifier ultérieurement)
155 <  char str1[80];
156 <  char str2[80];
157 <  char str3[80];
158 <  char str4[80];
159 <  char str5[80];
160 <  char str6[80];
161 <
162 <  strcpy(str1,"./");
163 <  strcat(str1,m_nom_fic_etude);
164 <  strcat(str1,".export");
165 <  strcpy( &m_nom_fic_export[0], str1);
166 <  strcpy(str2,"./");
167 <  strcat(str2,m_nom_fic_etude);
168 <  strcat(str2,".mail");
169 <  strcpy( &m_nom_fic_mail_init[0], str2);
170 <  strcpy(str3,"./");
171 <  strcat(str3,m_nom_fic_etude);
172 <  strcat(str3,".mail");
173 <  strcpy( &m_nom_fic_mail[0], str3);
174 <  strcpy(str4,"./");
175 <  strcat(str4,m_nom_fic_etude);
176 <  strcat(str4,"1.mail");
177 <  strcpy( &m_nom_fic_mail_iter[0], str4);
178 <  strcpy(str5,"./");
179 <  strcat(str5,m_nom_fic_etude);
180 <  strcat(str5,".comm");
181 <  strcpy( &m_nom_fic_comm[0], str5);
182 <  strcpy(str6,"./");
183 <  strcat(str6,m_nom_fic_etude);
184 <  strcat(str6,".resu");
185 <  strcpy( &m_nom_fic_resu[0], str6);
186 <  strcpy( &m_nom_fic_groupm[0]     , "./groupes.mail"      );
187 <  strcpy( &m_nom_fic_compliance[0] , "./compliance.txt "   );
158 >  char str[80];
159  
160 +  strcpy(str,"./");
161 +  strcat(str,m_nom_fic_etude);
162 +  strcat(str,".export");
163 +  strcpy( &m_nom_fic_export[0], str);
164 +  strcpy(str,"./");
165 +  strcat(str,m_nom_fic_etude);
166 +  strcat(str,".mail");
167 +  strcpy( &m_nom_fic_mail_init[0], str);
168 +  strcpy(str,"./");
169 +  strcat(str,m_nom_fic_etude);
170 +  strcat(str,".mail");
171 +  strcpy( &m_nom_fic_mail[0], str);
172 +  strcpy(str,"./");
173 +  strcat(str,m_nom_fic_etude);
174 +  strcat(str,"1.mail");
175 +  strcpy( &m_nom_fic_mail_iter[0], str);
176 +  strcpy(str,"./");
177 +  strcat(str,m_nom_fic_etude);
178 +  strcat(str,".comm");
179 +  strcpy( &m_nom_fic_comm[0], str);
180 +  strcpy(str,"./");
181 +  strcat(str,m_nom_fic_etude);
182 +  strcat(str,".resu");
183 +  strcpy( &m_nom_fic_resu[0], str);
184 +  strcpy(str,"./");
185 +  strcat(str,m_nom_fic_etude);
186 +  strcat(str,"_evol.txt");
187 +  strcpy( &m_nom_fic_compliance[0], str);
188 +  strcpy(str,"./");
189 +  strcat(str,m_nom_fic_etude);
190 +  strcat(str,"_densite.txt");
191 +  strcpy( &m_nom_fic_densite[0], str);
192 +  strcpy( &m_nom_fic_groupm[0]     , "./groupes.mail"      );
193  
194    //----------------------------------------------------------------------------
195    //----------------------------------------------------------------------------
# Line 746 | Line 750 | int main(int argc, char **argv )
750    }
751    fclose(compliance_iter);
752  
753 +  //On imprime aussi le vecteur densite final dans un fichier texte pour usage ultérieur
754 +  FILE *densite_final = fopen (m_nom_fic_densite, "wt" );
755 +  fprintf(densite_final,"Vecteur Densite\n");
756 +  for (i=_premier_element;i<=_dernier_element;i++)
757 +  {
758 +      fprintf(densite_final,"%lu %.12lf\n",i,densite[i]);
759 +  }
760 +  fclose(densite_final);
761 +
762    //Impression des temps de calcul
763    printf("Temps de calcul pour le voisinage : %lu secondes\n",temps_calcul_voisins);
764    affiche_chrono();
765 +  printf("\n");
766  
767    printf( "\n\n-------------------------------------------------------\n" );
768    printf(     "-- finitialisation des modules ------------------------\n" );
769  
770 <  //Libération de la mémoire utilisée
771 < //   free( compteur        );
772 < //   free( densite         );
773 < //   free( densite_active  );
774 < //   free( densite_new     );
775 < //   free( volume          );
776 < //   free( Denergie        );
777 < //   free( distance_ref    );
778 < //   free( Ctot            );
779 < //   free( nmailleniv      );
780 < //   free( maille_niveau   );
781 < //   free( m_V_distance    );
782 < //   free( m_nbr_voisins   );
783 < //   free( m_V_nos_voisins );
770 >  //Libération de la mémoire utilisée dans les tableaux
771 >   free( compteur        );
772 >   free( densite         );
773 >   free( densite_active  );
774 >   free( densite_new     );
775 >   free( volume          );
776 >   free( Denergie        );
777 >   free( distance_ref    );
778 >   free( Ctot            );
779 >   free( nmailleniv      );
780 >   free( maille_niveau   );
781 >   free( m_V_distance    );
782 >   free( m_nbr_voisins   );
783 >   free( m_V_nos_voisins );
784  
785    finit_etude_com( ) ;
786  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines