 |
MAGiC
V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
|
Aller à la documentation de ce fichier.
42 std::string identifiant,
43 long int id_fem_solution,
45 double largeur_colonne,
46 std::string nom_groupe_forme,
195 ecart->
m_min[i]=nan(
"");
196 ecart->
m_max[i]=nan(
"");
197 std::map<long,double>::iterator it_his;
215 ecart->
m_min[i]=nan(
"");
216 ecart->
m_max[i]=nan(
"");
217 std::map<long,double>::iterator it_his;
234 ecart->
m_min[i]=nan(
"");
235 ecart->
m_max[i]=nan(
"");
236 std::map<long,double>::iterator it_his;
253 ecart->
m_min[i]=nan(
"");
254 ecart->
m_max[i]=nan(
"");
255 std::map<long,double>::iterator it_his;
283 ecart->
m_min[0]=std::numeric_limits<double>::max();
284 ecart->
m_max[0]=std::numeric_limits<double>::min();
307 for(
int i=0;i<6;i++) err[i]=std::fabs(err[i]);
311 for(
int i=0;i<6;i++) err[i]*=err[i];
316 if(err[i]<ecart->
m_min[0]) ecart->
m_min[0]=err[i];
317 if(err[i]>ecart->
m_max[0]) ecart->
m_max[0]=err[i];
350 std::map<long,double>::iterator it_his;
373 if(avec_entete) ofstrm <<
"#(1) [CHAMP](2-nb_champ) [±] [min] [max]" << std::endl;
385 ofstrm <<
m_min[j] <<
" ";
389 ofstrm <<
m_max[j] <<
" ";
397 char nom_fichier[500];
398 sprintf(nom_fichier,
"%s/histo_%s_%i.txt",prefix_graph,
m_identifiant.c_str(),j);
399 std::ofstream of_histo(nom_fichier,std::ios::out|std::ios::trunc);
400 of_histo.precision(16);
401 of_histo.setf(std::ios::showpoint);
406 sprintf(nom_plot,
"%s/histo_%s_%i.plt",prefix_graph,
m_identifiant.c_str(),j);
412 sprintf(nom_fichier,
"histo_%s_%i.txt",
m_identifiant.c_str(),j);
438 sprintf(nom_plot,
"%s/tenseur_%s.plt",prefix_graph,
m_identifiant.c_str());
451 ofstrm.write((
char*)&type_analyse,
sizeof(
long));
457 ofstrm.write((
char*)&
m_moyenne[i],
sizeof(
double));
459 ofstrm.write((
char*)&
m_min[i],
sizeof(
double));
460 ofstrm.write((
char*)&
m_max[i],
sizeof(
double));
477 ifstrm.read((
char*)&
m_moyenne[i],
sizeof(
double));
479 ifstrm.read((
char*)&
m_min[i],
sizeof(
double));
480 ifstrm.read((
char*)&
m_max[i],
sizeof(
double));
490 sprintf(ligne,
"MSTRUCT_ANALYSE_CHAMP");
494 sprintf(ligne,
"-> NB champ : %i",
m_nb_champ);
497 sprintf(ligne,
"-> Moyenne : [");
501 strcat(ligne,valeur);
504 strcat(ligne,valeur);
506 sprintf(ligne,
"-> Ecart-type : [");
510 strcat(ligne,valeur);
513 strcat(ligne,valeur);
515 sprintf(ligne,
"-> Min : [");
518 sprintf(valeur,
"%lf,",
m_min[i]);
519 strcat(ligne,valeur);
522 strcat(ligne,valeur);
524 sprintf(ligne,
"-> Max : [");
527 sprintf(valeur,
"%lf,",
m_max[i]);
528 strcat(ligne,valeur);
531 strcat(ligne,valeur);
535 sprintf(ligne,
"-> OT_HISTOGRAMME[%i] : nb_colonne(%li), largeur_colonne(%lf), xmin(%lf), xmax(%lf)",i,
void ajouter_valeur(double x, double val)
virtual void enregistrer(std::ofstream &ofstrm)
BOITE_3D * m_boite_analyse
static int statistiques_champ_volumique(FEM_SOLUTION *fem_sol, MG_CG_GROUPE_FORME *groupe_forme, BOITE_3D *boite_analyse, double *moyenne, double *ecart_type, double *min, double *max, OT_HISTOGRAMME **tab_histogramme)
MG_CG_GROUPE_FORME * get_mgcg_groupe_forme(std::string nom)
virtual long get_id_fem_solution(void)
std::string histogramme_titre
MSTRUCT_ANALYSE_CHAMP(void)
virtual double * get_ecart_type(void)
virtual double * get_moyenne(void)
int get_valeur(double x, double &val)
virtual long get_type(void)
std::string m_nom_groupe_forme
virtual MG_CG_MODELE * get_mgcg_modele(void)
std::string tenseur_titrebarcouleur
virtual MSTRUCT_ANALYSE_CHAMP * normaliser(std::string identifiant, double valeur_ref, double largeur_colonne)
FEM_SOLUTION * get_fem_solutionid(unsigned long num)
void enregistrer_bin(std::ofstream &ofstr)
virtual void enregistrer(std::ofstream &ofstrm)
virtual MG_GESTIONNAIRE * get_mg_gestionnaire(void)
OT_HISTOGRAMME ** m_tab_histogramme
virtual OT_HISTOGRAMME * get_distribution(int num_champ)
std::string tenseur_titre
void change_identifiant(std::string identifiant)
virtual MSTRUCT_ANALYSE_CHAMP * calculer_ecart(std::string identifiant, double largeur_colonne, MSTRUCT_ANALYSE_CHAMP *champ_compare, int type_ecart)
void exporter(std::ofstream &ofstrm)
~MSTRUCT_ANALYSE_CHAMP(void)
virtual MSTRUCT_ANALYSE_CHAMP * calculer_ecart_chargement(std::string identifiant, double largeur_colonne, int type_chargement, int type_ecart)
virtual void affiche_contenu(fonction_affiche *fonc)
void plot_script_tenseur(int num, OT_TENSEUR tens1, OT_TENSEUR tens2, std::string output, bool aveccouleur=false)
virtual void exporter(std::ofstream &ofstrm, long i, bool avec_entete=false, bool avec_graph=false, char *prefix_graph=(char *)"")
virtual double * get_max(void)
int get_premiere_valeur(std::map< long, double >::iterator &it, double &valeur)
double2 sqrt(double2 &val)
void ouvrir_bin(std::ifstream &ifstr)
virtual void affiche_contenu(fonction_affiche *fonc)
std::string m_identifiant
void fonction_affiche(char *)
virtual void ouvrir(std::ifstream &ifstrm)
std::string histogramme_nom_fichier_eps
virtual double * get_min(void)
std::string histogramme_axeX_nom
virtual int get_nb_champ(void)
void plot_script_histogramme(std::string data_histogramme, std::string output, bool aveccouleur=false)
double get_largeur_colonne(void)
virtual void executer(void)
int get_suivante_valeur(std::map< long, double >::iterator &it, double &valeur)
std::string histogramme_axeY_nom
virtual void ouvrir(std::ifstream &ifstrm)