Back to index

salome-med  6.5.0
Intersectors

Special features of 2D intersectors

P0->P0 : PlanarIntersector.

All the 2D intersectors inherits from INTERP_KERNEL::PlanarIntersector class.

All the important methods are described here.
To sum up the main task offered by this class is to give the evaluation of interpolation of one cell in source mesh with an another cell in target mesh.

P0->P0 intersectors features.

When remapping two dimensional fields, areas of intersection between polygonal cells are to be computed. Three algorithms are available:

The following options are available for the 2D intersection computations:

OptionDescriptionAdmitted valuesDefault
Intersection_typeSpecifies the algorithm to be used in the computation of the cell-cell intersectionsTriangle, Convex, Geometric2D, PointLocatorTriangle
Precision Accuracy of the computations is precision times the characteristic size of the meshes positive real numbers1.0E-12
PrintLevel Level of verboseness during the computations 0, 1, 2, 3 0

Special features of 3D surface intersectors

When remapping a three dimensional surfaces, one should give a meaning to the area of intersection between two three-dimensional non coplanar polygons. A projection phase is thus necessary to have both polygons on the same plane. Care must be taken when defining this projection to avoid non conservative remappings. After the projection step, the source and target cells lie in the same plane and the same algorithms as for 2D remapping can be employed. For the moment, it is only possible to remap fields on three dimension surfacic meshes with mixed triangular and quadrangular elements. Similar options as for the 2D remapping are available, plus some additional options specific to 3D surface remapping:

OptionDescriptionAdmitted valuesDefault
MedianPlane Position of the median plane where both cells will be projectedreal numbers between 0 and 1 0.5
Precision Accuracy of the computations is precision times the characteristic size of the meshes positive real numbers 1.E-12
Orientation Specifies orientation to take into account. If -1 only negative intersection area are taken into account. If 1 only positive intersection area are taken into account. If 0 intersection area are always taken into account. If 2 intersection area are always taken into account (as 0) difference is that absolute value-1,0,1,2 0
DoRotate Performs a rotation of the coordinate system such that the median plane is the Oxy plane boolean true or false true
BoundingBoxAdjustmentWhen detecting an intersection between bounding boxes, the bounding are expanded by a factor (1+BoundingBoxAdjustment). It is particularly useful when detecting intersections for 3D surfaces for which the bounding boxes might not actually intersect. positive real numbers 1.e-4
BoundingBoxAdjustmentAbsWhen detecting an intersection between bounding boxes, the bounding are expanded uniformaly in the 3 dimension of space with the absolute value BoundingBoxAdjustmentAbs. It is particularly useful when detecting intersections for 3D surfaces for which the bounding boxes might not actually intersect. positive real numbers 0.
MaxDistance3DSurfIntersectBefore atempting an intersection in 3D surf test the distance D between fast barycenter of target cell and medium source plane P. If option < 0. no interpretation of D is done. If option > 0. then if D<option intersection is taken into account and if D>option intersection is equal to 0. . This option exists in order to have an iso behaviour whatever the angle of plane P and OXY OYZ OXZ contrary to BBoxAdjestments options. real numbers -1.

Note that choosing the Triangle Intersection_type necessarily set the DoRotate option to true.

Special features of 3D volumes intersectors

P0->P0 : TargetIntersector

Unlike PlanarIntersector phylosophy this intersector is slightly different. Here for the moment there is one instance per pair of meshes and target element. See INTERP_KERNEL::TargetIntersector for more details.

P0->P0 intersectors features.

When remapping three dimensional fields, volumes of intersection between polyhedral cells are to be computed. Two methods are available :

OptionDescriptionAdmitted valuesDefault
Intersection_typeSpecifies the algorithm to be used in the computation of the cell-cell intersectionsTriangle, PointLocatorTriangle
SplittingPolicy Way in which the hexahedra are split into tetrahedra (only if Intersection_type==Triangle) PLANAR_FACE_5, PLANAR_FACE_6, GENERAL_24, GENERAL_48GENERAL_48
PrintLevel Level of verboseness during the computations 1, 2, 3, 4, 5 0

Note that a SplittingPolicy values starting with the word "PLANAR" presume that each face is to be considered planar, while the SplittingPolicy values starting with the word GENERAL does not. The integer at the end gives the number of tetrahedra that result from the split. Consider an hexahedron with with planar faces and nodes numbered according to the following picture:

              7 ------ 6
             /|       /|
            / |      / |
           3 ------ 2  |
           |  |     |  |
           |  |     |  |
           |  4-----|- 5
           | /      | /
           0 ------ 1

The use of the SPLIT_NODES_5 splitting policy would lead to a 5 tetrahedra decomposition as follows :

  0, 1, 5, 2
  0, 4, 5, 7
  0, 3, 7, 2
  5, 6, 7, 2
  0, 2, 5, 7

The use of the SPLIT_NODES_6 splitting policy would lead to a 6 tetrahedra decomposition as follows :

  0, 1, 5, 6
  0, 2, 1, 6
  0, 5, 4, 6
  0, 4, 7, 6
  0, 3, 2, 6
  0, 7, 3, 6