|
Flow123d
release_3.0.0-903-ge56fc7d
|
Implements algorithm for finding 1D-2D intersections. More...
#include <inspect_elements_algorithm.hh>


Public Member Functions | |
| InspectElementsAlgorithm12 (Mesh *input_mesh) | |
| void | compute_intersections_3 (std::vector< std::vector< ILpair >> &intersection_map, std::vector< IntersectionLocal< 1, 2 >> &storage) |
| Runs the algorithm (3): compute 1D-2D intersection inside 3D mesh. It directly fills the intersection map and intersection storage. The intersection map is then also used to avoid duplicit intersections. More... | |
| void | compute_intersections_2 (const BIHTree &bih) |
| Runs the algorithm (2): compute 1D-2D intersection in 3D ambient space BIH is used to find intersection candidates. More... | |
| void | compute_intersections_1 (const BIHTree &bih) |
| Runs the algorithm (1): compute 1D-2D intersection in 2D plane. BIH is used to find intersection candidates. More... | |
Public Member Functions inherited from IntersectionAlgorithmBase< 1, 2 > | |
| IntersectionAlgorithmBase (Mesh *mesh) | |
Private Attributes | |
| std::vector< IntersectionAux< 1, 2 > > | intersectionaux_storage12_ |
| Stores temporarily 1D-2D intersections. More... | |
Friends | |
| class | MixedMeshIntersections |
| Computes fundamental 1D-2D intersection of candidate pair. More... | |
Additional Inherited Members | |
Protected Attributes inherited from IntersectionAlgorithmBase< 1, 2 > | |
| Mesh * | mesh |
Auxiliary function that translates ElementAccessor<3> to Simplex<simplex_dim>. More... | |
| const unsigned int | undefined_elm_idx_ |
Implements algorithm for finding 1D-2D intersections.
There are 3 possibilities of computation:
1) 2D problem with 1D fractures 2D mesh is a plane and 1D mesh is the same plane; then we can solve the intersection only in 2D, probably not using Plucker; we can apply some prolongation algorithm like in 1D-3D..
2) 1D-2D intersection in 3D space 1D and 2D meshes are arbitrarily placed in 3D space; then we need to compute intersections using Plucker coordinates and we cannot rely on prolongation algorithm (only if there are 2 IPs -> both lie in the same plane)
3) 1D-2D intersection inside 3D mesh 1D and 2D mesh is inside a bulk mesh (3D); if 2D-3D and 1D-3D has been computed, we can iterate over 3D intersection and get candidates if there is both 1D-3D and 2D-3D at the same time. We might need to deal with intersections outside 3D mesh, using partially algorithm (2)
Definition at line 251 of file inspect_elements_algorithm.hh.
| InspectElementsAlgorithm12::InspectElementsAlgorithm12 | ( | Mesh * | input_mesh | ) |
Definition at line 878 of file inspect_elements_algorithm.cc.
| void InspectElementsAlgorithm12::compute_intersections_1 | ( | const BIHTree & | bih | ) |
Runs the algorithm (1): compute 1D-2D intersection in 2D plane. BIH is used to find intersection candidates.
Definition at line 1039 of file inspect_elements_algorithm.cc.

| void InspectElementsAlgorithm12::compute_intersections_2 | ( | const BIHTree & | bih | ) |
Runs the algorithm (2): compute 1D-2D intersection in 3D ambient space BIH is used to find intersection candidates.
Definition at line 993 of file inspect_elements_algorithm.cc.

| void InspectElementsAlgorithm12::compute_intersections_3 | ( | std::vector< std::vector< ILpair >> & | intersection_map, |
| std::vector< IntersectionLocal< 1, 2 >> & | storage | ||
| ) |
Runs the algorithm (3): compute 1D-2D intersection inside 3D mesh. It directly fills the intersection map and intersection storage. The intersection map is then also used to avoid duplicit intersections.
| intersection_map_ | map of intersections where 1D-3D and 2D-3D must be already computed |
| storage | vector of intersection objects 1D-2D |
Definition at line 883 of file inspect_elements_algorithm.cc.

|
friend |
Computes fundamental 1D-2D intersection of candidate pair.
Definition at line 282 of file inspect_elements_algorithm.hh.
|
private |
Stores temporarily 1D-2D intersections.
Definition at line 277 of file inspect_elements_algorithm.hh.
1.8.11