|
Mka3D
1.0
Discrete Element method for solid mechanics
|
Définition de la classe Particule. More...
#include <solide.hpp>
Public Member Functions | |
| Particule () | |
| Constructeur par défaut. More... | |
| Particule (const double &x_min, const double &y_min, const double &z_min, const double &x_max, const double &y_max, const double &z_max) | |
| Particule (const Point_3 &c, const double &x_min, const double &y_min, const double &z_min, const double &x_max, const double &y_max, const double &z_max, const std::vector< Face > &F) | |
| ~Particule () | |
| Destructeur. More... | |
| Particule & | operator= (const Particule &P) |
| opérateur = More... | |
| void | Affiche () |
| Fonction auxiliaire utile pour les tests. More... | |
| double | volume () |
| Fonction auxilaire utile pour les tests. Calcul du volume de la particule. More... | |
| void | CompVolumeIntegrals (double &T1, double &Tx, double &Ty, double &Tz, double &Txx, double &Tyy, double &Tzz, double &Txy, double &Tyz, double &Tzx) |
| Calcul des intégrales de volume. More... | |
| void | Inertie (const double &rho) |
| Calcul d'inertie de la particule. More... | |
| void | Volume_libre () |
| Calcul du volume libre. More... | |
| void | solve_position (const double &dt, const bool &flag_2d) |
| Calcul de la position de la particule. More... | |
| void | solve_vitesse (const double &dt, const bool &flag_2d) |
| Calcul de la vitesse de la particule. More... | |
| Vector_3 | vitesse_parois (const Point_3 &X_f) |
Vitesse au centre de la parois au temps t. -vitesse de la particule(Particule.u_half), -centre de la particule(Particule.x0 + Particule.Dx), -rotation de la particule(Particule.omega_half). More... | |
| Vector_3 | vitesse_parois_prev (const Point_3 &X_f) |
Vitesse au centre de la parois au temps t-dt. -vitesse de la particule(Particule.u_half), -centre de la particule(Particule.x0 + Particule.Dxprev), -rotation de la particule(Particule.omega_half). More... | |
Data Fields | |
| bool | cube |
| = true si la particule est un cube, false sinon More... | |
| Bbox | bbox |
| std::vector< Face > | faces |
| liste de faces de la particule More... | |
| std::vector< Point_3 > | vertices |
| liste des sommets de la particule More... | |
| Triangles | triangles |
| Triangulation des faces de la particule au temps t. More... | |
| Triangles | triangles_prev |
| Triangulation des faces de la particule au temps t-dt. More... | |
| std::vector< Vector_3 > | normales |
| normales extérieures aux Particule.triangles More... | |
| std::vector< Vector_3 > | normales_prev |
| normales extérieures aux Particule.triangles_prev More... | |
| std::vector< bool > | vide |
| =true si Particule.triangles en contact avec le fluide More... | |
| std::vector< bool > | fluide |
| =true si Particule.triangles en contact avec le fluide More... | |
| std::vector< bool > | fluide_prev |
| =true si Particule.triangles_prev en contact avec le fluide More... | |
| std::vector< std::vector< Point_3 > > | Points_interface |
| Liste de points d'intersections de Particule.triangles avec la grille fluide au temps t. More... | |
| std::vector< std::vector< Point_3 > > | Points_interface_prev |
| Liste de points d'intersections de Particule.triangles_prev avec la grille fluide au temps t-dt. More... | |
| std::vector< std::vector< Triangle_3 > > | Triangles_interface |
| Triangulation des Particule.triangles au temps t. More... | |
| std::vector< std::vector< std::vector< int > > > | Position_Triangles_interface |
| index de la cellule où se trouve Triangles_interface au temps t More... | |
| std::vector< std::vector< Triangle_3 > > | Triangles_interface_prev |
| Triangulation des Particule.triangles_prev au temps t. More... | |
| std::vector< std::vector< std::vector< int > > > | Position_Triangles_interface_prev |
| index de la cellule où se trouve Triangles_interface au temps t-dt More... | |
| int | fixe |
| =true si la particule est fixée, false sinon More... | |
| double | m |
| Masse de la particule. More... | |
| double | V |
| Volume de la particule. More... | |
| double | Vl |
| Volume libre de la particule (pour le calcul d'epsilon) More... | |
| double | epsilon |
| Déformation volumique globale de la particule. More... | |
| double | I [3] |
| Moments d'inertie de la particule. More... | |
| double | rotref [3][3] |
Matrice de rotation telle que la matrice d'inertie s'écrit : , avec . More... | |
| Point_3 | x0 |
| Position du centre de la particule à t=0. More... | |
| Vector_3 | Dx |
| Déplacement du centre de la particule en t. More... | |
| Vector_3 | Dxprev |
| Déplacement du centre de la particule en t-dt. More... | |
| Vector_3 | Fi |
| Forces intérieures du solide. More... | |
| Vector_3 | Ff |
| Forces fluides exercées sur le solide entre t et t+dt/2. More... | |
| Vector_3 | Ffprev |
| Forces fluides exercées sur le solide entre t-dt/2 et t. More... | |
| Vector_3 | Mi |
| Moments intérieurs du solide. More... | |
| Vector_3 | Mf |
| Moments fluides exercés sur le solide entre t et t+dt/2. More... | |
| Vector_3 | Mfprev |
| Moments fluides exercés sur le solide entre t-dt/2 et t. More... | |
| Vector_3 | u |
| Vitesse de la particule au temps t. More... | |
| Vector_3 | u_half |
| Vitesse de la particule au temps t-dt/2. More... | |
| Vector_3 | omega |
| Vecteur rotation au temps t. More... | |
| Vector_3 | omega_half |
| Vecteur rotation au temps t-dt/2. More... | |
| Vector_3 | e |
| Vecteur de rotation de la particule au temps t. More... | |
| Vector_3 | eref |
| Vector_3 | eprev |
| Vecteur de rotation de la particule au temps t-dt. More... | |
| Aff_transformation_3 | mvt_t |
| Transformation affine de la particule au temps t. More... | |
| Aff_transformation_3 | mvt_tprev |
| Transformation affine de la particule au temps t-dt. More... | |
Définition de la classe Particule.
| Particule::Particule | ( | ) |
Constructeur par défaut.
| Particule::Particule | ( | const double & | x_min, |
| const double & | y_min, | ||
| const double & | z_min, | ||
| const double & | x_max, | ||
| const double & | y_max, | ||
| const double & | z_max | ||
| ) |
| Particule::Particule | ( | const Point_3 & | c, |
| const double & | x_min, | ||
| const double & | y_min, | ||
| const double & | z_min, | ||
| const double & | x_max, | ||
| const double & | y_max, | ||
| const double & | z_max, | ||
| const std::vector< Face > & | F | ||
| ) |
| Particule::~Particule | ( | ) |
Destructeur.
| void Particule::Affiche | ( | ) |
Fonction auxiliaire utile pour les tests.
| void Particule::CompVolumeIntegrals | ( | double & | T1, |
| double & | Tx, | ||
| double & | Ty, | ||
| double & | Tz, | ||
| double & | Txx, | ||
| double & | Tyy, | ||
| double & | Tzz, | ||
| double & | Txy, | ||
| double & | Tyz, | ||
| double & | Tzx | ||
| ) |
Calcul des intégrales de volume.
Utilisation de la fonction décrite par Brian Mirtich 1996(cf www.cs.berkeley.edu/~jfc/mirtich/code/volumeIntegration.tar).
| void Particule::Inertie | ( | const double & | rho | ) |
Calcul d'inertie de la particule.
| void Particule::solve_position | ( | const double & | dt, |
| const bool & | flag_2d | ||
| ) |
Calcul de la position de la particule.
| dt | pas de temps |
| void Particule::solve_vitesse | ( | const double & | dt, |
| const bool & | flag_2d | ||
| ) |
Calcul de la vitesse de la particule.
| dt | pas de temps |
| Vector_3 Particule::vitesse_parois | ( | const Point_3 & | X_f | ) |
Vitesse au centre de la parois au temps t.
-vitesse de la particule(Particule.u_half),
-centre de la particule(Particule.x0 + Particule.Dx),
-rotation de la particule(Particule.omega_half).
| X_f | centre de la parois |
| Vector_3 Particule::vitesse_parois_prev | ( | const Point_3 & | X_f | ) |
Vitesse au centre de la parois au temps t-dt.
-vitesse de la particule(Particule.u_half),
-centre de la particule(Particule.x0 + Particule.Dxprev),
-rotation de la particule(Particule.omega_half).
| X_f | centre de la parois |
| double Particule::volume | ( | ) |
Fonction auxilaire utile pour les tests. Calcul du volume de la particule.
| void Particule::Volume_libre | ( | ) |
Calcul du volume libre.
| Bbox Particule::bbox |
| bool Particule::cube |
= true si la particule est un cube, false sinon
| Vector_3 Particule::Dx |
Déplacement du centre de la particule en t.
| Vector_3 Particule::Dxprev |
Déplacement du centre de la particule en t-dt.
| Vector_3 Particule::e |
Vecteur de rotation de la particule au temps t.
| Vector_3 Particule::eprev |
Vecteur de rotation de la particule au temps t-dt.
| double Particule::epsilon |
Déformation volumique globale de la particule.
| Vector_3 Particule::eref |
| std::vector<Face> Particule::faces |
liste de faces de la particule
| Vector_3 Particule::Ff |
Forces fluides exercées sur le solide entre t et t+dt/2.
| Vector_3 Particule::Ffprev |
Forces fluides exercées sur le solide entre t-dt/2 et t.
| Vector_3 Particule::Fi |
Forces intérieures du solide.
| int Particule::fixe |
=true si la particule est fixée, false sinon
| std::vector<bool> Particule::fluide |
=true si Particule.triangles en contact avec le fluide
| std::vector<bool> Particule::fluide_prev |
=true si Particule.triangles_prev en contact avec le fluide
| double Particule::I[3] |
Moments d'inertie de la particule.
| double Particule::m |
Masse de la particule.
| Vector_3 Particule::Mf |
Moments fluides exercés sur le solide entre t et t+dt/2.
| Vector_3 Particule::Mfprev |
Moments fluides exercés sur le solide entre t-dt/2 et t.
| Vector_3 Particule::Mi |
Moments intérieurs du solide.
| Aff_transformation_3 Particule::mvt_t |
Transformation affine de la particule au temps t.
| Aff_transformation_3 Particule::mvt_tprev |
Transformation affine de la particule au temps t-dt.
| std::vector<Vector_3> Particule::normales |
normales extérieures aux Particule.triangles
| std::vector<Vector_3> Particule::normales_prev |
normales extérieures aux Particule.triangles_prev
| Vector_3 Particule::omega |
Vecteur rotation au temps t.
| Vector_3 Particule::omega_half |
Vecteur rotation au temps t-dt/2.
| std::vector< std::vector<Point_3> > Particule::Points_interface |
Liste de points d'intersections de Particule.triangles avec la grille fluide au temps t.
| std::vector< std::vector<Point_3> > Particule::Points_interface_prev |
Liste de points d'intersections de Particule.triangles_prev avec la grille fluide au temps t-dt.
| std::vector< std::vector< std::vector<int> > > Particule::Position_Triangles_interface |
index de la cellule où se trouve Triangles_interface au temps t
| std::vector< std::vector<std::vector<int> > > Particule::Position_Triangles_interface_prev |
index de la cellule où se trouve Triangles_interface au temps t-dt
| double Particule::rotref[3][3] |
Matrice de rotation
telle que la matrice d'inertie
s'écrit :
, avec
.
| Triangles Particule::triangles |
Triangulation des faces de la particule au temps t.
| std::vector< std::vector<Triangle_3> > Particule::Triangles_interface |
Triangulation des Particule.triangles au temps t.
| std::vector< std::vector<Triangle_3> > Particule::Triangles_interface_prev |
Triangulation des Particule.triangles_prev au temps t.
| Triangles Particule::triangles_prev |
Triangulation des faces de la particule au temps t-dt.
| Vector_3 Particule::u |
Vitesse de la particule au temps t.
| Vector_3 Particule::u_half |
Vitesse de la particule au temps t-dt/2.
| double Particule::V |
Volume de la particule.
| std::vector<Point_3> Particule::vertices |
liste des sommets de la particule
| std::vector<bool> Particule::vide |
=true si Particule.triangles en contact avec le fluide
| double Particule::Vl |
Volume libre de la particule (pour le calcul d'epsilon)
| Point_3 Particule::x0 |
Position du centre de la particule à t=0.
1.8.11