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 |
|
{ |
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] ; |
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 ; |
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 |
|
{ |
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]; |
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 |
|
//---------------------------------------------------------------------------- |
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 |
|
|