MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mstruct_generateur_polycristaux.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// mstruct_generateur_polycristaux.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2025
19 //####// Derniere modification par francois
20 //####// mer 14 mai 2025 17:54:57 EDT
21 //####//------------------------------------------------------------
22 //####//------------------------------------------------------------
23 #ifndef _MSTRUCT_GENERATEUR_POLYCRISTAUX
24 #define _MSTRUCT_GENERATEUR_POLYCRISTAUX
25 
26 
27 #include "ot_parametres.h"
28 
29 
30 
32 {
33 public:
38 int degre;
39 double dg;
40 double KDH,GDH,EDH;
41 double KCH,GCH,ECH;
42 double tens1[9],tens2[9],tens3[9];
43 int nbphase;
44 std::vector<int> nbcristauxphase;
45 std::vector<double> masse;
46 std::vector<double> volume;
47 std::vector<OT_VECTEUR_3D> cdm;
48 };
49 
50 
51 
52 
53 
54 
55 
57 {
58 public:
63 };
64 
65 
66 
67 
69 {
70 public:
72 MSTRUCT_GENERATEUR_POLYCRISTAUX(char * nomparam);
73 MSTRUCT_GENERATEUR_POLYCRISTAUX(char * fichierin,char *fichierout);
76 
77 virtual void genere(char *nommagic);
78 virtual void cree_param(char *nom,char *nomexe);
79 typedef void fonction_affiche(char *);
80 virtual void active_affichage(fonction_affiche *fonc);
81 virtual void affiche(char *mess);
82 
83 protected:
84  int calcule_cacteristique_mecanique(MG_GESTIONNAIRE *gest,FEM_MAILLAGE* fem,double &epsx,double &epsy,double &epsz,double &epsxy,double &epsxz,double &epsyz,double &sigx,double &sigy,double &sigz,double &sigxy,double &sigxz,double &sigyz);
85  void optimise_maillage(MG_MAILLAGE* mai);
88  virtual void ini_param(char *nom);
91 };
92 
93 
94 namespace POLYCRISTAUX
95 {
97  {
98  public:
99  POINT_TIRE(unsigned long num,double xx,double yy,double zz):x(xx),y(yy),z(zz),id(num) {};
100  double x;
101  double y;
102  double z;
103  unsigned long id;
104  unsigned long get_id(void) {return id;}
105  BOITE_3D get_boite_3D(void) {BOITE_3D boite(x,y,z,x,y,z);return boite;}
106  };
107 
108 }
109 
110 #endif
virtual void calcule_borne(MSTRUCT_GENERATEUR_POLYCRISTAUX_BORNE &statborne, MSTRUCT_GENERATEUR_POLYCRISTAUX_RESULTAT &echantillon)
int calcule_cacteristique_mecanique(MG_GESTIONNAIRE *gest, FEM_MAILLAGE *fem, double &epsx, double &epsy, double &epsz, double &epsxy, double &epsxz, double &epsyz, double &sigx, double &sigy, double &sigz, double &sigxy, double &sigxz, double &sigyz)
virtual void cree_param(char *nom, char *nomexe)
virtual void active_affichage(fonction_affiche *fonc)
POINT_TIRE(unsigned long num, double xx, double yy, double zz)