Back to index

salome-med  6.5.0
Public Member Functions | Protected Attributes | Private Member Functions
INTERP_TEST::SingleElementTetraTests Class Reference

Class testing algorithm by intersecting simple meshes having only one element each. More...

#include <SingleElementTetraTests.hxx>

Inheritance diagram for INTERP_TEST::SingleElementTetraTests:
Inheritance graph
[legend]
Collaboration diagram for INTERP_TEST::SingleElementTetraTests:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void tetraReflexiveUnit ()
 Unit tetrahedron mesh intersecting itself.
void tetraReflexiveGeneral ()
 Tetrahedron mesh with itself.
void tetraNudged ()
 Unit tetrahedron mesh intersecting slightly displaced copy of itself.
void tetraNudgedSimpler ()
 Single-element unit tetrahedron mesh intersecting even slightly displaced (along one axis only) copy of itself.
void tetraCorner ()
 Tetrahedron intersecting unit tetrahedron with in non-degenerate way around corner O.
void tetraSimpleIncluded ()
 Tetrahedron situated totally inside another.
void tetraDegenEdge ()
 Displaced unit tetrahedron intersecting another unit tetrahedron with which it shares an edge.
void tetraDegenFace ()
 Displaced unit tetrahedron intersecting another unit tetrahedron with which it shares a face.
void tetraDegenTranslatedInPlane ()
 Displaced unit tetrahedron intersecting another unit tetrahedron with which it shares a part of the face XYZ.
void tetraHalfstripOnly ()
 Tetrahedron having only half-strip intersections with the unit tetrahedron.
void tetraHalfstripOnly2 ()
 Tetrahedron having only half-strip intersections with the unit tetrahedron.
void tetraSimpleHalfstripOnly ()
 Tetrahedron having only half-strip intersections with the unit tetrahedron.
void generalTetra ()
 Two intersecting tetrahedra situated in a general position in space.
void trickyTetra1 ()
 Tetrahedron which is in a tricky position relative to unit tetrahedron.
void inconsistentTetra ()
 Two large tetrahedra which nearly share part of an edge and intersect at the origin. Created with goal of getting the as-of-yet uncovered "consistency" test part of the correction of double products covered. However, it does not succeed with this.
void setUp ()
 Sets up the test suite.
void tearDown ()
 Cleans up after the test suite.

Protected Attributes

MeshTestToolkit< SPACEDIM,
MESHDIM > * 
_testTools
 MeshTestToolkit object to which the tests are delegated.

Private Member Functions

 CPPUNIT_TEST_SUITE (SingleElementTetraTests)
 CPPUNIT_TEST (tetraReflexiveUnit)
 CPPUNIT_TEST (tetraReflexiveGeneral)
 CPPUNIT_TEST (tetraNudgedSimpler)
 CPPUNIT_TEST (tetraNudged)
 CPPUNIT_TEST (tetraCorner)
 CPPUNIT_TEST (tetraSimpleIncluded)
 CPPUNIT_TEST (tetraDegenEdge)
 CPPUNIT_TEST (tetraDegenFace)
 CPPUNIT_TEST (tetraDegenTranslatedInPlane)
 CPPUNIT_TEST (tetraHalfstripOnly)
 CPPUNIT_TEST (tetraHalfstripOnly2)
 CPPUNIT_TEST (tetraSimpleHalfstripOnly)
 CPPUNIT_TEST (generalTetra)
 CPPUNIT_TEST (trickyTetra1)
 CPPUNIT_TEST_SUITE_END ()

Detailed Description

Class testing algorithm by intersecting simple meshes having only one element each.

This serves mainly to verify that the volume calculations between elements is correct.

Definition at line 32 of file SingleElementTetraTests.hxx.


Member Function Documentation

Two intersecting tetrahedra situated in a general position in space.

Status : pass

Definition at line 148 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("GenTetra1", "GenTetra2", 4.91393);
    }

Two large tetrahedra which nearly share part of an edge and intersect at the origin. Created with goal of getting the as-of-yet uncovered "consistency" test part of the correction of double products covered. However, it does not succeed with this.

Status : fails, but is quite far-fetched as far as typical use cases are concerned

Definition at line 163 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("LargeUnitTetra.med", "LargeUnitTetra", "LargeInconsistentTetra.med", "LargeInconsistent", 7.86231e7);
    }
void INTERP_TEST::InterpolationTestSuite< SPACEDIM, MESHDIM >::setUp ( ) [inline, inherited]

Sets up the test suite.

Creates the MeshTestToolkit object used by the tests.

Definition at line 44 of file InterpolationTestSuite.hxx.

    {
      _testTools = new MeshTestToolkit<SPACEDIM,MESHDIM>();
    }
void INTERP_TEST::InterpolationTestSuite< SPACEDIM, MESHDIM >::tearDown ( ) [inline, inherited]

Cleans up after the test suite.

Liberates the MeshTestToolkit object used by the tests.

Definition at line 53 of file InterpolationTestSuite.hxx.

    {
      delete _testTools;
    }

Tetrahedron intersecting unit tetrahedron with in non-degenerate way around corner O.

Status : pass

Definition at line 86 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetra", "CornerTetra", 0.0135435);
    }

Displaced unit tetrahedron intersecting another unit tetrahedron with which it shares an edge.

Status : pass

Definition at line 100 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetraDegenT", "DegenEdgeXY", 0.0);
    }

Displaced unit tetrahedron intersecting another unit tetrahedron with which it shares a face.

Status : pass

Definition at line 107 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetraDegenT", "DegenFaceXYZ", 0.0);
    }

Displaced unit tetrahedron intersecting another unit tetrahedron with which it shares a part of the face XYZ.

Status : pass

Definition at line 114 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetraDegenT", "DegenTranslatedInPlane", 0.0571667);
    }

Tetrahedron having only half-strip intersections with the unit tetrahedron.

Status : pass, but does not really test what it should - does not check that the intersections are detected. No longer needed.

Definition at line 121 of file SingleElementTetraTests.hxx.

    {
      // NB this test is not completely significant : we should also verify that 
      // there are triangles on the element that give a non-zero volume
      _testTools->intersectMeshes("HalfstripOnly", "UnitTetra", 0.0);
    }

Tetrahedron having only half-strip intersections with the unit tetrahedron.

Status : pass, but does not really test what it should - does not check that the intersections are detected. No longer needed.

Definition at line 130 of file SingleElementTetraTests.hxx.

    {
      // NB this test is not completely significant : we should also verify that 
      // there are triangles on the element that give a non-zero volume
      _testTools->intersectMeshes("HalfstripOnly2", "UnitTetra", 0.0);
    }

Unit tetrahedron mesh intersecting slightly displaced copy of itself.

Status : pass

Definition at line 72 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetra", "NudgedTetra", 0.142896);
    }

Single-element unit tetrahedron mesh intersecting even slightly displaced (along one axis only) copy of itself.

Status : pass

Definition at line 79 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetra", "NudgedSimpler", 0.152112);
    }

Tetrahedron mesh with itself.

Status : pass

Definition at line 65 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("GeneralTetra", "GeneralTetra", 0.428559);
    }

Unit tetrahedron mesh intersecting itself.

Status : pass

Definition at line 58 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetra", "UnitTetra", 1.0/6.0);
    }

Tetrahedron having only half-strip intersections with the unit tetrahedron.

Status : pass, but does not really test what it should - does not check that the intersections are detected. No longer needed.

Definition at line 139 of file SingleElementTetraTests.hxx.

    {
      // NB this test is not completely significant : we should also verify that 
      // there are triangles on the element that give a non-zero volume
      _testTools->intersectMeshes("SimpleHalfstripOnly", "UnitTetra", 0.0);
    }

Tetrahedron situated totally inside another.

Status : pass

Definition at line 93 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("SimpleIncludedTetra", "SimpleIncludingTetra", 17.0156);
    }

Tetrahedron which is in a tricky position relative to unit tetrahedron.

Status : pass

Definition at line 155 of file SingleElementTetraTests.hxx.

    {
      _testTools->intersectMeshes("UnitTetra", "TrickyTetra1", 0.0);
    }

Member Data Documentation

MeshTestToolkit<SPACEDIM,MESHDIM>* INTERP_TEST::InterpolationTestSuite< SPACEDIM, MESHDIM >::_testTools [protected, inherited]

MeshTestToolkit object to which the tests are delegated.

Definition at line 62 of file InterpolationTestSuite.hxx.


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