63 if(avec_entete) ofstrm <<
"#(1) Energie(2)" << std::endl;
76 double volume_total=0.0;
81 LISTE_FEM_ELEMENT3::iterator it;
87 BOITE_3D boite_ele=ele->get_boite_3D();
97 for(
int i=0;i<nb_champ;i++)
104 for (
int r=0;r<nbgauss;r++)
106 int degre=ele->get_degre_gauss(nbgauss);
109 ele->get_pt_gauss(degre,r,w,uvw);
111 double det=ele->get_jacobien(jac,uvw,unite);
112 double valeur_eps=fem_sol_epsilon->
lire(k,i,0,r)*fabs(det);
113 double valeur_sigma=fem_sol_sigma->
lire(k,i,0,r)*fabs(det);
114 val_eps=val_eps+w*valeur_eps;
115 val_sigma=val_sigma+w*valeur_sigma;
116 volume=volume+w*fabs(det);
128 energie+=2*
epsilon[3]*sigma[3];
129 energie+=2*
epsilon[4]*sigma[4];
130 energie+=2*
epsilon[5]*sigma[5];
134 volume_total+=volume;
142 ofstrm.write((
char*)&type_analyse,
sizeof(
long));
144 ofstrm.write((
char*)&
m_energie,
sizeof(
double));
150 ifstrm.read((
char*)&
m_energie,
sizeof(
double));
int contient(double x, double y, double z)
MG_GEOMETRIE * get_mg_geometrie(void)
FEM_ELEMENT3 * get_suivant_element3(LISTE_FEM_ELEMENT3::iterator &it)
FEM_ELEMENT3 * get_premier_element3(LISTE_FEM_ELEMENT3::iterator &it)
double lire(int i, int j, int coord=0, int num_no=0)
FEM_MAILLAGE * get_maillage(void)
double get_valeur_unite(void)
FEM_SOLUTION * get_fem_solutionid(unsigned long num)
virtual void executer(void)
~MSTRUCT_ANALYSE_ENERGIE_HILL(void)
void exporter(std::ofstream &ofstrm, long i, bool avec_entete=false, bool avec_graph=false, char *prefix_graph=(char *)"")
MSTRUCT_ANALYSE_ENERGIE_HILL(void)
virtual long get_type(void)
virtual void enregistrer(std::ofstream &ofstrm)
virtual void ouvrir(std::ifstream &ifstrm)
virtual void enregistrer(std::ofstream &ofstrm)
BOITE_3D * m_boite_analyse
virtual void change_boite_analyse(BOITE_3D boite_3d)
virtual void ouvrir(std::ifstream &ifstrm)
virtual MG_GESTIONNAIRE * get_mg_gestionnaire(void)
virtual BOITE_3D get_boite3d_ves(void)