CELIA3D
1.0
Fluid-structure interaction using cut-cells
|
Definition of specific coupling functions. More...
Functions | |
double | volume_prisme (const Triangle_3 &T1, const Triangle_3 &T2) |
Computation of the signed volume of a prism. More... | |
double | volume_tetra (const Tetrahedron &Tet) |
Computation of the signed colume of a tetrahedron. More... | |
Point_3 | tr (const Triangle_3 &Tn, const Triangle_3 &Tn1, const Point_3 &Xn) |
Barycentric transformation of point Xn. More... | |
Triangle_3 | tr (const Triangle_3 &Tn, const Triangle_3 &Tn1, const Triangle_3 &T) |
Barycentric transformation of Triangle T. More... | |
Point_2 | tr (const Triangle_3 &Tn1, const Point_3 &Xn) |
Transformation of a Point_3 into a Point_2. More... | |
Triangle_2 | tr (const Triangle_3 &Tn1, const Triangle_3 &T) |
Transformation of a Triangle_3 into a Triangle_2. More... | |
Point_3 | tr (const Triangle_3 &Tn1, const Point_2 &Xn) |
Barycentric transformation of a Point_2 into a Point_3. More... | |
Triangle_3 | tr (const Triangle_3 &Tn1, const Triangle_2 &T) |
Barycentric transformation of a Triangle_2 into a Triangle_3. More... | |
void | Sous_Maillage_2d (const Triangles_2 &Tn, const Triangles_2 &Tn1, Triangles_2 &tri2) |
Construction of the 2d submesh of two meshes on a triangular 2d face of the solid. More... | |
void | sous_maillage_faceTn_faceTn1_2d (const Triangle_3 &Tn, const Triangles &tn, const Triangle_3 &Tn1, const Triangles &tn1, const Vector_3 &N, Triangles &T3d_n, Triangles &T3d_n1) |
Split the face into a submesh of the intersections of the solid face with the fluid grid at times t-dt and t. More... | |
Definition of specific coupling functions.
Computation of fluid forces and torques acting on the solid, modifications of the fluid fluxes, filling of ghost cells, computation of the swept quantity.
void Sous_Maillage_2d | ( | const Triangles_2 & | Tn, |
const Triangles_2 & | Tn1, | ||
Triangles_2 & | tri2 | ||
) |
Construction of the 2d submesh of two meshes on a triangular 2d face of the solid.
The goal is to split the solid face into interface triangles such that each triangle is fully enclosed in one single cell at times t-dt and t (npt necessarily the same cell).
Algorithm:
Tn | Triangles_2 |
Tn1 | Triangles_2 |
tri2 | Triangles_2 |
void sous_maillage_faceTn_faceTn1_2d | ( | const Triangle_3 & | Tn, |
const Triangles & | tn, | ||
const Triangle_3 & | Tn1, | ||
const Triangles & | tn1, | ||
const Vector_3 & | N, | ||
Triangles & | T3d_n, | ||
Triangles & | T3d_n1 | ||
) |
Split the face into a submesh of the intersections of the solid face with the fluid grid at times t-dt and t.
From the position of the interface at time t (Tn) and t-dt (Tn1), split the face into triangles fully contained in one single cell at times t and t-dt (not necessarily the same cell).
Algorithm:
Tn | const Triangle_3: Interface triangle at time t-dt (Particule.triangles_prev) |
tn | const vector<Triangle_3>: Triangulation of face Tn (Particule.Triangles_interface_prev) |
Tn1 | const Triangle_3: Interface at time t (Particule.triangles) |
tn1 | const vector<Triangle_3>: Triangulation of face Tn1 (Particule.Triangles_interface) |
N | const Vector_3: exterior normal vector to Tn1 (Particule.normales) |
T3d_n | vector of Triangle_3: Triangular submesh of face Particule.Triangles_interface_prev at time t-dt |
T3d_n1 | vector of Triangle_3: Triangular submesh of face Particule.Triangles_interface at time t |
Point_3 tr | ( | const Triangle_3 & | Tn, |
const Triangle_3 & | Tn1, | ||
const Point_3 & | Xn | ||
) |
Barycentric transformation of point Xn.
Let Xn a point belonging to triangle Tn(A_1,B_1,C_1). The barycentric transform of Xn is the point Xn1 (belonging to triangle Tn1(A_2,B_2,C_2) ) given by:
Tn | Triangle_3 |
Tn1 | Triangle_3 |
Xn | Point_3 |
Triangle_3 tr | ( | const Triangle_3 & | Tn, |
const Triangle_3 & | Tn1, | ||
const Triangle_3 & | T | ||
) |
Barycentric transformation of Triangle T.
Calls function tr(Triangle_3, Triangle_3, Point_3) for each triangle vertex.
Tn | Triangle_3 |
Tn1 | Triangle_3 |
T | Triangle_3 |
Point_2 tr | ( | const Triangle_3 & | Tn1, |
const Point_3 & | Xn | ||
) |
Transformation of a Point_3 into a Point_2.
Let Triangle Tn1(A,B,C), the barycentric transform of Point_3 Xn (belonging to Tn1) into a Point_2 is given by:
Tn1 | Triangle_3 |
Xn | Point_3 |
Triangle_2 tr | ( | const Triangle_3 & | Tn1, |
const Triangle_3 & | T | ||
) |
Transformation of a Triangle_3 into a Triangle_2.
Calls function tr(Triangle_3, Point_3) for each triangle vertex.
Tn1 | Triangle_3 |
T | Triangle_3 |
Point_3 tr | ( | const Triangle_3 & | Tn1, |
const Point_2 & | Xn | ||
) |
Barycentric transformation of a Point_2 into a Point_3.
Let triangle Tn1(A,B,C), the transform of Point_2 Xn(X,Y) into a point_3 (belonging to Tn1) is given by:
Tn1 | Triangle_3 |
Xn | Point_2 |
Triangle_3 tr | ( | const Triangle_3 & | Tn1, |
const Triangle_2 & | T | ||
) |
Barycentric transformation of a Triangle_2 into a Triangle_3.
Calls function tr(Triangle_3, Point_2) for each triangle vertex.
Tn1 | Triangle_3 |
T | Triangle_2 |
double volume_prisme | ( | const Triangle_3 & | T1, |
const Triangle_3 & | T2 | ||
) |
Computation of the signed volume of a prism.
The signed volume of the prism with bases the triangles and is given by:
T1 | Triangle_3 basis of the prism |
T2 | Triangle_3 basis of prism |
double volume_tetra | ( | const Tetrahedron & | Tet | ) |
Computation of the signed colume of a tetrahedron.
The signed volume of a tetrahedron is given by:
Tet | Tetrahedron |