1 |
cuillier |
415 |
#include "gestionversion.h"
|
2 |
|
|
#include <stdio.h>
|
3 |
|
|
#include "mg_file.h"
|
4 |
|
|
#include "ot_mathematique.h"
|
5 |
|
|
#include <math.h>
|
6 |
|
|
|
7 |
|
|
int main(void)
|
8 |
|
|
{
|
9 |
|
|
printf("Projet6\n");
|
10 |
|
|
MG_FILE gest("ejectorBGMF.magic");
|
11 |
|
|
FEM_MAILLAGE* fem=gest.get_fem_maillage(0);
|
12 |
|
|
int nbtetra2=fem->get_nb_fem_element3();
|
13 |
|
|
|
14 |
|
|
double vol=0.;
|
15 |
|
|
int i=0;
|
16 |
|
|
|
17 |
|
|
LISTE_FEM_ELEMENT3::iterator it;
|
18 |
|
|
for (FEM_ELEMENT3* ele3=fem->get_premier_element3(it);ele3!=NULL;ele3=fem->get_suivant_element3(it))
|
19 |
|
|
{
|
20 |
|
|
int nbnode=ele3->get_nb_fem_noeud();
|
21 |
|
|
if (nbnode==4)
|
22 |
|
|
{
|
23 |
|
|
FEM_NOEUD* node1=ele3->get_fem_noeud(0);
|
24 |
|
|
FEM_NOEUD* node2=ele3->get_fem_noeud(1);
|
25 |
|
|
FEM_NOEUD* node3=ele3->get_fem_noeud(2);
|
26 |
|
|
FEM_NOEUD* node4=ele3->get_fem_noeud(3);
|
27 |
|
|
OT_VECTEUR_3D vec1(node1->get_coord(),node2->get_coord());
|
28 |
|
|
OT_VECTEUR_3D vec2(node1->get_coord(),node3->get_coord());
|
29 |
|
|
OT_VECTEUR_3D vec3(node1->get_coord(),node4->get_coord());
|
30 |
|
|
OT_VECTEUR_3D vec=vec1&vec2;
|
31 |
|
|
double voltet=fabs(vec*vec3)/6.;
|
32 |
|
|
vol=vol+voltet;
|
33 |
|
|
i++;
|
34 |
|
|
}
|
35 |
|
|
}
|
36 |
|
|
printf("Volume is %lf\n",vol);
|
37 |
|
|
}
|