Flow123d  JS_before_hm-1804-gf2ad740aa
Public Member Functions | Private Attributes | Friends | List of all members
InspectElementsAlgorithm12 Class Reference

Implements algorithm for finding 1D-2D intersections. More...

#include <inspect_elements_algorithm.hh>

Inheritance diagram for InspectElementsAlgorithm12:
Inheritance graph
[legend]
Collaboration diagram for InspectElementsAlgorithm12:
Collaboration graph
[legend]

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 >
Meshmesh
 Auxiliary function that translates ElementAccessor<3> to Simplex<simplex_dim>. More...
 
const unsigned int undefined_elm_idx_
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ InspectElementsAlgorithm12()

InspectElementsAlgorithm12::InspectElementsAlgorithm12 ( Mesh input_mesh)

Definition at line 874 of file inspect_elements_algorithm.cc.

Member Function Documentation

◆ compute_intersections_1()

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 1035 of file inspect_elements_algorithm.cc.

Here is the caller graph for this function:

◆ compute_intersections_2()

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 989 of file inspect_elements_algorithm.cc.

Here is the caller graph for this function:

◆ compute_intersections_3()

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.

Parameters
intersection_map_map of intersections where 1D-3D and 2D-3D must be already computed
storagevector of intersection objects 1D-2D

Definition at line 879 of file inspect_elements_algorithm.cc.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ MixedMeshIntersections

friend class MixedMeshIntersections
friend

Computes fundamental 1D-2D intersection of candidate pair.

Definition at line 282 of file inspect_elements_algorithm.hh.

Member Data Documentation

◆ intersectionaux_storage12_

std::vector<IntersectionAux<1,2> > InspectElementsAlgorithm12::intersectionaux_storage12_
private

Stores temporarily 1D-2D intersections.

Definition at line 277 of file inspect_elements_algorithm.hh.


The documentation for this class was generated from the following files: