|
CELIA3D
1.0
Fluid-structure interaction using cut-cells
|
#include <solide.hpp>
Public Member Functions | |
| Particule () | |
| Default constructor. 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) | |
| Constructor overload. More... | |
| Particule (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, std::vector< Face > &F) | |
| Constructor overload. More... | |
| ~Particule () | |
| Destructor. More... | |
| Particule & | operator= (const Particule &P) |
| Operator = overload. More... | |
| void | Affiche () |
| Test display function. More... | |
| double | volume () |
| Test function to check the conservation of the volume of the particle. More... | |
| void | CompVolumeIntegrals (double &T1, double &Tx, double &Ty, double &Tz, double &Txx, double &Tyy, double &Tzz, double &Txy, double &Tyz, double &Tzx) |
| Computation of volume integrals. More... | |
| void | Inertie () |
| Computation of the particle inertia matrix. More... | |
| void | Volume_libre () |
| Computation of the free volume. More... | |
| void | solve_position (double dt) |
| Time-integration of the particle position. More... | |
| void | solve_vitesse (double dt) |
| Time-integration of the particle velocity. More... | |
| Vector_3 | vitesse_parois (const Point_3 &X_f) |
| Velocity of the solid at the interface elements center at time t. . More... | |
| Vector_3 | vitesse_parois_prev (const Point_3 &X_f) |
Velocity at the interface elements center at time t-dt. is the particle velocity (Particule.u_half), is the particle center (Particule.x0 + Particule.Dxprev), is the particle rotation (Particule.omega_half). More... | |
Data Fields | |
| bool | cube |
| = true if the particle is a cube, false otherwise More... | |
| Bbox | bbox |
| Bounding box of the particle. More... | |
| std::vector< Face > | faces |
| List of the particle's faces. More... | |
| std::vector< Point_3 > | vertices |
| List of the particle's vertices. More... | |
| Triangles | triangles |
| Triangulation of the particle faces at time t. More... | |
| Triangles | triangles_prev |
| Triangulation of the particle faces at time t-dt. More... | |
| std::vector< Vector_3 > | normales |
| Exterior normals to Particule.triangles. More... | |
| std::vector< Vector_3 > | normales_prev |
| Exterior normals to Particule.triangles_prev. More... | |
| std::vector< bool > | vide |
| =true if Particule.triangles is in contact with void More... | |
| std::vector< bool > | fluide |
| =true if Particule.triangles is in contact with fluid More... | |
| std::vector< bool > | fluide_prev |
| =true if Particule.triangles_prev is in contact with fluid More... | |
| std::vector< std::vector< Point_3 > > | Points_interface |
| Listof intersection points of Particule.triangles with the fluid grid at time t. More... | |
| std::vector< std::vector< Point_3 > > | Points_interface_prev |
| List of intersection points of Particule.triangles_prev with the fluid grid at time t-dt. More... | |
| std::vector< std::vector< Triangle_3 > > | Triangles_interface |
| Triangulation of Particule.triangles at time t. More... | |
| std::vector< std::vector< std::vector< int > > > | Position_Triangles_interface |
| Index of the cell where Triangles_interface is located at time t. More... | |
| std::vector< std::vector< Triangle_3 > > | Triangles_interface_prev |
| Triangulation of Particule.triangles_prev at time t-dt. More... | |
| std::vector< std::vector< std::vector< int > > > | Position_Triangles_interface_prev |
| Index of the cell where Triangles_interface is located at time t-dt. More... | |
| int | fixe |
| =1 if the particle is fixed, 0 otherwise More... | |
| double | m |
| Particle mass. More... | |
| double | V |
| Particle volume. More... | |
| double | Vl |
| Free Volume of the particle (for the computation of epsilon) More... | |
| double | epsilon |
| Volumetric deformation of the particle. More... | |
| double | I [3] |
| Inertia matrix of the particle. More... | |
| double | rotref [3][3] |
Rotation matrix such that the inertia matrix in the reference frame can be written : , with . More... | |
| Point_3 | x0 |
| Position of the particle center at t=0. More... | |
| Vector_3 | Dx |
| Displacement of the particle center at time t. More... | |
| Vector_3 | Dxprev |
| Displacement of the particle center at time t-dt. More... | |
| Vector_3 | Fi |
| Solid internal forces. More... | |
| Vector_3 | Ff |
| Fluid forces applied on the solid between times t and t+dt/2. More... | |
| Vector_3 | Ffprev |
| Fluid forces applied on the solide between times t-dt/2 and t. More... | |
| Vector_3 | Mi |
| Interior torques of the solid. More... | |
| Vector_3 | Mf |
| Fluid torques applied on the solid between times t and t+dt/2. More... | |
| Vector_3 | Mfprev |
| FLuid torques applied on the solid between times t-dt/2 and t. More... | |
| Vector_3 | u |
| Particle velocity at time t. More... | |
| Vector_3 | u_half |
| Particle velocity at time t-dt/2. More... | |
| Vector_3 | omega |
| Angular velocity at time t. More... | |
| Vector_3 | omega_half |
| Angular velocity at time t-dt/2. More... | |
| Vector_3 | e |
| Rotation vector at time t. More... | |
| Vector_3 | eprev |
| Rotation vector at time t-dt. More... | |
| Aff_transformation_3 | mvt_t |
| Affine transformation associated with the rigid body movement of the particle at time t. More... | |
| Aff_transformation_3 | mvt_tprev |
| Affine transformation associated with the rigid body movement of the particle at time t-dt. More... | |
Particule class.
| Particule::Particule | ( | ) |
Default constructor.
| 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 | ||
| ) |
Constructor overload.
| (x_min,y_min,z_min),(x_max,y_max,z_max) | bounding box coordinates |
| Particule::~Particule | ( | ) |
Destructor.
| void Particule::Affiche | ( | ) |
Test display function.
| void Particule::CompVolumeIntegrals | ( | double & | T1, |
| double & | Tx, | ||
| double & | Ty, | ||
| double & | Tz, | ||
| double & | Txx, | ||
| double & | Tyy, | ||
| double & | Tzz, | ||
| double & | Txy, | ||
| double & | Tyz, | ||
| double & | Tzx | ||
| ) |
| void Particule::Inertie | ( | ) |
Computation of the particle inertia matrix.
| void Particule::solve_position | ( | double | dt | ) |
Time-integration of the particle position.
| dt | Time-step |
| void Particule::solve_vitesse | ( | double | dt | ) |
Time-integration of the particle velocity.
| dt | Time-step |
Velocity of the solid at the interface elements center at time t.
.
is the particle velocity (Particule.u_half),
is the particle center (Particule.x0 + Particule.Dx),
is the particle rotation (Particule.omega_half).
| X_f | interface element center |
Velocity at the interface elements center at time t-dt.
is the particle velocity (Particule.u_half),
is the particle center (Particule.x0 + Particule.Dxprev),
is the particle rotation (Particule.omega_half).
| X_f | interface element center |
| double Particule::volume | ( | ) |
Test function to check the conservation of the volume of the particle.
| void Particule::Volume_libre | ( | ) |
Computation of the free volume.
| Bbox Particule::bbox |
Bounding box of the particle.
| bool Particule::cube |
= true if the particle is a cube, false otherwise
| Vector_3 Particule::Dx |
Displacement of the particle center at time t.
| Vector_3 Particule::Dxprev |
Displacement of the particle center at time t-dt.
| Vector_3 Particule::e |
Rotation vector at time t.
| Vector_3 Particule::eprev |
Rotation vector at time t-dt.
| double Particule::epsilon |
Volumetric deformation of the particle.
| std::vector<Face> Particule::faces |
List of the particle's faces.
| Vector_3 Particule::Ff |
Fluid forces applied on the solid between times t and t+dt/2.
| Vector_3 Particule::Ffprev |
Fluid forces applied on the solide between times t-dt/2 and t.
| Vector_3 Particule::Fi |
Solid internal forces.
| int Particule::fixe |
=1 if the particle is fixed, 0 otherwise
| std::vector<bool> Particule::fluide |
=true if Particule.triangles is in contact with fluid
| std::vector<bool> Particule::fluide_prev |
=true if Particule.triangles_prev is in contact with fluid
| double Particule::I[3] |
Inertia matrix of the particle.
| double Particule::m |
Particle mass.
| Vector_3 Particule::Mf |
Fluid torques applied on the solid between times t and t+dt/2.
| Vector_3 Particule::Mfprev |
FLuid torques applied on the solid between times t-dt/2 and t.
| Vector_3 Particule::Mi |
Interior torques of the solid.
| Aff_transformation_3 Particule::mvt_t |
Affine transformation associated with the rigid body movement of the particle at time t.
| Aff_transformation_3 Particule::mvt_tprev |
Affine transformation associated with the rigid body movement of the particle at time t-dt.
| std::vector<Vector_3> Particule::normales |
Exterior normals to Particule.triangles.
| std::vector<Vector_3> Particule::normales_prev |
Exterior normals to Particule.triangles_prev.
| Vector_3 Particule::omega |
Angular velocity at time t.
| Vector_3 Particule::omega_half |
Angular velocity at time t-dt/2.
| std::vector< std::vector<Point_3> > Particule::Points_interface |
Listof intersection points of Particule.triangles with the fluid grid at time t.
| std::vector< std::vector<Point_3> > Particule::Points_interface_prev |
List of intersection points of Particule.triangles_prev with the fluid grid at time t-dt.
| std::vector< std::vector< std::vector<int> > > Particule::Position_Triangles_interface |
Index of the cell where Triangles_interface is located at time t.
| std::vector< std::vector<std::vector<int> > > Particule::Position_Triangles_interface_prev |
Index of the cell where Triangles_interface is located at time t-dt.
| double Particule::rotref[3][3] |
Rotation matrix
such that the inertia matrix
in the reference frame can be written :
, with
.
| Triangles Particule::triangles |
Triangulation of the particle faces at time t.
| std::vector< std::vector<Triangle_3> > Particule::Triangles_interface |
Triangulation of Particule.triangles at time t.
| std::vector< std::vector<Triangle_3> > Particule::Triangles_interface_prev |
Triangulation of Particule.triangles_prev at time t-dt.
| Triangles Particule::triangles_prev |
Triangulation of the particle faces at time t-dt.
| Vector_3 Particule::u |
Particle velocity at time t.
| Vector_3 Particule::u_half |
Particle velocity at time t-dt/2.
| double Particule::V |
Particle volume.
| std::vector<Point_3> Particule::vertices |
List of the particle's vertices.
| std::vector<bool> Particule::vide |
=true if Particule.triangles is in contact with void
| double Particule::Vl |
Free Volume of the particle (for the computation of epsilon)
| Point_3 Particule::x0 |
Position of the particle center at t=0.
1.8.11