MOAB: Mesh Oriented datABase
(version 5.4.1)
|
#include "Mesquite.hpp"
#include "TetLagrangeShape.hpp"
#include "TopologyInfo.hpp"
#include "MsqError.hpp"
#include "IdealElements.hpp"
#include "JacobianCalculator.hpp"
#include <cmath>
#include "UnitUtil.hpp"
#include <vector>
#include <algorithm>
#include <iostream>
#include <sstream>
Go to the source code of this file.
Classes | |
class | TetLagrangeShapeTest |
Defines | |
#define | ASSERT_VALUES_EQUAL(v1, v2, location, bits) ASSERT_MESSAGE( value_message( ( location ), ( bits ), ( v1 ), ( v2 ) ), ( fabs( ( v1 ) - ( v2 ) ) < epsilon ) ) |
Typedefs | |
typedef double(* | N_t )(double, double, double) |
Functions | |
static CppUnit::Message | value_message (unsigned location, NodeSet bits, double v1, double v2) |
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION (TetLagrangeShapeTest,"TetLagrangeShapeTest") | |
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION (TetLagrangeShapeTest,"Unit") | |
static double | N0 (double r, double s, double t) |
static double | N1 (double r, double, double) |
static double | N2 (double, double s, double) |
static double | N3 (double, double, double t) |
static double | N4 (double r, double s, double t) |
static double | N5 (double r, double s, double) |
static double | N6 (double r, double s, double t) |
static double | N7 (double r, double s, double t) |
static double | N8 (double r, double, double t) |
static double | N9 (double, double s, double t) |
static double | dN0dr (double r, double s, double t) |
static double | dN0ds (double r, double s, double t) |
static double | dN0dt (double r, double s, double t) |
static double | dN1dr (double r, double, double) |
static double | dN1ds (double, double, double) |
static double | dN1dt (double, double, double) |
static double | dN2dr (double, double, double) |
static double | dN2ds (double, double s, double) |
static double | dN2dt (double, double, double) |
static double | dN3dr (double, double, double) |
static double | dN3ds (double, double, double) |
static double | dN3dt (double, double, double t) |
static double | dN4dr (double r, double s, double t) |
static double | dN4ds (double r, double, double) |
static double | dN4dt (double r, double, double) |
static double | dN5dr (double, double s, double) |
static double | dN5ds (double r, double, double) |
static double | dN5dt (double, double, double) |
static double | dN6dr (double, double s, double) |
static double | dN6ds (double r, double s, double t) |
static double | dN6dt (double, double s, double) |
static double | dN7dr (double, double, double t) |
static double | dN7ds (double, double, double t) |
static double | dN7dt (double r, double s, double t) |
static double | dN8dr (double, double, double t) |
static double | dN8ds (double, double, double) |
static double | dN8dt (double r, double, double) |
static double | dN9dr (double, double, double) |
static double | dN9ds (double, double, double t) |
static double | dN9dt (double, double s, double) |
static void | get_coeff (NodeSet nodeset, const double *rst, double *coeffs) |
static void | get_derivs (NodeSet nodeset, const double *rst, MsqVector< 3 > *derivs) |
static void | check_valid_indices (const size_t *vertices, size_t num_vtx) |
static void | check_no_zeros (const MsqVector< 3 > *derivs, size_t num_vtx) |
static void | compare_coefficients (const double *coeffs, const size_t *indices, const double *expected_coeffs, size_t num_coeff, unsigned loc, NodeSet bits) |
static void | compare_derivatives (const size_t *vertices, size_t num_vtx, const MsqVector< 3 > *derivs, const MsqVector< 3 > *expected_derivs, unsigned loc, NodeSet bits) |
static NodeSet | nodeset_from_bits (unsigned bits) |
Variables | |
const double | epsilon = 1e-6 |
static const N_t | N [] = { &N0, &N1, &N2, &N3, &N4, &N5, &N6, &N7, &N8, &N9 } |
static const N_t | dNdr [] = { &dN0dr, &dN1dr, &dN2dr, &dN3dr, &dN4dr, &dN5dr, &dN6dr, &dN7dr, &dN8dr, &dN9dr } |
static const N_t | dNds [] = { &dN0ds, &dN1ds, &dN2ds, &dN3ds, &dN4ds, &dN5ds, &dN6ds, &dN7ds, &dN8ds, &dN9ds } |
static const N_t | dNdt [] = { &dN0dt, &dN1dt, &dN2dt, &dN3dt, &dN4dt, &dN5dt, &dN6dt, &dN7dt, &dN8dt, &dN9dt } |
static const double | rst_corner [][3] = { { 0, 0, 0 }, { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } } |
static const double | rst_edge [][3] |
static const double | rst_face [][3] |
static const double | rst_mid [3] = { 0.25, 0.25, 0.25 } |
static unsigned | edges [][2] = { { 0, 1 }, { 1, 2 }, { 2, 0 }, { 0, 3 }, { 1, 3 }, { 2, 3 } } |
Definition in file TetLagrangeShapeTest.cpp.
#define ASSERT_VALUES_EQUAL | ( | v1, | |
v2, | |||
location, | |||
bits | |||
) | ASSERT_MESSAGE( value_message( ( location ), ( bits ), ( v1 ), ( v2 ) ), ( fabs( ( v1 ) - ( v2 ) ) < epsilon ) ) |
Definition at line 51 of file TetLagrangeShapeTest.cpp.
Referenced by compare_coefficients(), and compare_derivatives().
typedef double( * N_t)(double, double, double) |
Definition at line 328 of file TetLagrangeShapeTest.cpp.
static void check_no_zeros | ( | const MsqVector< 3 > * | derivs, |
size_t | num_vtx | ||
) | [static] |
Definition at line 397 of file TetLagrangeShapeTest.cpp.
References CPPUNIT_ASSERT.
Referenced by compare_derivatives().
{ for( unsigned i = 0; i < num_vtx; ++i ) { double dr = derivs[i][0]; double ds = derivs[i][1]; double dt = derivs[i][2]; CPPUNIT_ASSERT( ( fabs( dr ) > 1e-6 ) || ( fabs( ds ) > 1e-6 ) || ( fabs( dt ) > 1e-6 ) ); } }
static void check_valid_indices | ( | const size_t * | vertices, |
size_t | num_vtx | ||
) | [static] |
Definition at line 383 of file TetLagrangeShapeTest.cpp.
References CPPUNIT_ASSERT.
Referenced by compare_derivatives().
{ CPPUNIT_ASSERT( num_vtx < 11 ); CPPUNIT_ASSERT( num_vtx > 3 ); size_t vtxcopy[10]; std::copy( vertices, vertices + num_vtx, vtxcopy ); std::sort( vtxcopy, vtxcopy + num_vtx ); for( unsigned i = 1; i < num_vtx; ++i ) { CPPUNIT_ASSERT( vtxcopy[i] != vtxcopy[i - 1] ); CPPUNIT_ASSERT( vtxcopy[i] < 10 ); } }
static void compare_coefficients | ( | const double * | coeffs, |
const size_t * | indices, | ||
const double * | expected_coeffs, | ||
size_t | num_coeff, | ||
unsigned | loc, | ||
NodeSet | bits | ||
) | [static] |
Definition at line 408 of file TetLagrangeShapeTest.cpp.
References ASSERT_VALUES_EQUAL, CPPUNIT_ASSERT, and MBMesquite::NodeSet::mid_edge_node().
Referenced by TetLagrangeShapeTest::test_corner_coeff(), TetLagrangeShapeTest::test_edge_coeff(), TetLagrangeShapeTest::test_face_coeff(), and TetLagrangeShapeTest::test_mid_coeff().
{ // find the location in the returned list for each node size_t revidx[10]; double test_vals[10]; for( size_t i = 0; i < 10; ++i ) { revidx[i] = std::find( indices, indices + num_coeff, i ) - indices; test_vals[i] = ( revidx[i] == num_coeff ) ? 0.0 : coeffs[revidx[i]]; } // Check that index list doesn't contain any nodes not actually // present in the element. CPPUNIT_ASSERT( bits.mid_edge_node( 0 ) || ( revidx[4] == num_coeff ) ); CPPUNIT_ASSERT( bits.mid_edge_node( 1 ) || ( revidx[5] == num_coeff ) ); CPPUNIT_ASSERT( bits.mid_edge_node( 2 ) || ( revidx[6] == num_coeff ) ); CPPUNIT_ASSERT( bits.mid_edge_node( 3 ) || ( revidx[7] == num_coeff ) ); CPPUNIT_ASSERT( bits.mid_edge_node( 4 ) || ( revidx[8] == num_coeff ) ); CPPUNIT_ASSERT( bits.mid_edge_node( 5 ) || ( revidx[9] == num_coeff ) ); // compare expected and actual coefficient values ASSERT_VALUES_EQUAL( expected_coeffs[0], test_vals[0], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[1], test_vals[1], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[2], test_vals[2], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[3], test_vals[3], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[4], test_vals[4], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[5], test_vals[5], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[6], test_vals[6], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[7], test_vals[7], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[8], test_vals[8], loc, bits ); ASSERT_VALUES_EQUAL( expected_coeffs[9], test_vals[9], loc, bits ); }
static void compare_derivatives | ( | const size_t * | vertices, |
size_t | num_vtx, | ||
const MsqVector< 3 > * | derivs, | ||
const MsqVector< 3 > * | expected_derivs, | ||
unsigned | loc, | ||
NodeSet | bits | ||
) | [static] |
Definition at line 446 of file TetLagrangeShapeTest.cpp.
References ASSERT_VALUES_EQUAL, check_no_zeros(), and check_valid_indices().
Referenced by TetLagrangeShapeTest::test_corner_derivs(), TetLagrangeShapeTest::test_edge_derivs(), TetLagrangeShapeTest::test_face_derivs(), and TetLagrangeShapeTest::test_mid_derivs().
{ check_valid_indices( vertices, num_vtx ); check_no_zeros( derivs, num_vtx ); MsqVector< 3 > expanded_derivs[30]; memset( expanded_derivs, 0, sizeof( expanded_derivs ) ); for( unsigned i = 0; i < num_vtx; ++i ) expanded_derivs[vertices[i]] = derivs[i]; ASSERT_VALUES_EQUAL( expected_derivs[0][0], expanded_derivs[0][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[0][1], expanded_derivs[0][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[0][2], expanded_derivs[0][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[1][0], expanded_derivs[1][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[1][1], expanded_derivs[1][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[1][2], expanded_derivs[1][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[2][0], expanded_derivs[2][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[2][1], expanded_derivs[2][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[2][2], expanded_derivs[2][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[3][0], expanded_derivs[3][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[3][1], expanded_derivs[3][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[3][2], expanded_derivs[3][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[4][0], expanded_derivs[4][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[4][1], expanded_derivs[4][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[4][2], expanded_derivs[4][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[5][0], expanded_derivs[5][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[5][1], expanded_derivs[5][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[5][2], expanded_derivs[5][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[6][0], expanded_derivs[6][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[6][1], expanded_derivs[6][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[6][2], expanded_derivs[6][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[7][0], expanded_derivs[7][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[7][1], expanded_derivs[7][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[7][2], expanded_derivs[7][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[8][0], expanded_derivs[8][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[8][1], expanded_derivs[8][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[8][2], expanded_derivs[8][2], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[9][0], expanded_derivs[9][0], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[9][1], expanded_derivs[9][1], loc, bits ); ASSERT_VALUES_EQUAL( expected_derivs[9][2], expanded_derivs[9][2], loc, bits ); }
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION | ( | TetLagrangeShapeTest | , |
"TetLagrangeShapeTest" | |||
) |
static double dN0dr | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double dN0ds | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double dN0dt | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double dN1dr | ( | double | r, |
double | , | ||
double | |||
) | [static] |
Definition at line 208 of file TetLagrangeShapeTest.cpp.
{
return 4 * r - 1;
}
static double dN1ds | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 212 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN1dt | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 216 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN2dr | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 221 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN2ds | ( | double | , |
double | s, | ||
double | |||
) | [static] |
Definition at line 225 of file TetLagrangeShapeTest.cpp.
{
return 4 * s - 1;
}
static double dN2dt | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 229 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN3dr | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 234 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN3ds | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 238 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN3dt | ( | double | , |
double | , | ||
double | t | ||
) | [static] |
Definition at line 242 of file TetLagrangeShapeTest.cpp.
{ return 4 * t - 1; }
static double dN4dr | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double dN4ds | ( | double | r, |
double | , | ||
double | |||
) | [static] |
Definition at line 252 of file TetLagrangeShapeTest.cpp.
{
return -4 * r;
}
static double dN4dt | ( | double | r, |
double | , | ||
double | |||
) | [static] |
Definition at line 256 of file TetLagrangeShapeTest.cpp.
{
return -4 * r;
}
static double dN5dr | ( | double | , |
double | s, | ||
double | |||
) | [static] |
Definition at line 261 of file TetLagrangeShapeTest.cpp.
{
return 4 * s;
}
static double dN5ds | ( | double | r, |
double | , | ||
double | |||
) | [static] |
Definition at line 265 of file TetLagrangeShapeTest.cpp.
{
return 4 * r;
}
static double dN5dt | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 269 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN6dr | ( | double | , |
double | s, | ||
double | |||
) | [static] |
Definition at line 274 of file TetLagrangeShapeTest.cpp.
{
return -4 * s;
}
static double dN6ds | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double dN6dt | ( | double | , |
double | s, | ||
double | |||
) | [static] |
Definition at line 283 of file TetLagrangeShapeTest.cpp.
{
return -4 * s;
}
static double dN7dr | ( | double | , |
double | , | ||
double | t | ||
) | [static] |
static double dN7ds | ( | double | , |
double | , | ||
double | t | ||
) | [static] |
static double dN7dt | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double dN8dr | ( | double | , |
double | , | ||
double | t | ||
) | [static] |
static double dN8ds | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 306 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN8dt | ( | double | r, |
double | , | ||
double | |||
) | [static] |
Definition at line 310 of file TetLagrangeShapeTest.cpp.
{
return 4 * r;
}
static double dN9dr | ( | double | , |
double | , | ||
double | |||
) | [static] |
Definition at line 315 of file TetLagrangeShapeTest.cpp.
{
return 0;
}
static double dN9ds | ( | double | , |
double | , | ||
double | t | ||
) | [static] |
static double dN9dt | ( | double | , |
double | s, | ||
double | |||
) | [static] |
Definition at line 323 of file TetLagrangeShapeTest.cpp.
{
return 4 * s;
}
Definition at line 345 of file TetLagrangeShapeTest.cpp.
References MBMesquite::edges, MBMesquite::NodeSet::mid_edge_node(), and N.
Referenced by TetLagrangeShapeTest::test_corner_coeff(), TetLagrangeShapeTest::test_edge_coeff(), TetLagrangeShapeTest::test_face_coeff(), and TetLagrangeShapeTest::test_mid_coeff().
{ for( int i = 0; i < 10; ++i ) coeffs[i] = ( *N[i] )( rst[0], rst[1], rst[2] ); for( int i = 0; i < 6; ++i ) if( !nodeset.mid_edge_node( i ) ) { coeffs[edges[i][0]] += 0.5 * coeffs[i + 4]; coeffs[edges[i][1]] += 0.5 * coeffs[i + 4]; coeffs[i + 4] = 0; } }
static void get_derivs | ( | NodeSet | nodeset, |
const double * | rst, | ||
MsqVector< 3 > * | derivs | ||
) | [static] |
Definition at line 358 of file TetLagrangeShapeTest.cpp.
References dNdr, dNds, dNdt, MBMesquite::edges, and MBMesquite::NodeSet::mid_edge_node().
Referenced by TetLagrangeShapeTest::test_corner_derivs(), TetLagrangeShapeTest::test_edge_derivs(), TetLagrangeShapeTest::test_face_derivs(), and TetLagrangeShapeTest::test_mid_derivs().
{ for( int i = 0; i < 10; ++i ) { derivs[i][0] = ( *dNdr[i] )( rst[0], rst[1], rst[2] ); derivs[i][1] = ( *dNds[i] )( rst[0], rst[1], rst[2] ); derivs[i][2] = ( *dNdt[i] )( rst[0], rst[1], rst[2] ); } for( int i = 0; i < 6; ++i ) if( !nodeset.mid_edge_node( i ) ) { int j = edges[i][0]; derivs[j][0] += 0.5 * derivs[i + 4][0]; derivs[j][1] += 0.5 * derivs[i + 4][1]; derivs[j][2] += 0.5 * derivs[i + 4][2]; j = edges[i][1]; derivs[j][0] += 0.5 * derivs[i + 4][0]; derivs[j][1] += 0.5 * derivs[i + 4][1]; derivs[j][2] += 0.5 * derivs[i + 4][2]; derivs[i + 4][0] = 0.0; derivs[i + 4][1] = 0.0; derivs[i + 4][2] = 0.0; } }
static double N0 | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double N1 | ( | double | r, |
double | , | ||
double | |||
) | [static] |
Definition at line 152 of file TetLagrangeShapeTest.cpp.
{
return r * ( 2 * r - 1 );
}
static double N2 | ( | double | , |
double | s, | ||
double | |||
) | [static] |
Definition at line 156 of file TetLagrangeShapeTest.cpp.
{
return s * ( 2 * s - 1 );
}
static double N3 | ( | double | , |
double | , | ||
double | t | ||
) | [static] |
Definition at line 160 of file TetLagrangeShapeTest.cpp.
static double N4 | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double N5 | ( | double | r, |
double | s, | ||
double | |||
) | [static] |
Definition at line 169 of file TetLagrangeShapeTest.cpp.
{
return 4 * r * s;
}
static double N6 | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double N7 | ( | double | r, |
double | s, | ||
double | t | ||
) | [static] |
static double N8 | ( | double | r, |
double | , | ||
double | t | ||
) | [static] |
static double N9 | ( | double | , |
double | s, | ||
double | t | ||
) | [static] |
static NodeSet nodeset_from_bits | ( | unsigned | bits | ) | [static] |
Definition at line 621 of file TetLagrangeShapeTest.cpp.
References MBMesquite::NodeSet::set_mid_edge_node(), MBMesquite::NodeSet::set_mid_face_node(), and MBMesquite::NodeSet::set_mid_region_node().
Referenced by TetLagrangeShapeTest::test_coeff_center(), TetLagrangeShapeTest::test_coeff_corners(), TetLagrangeShapeTest::test_coeff_edges(), TetLagrangeShapeTest::test_coeff_faces(), TetLagrangeShapeTest::test_deriv_center(), TetLagrangeShapeTest::test_deriv_corners(), TetLagrangeShapeTest::test_deriv_edges(), and TetLagrangeShapeTest::test_deriv_faces().
{ NodeSet result; for( unsigned i = 0; i < 6; ++i ) if( bits & ( 1 << i ) ) result.set_mid_edge_node( i ); for( unsigned i = 6; i < 10; ++i ) if( bits & ( 1 << i ) ) result.set_mid_face_node( i - 6 ); if( bits & ( 1 << 10 ) ) result.set_mid_region_node(); return result; }
static CppUnit::Message value_message | ( | unsigned | location, |
NodeSet | bits, | ||
double | v1, | ||
double | v2 | ||
) | [inline, static] |
Definition at line 54 of file TetLagrangeShapeTest.cpp.
{ CppUnit::Message m( "equality assertion failed" ); std::ostringstream buffer1; buffer1 << "Expected : " << v1; m.addDetail( buffer1.str() ); std::ostringstream buffer2; buffer2 << "Actual : " << v2; m.addDetail( buffer2.str() ); std::ostringstream buffer3; buffer3 << "Location : "; if( location < 4 ) buffer3 << "Corner " << location; else if( location < 10 ) buffer3 << "Edge " << location - 4; else if( location < 14 ) buffer3 << "Face " << location - 10; else if( location == 14 ) buffer3 << "Mid-element"; else buffer3 << "INVALID!!"; m.addDetail( buffer3.str() ); std::ostringstream buffer4; buffer4 << "Node Bits: " << bits; m.addDetail( buffer4.str() ); return m; }
const N_t dNdr[] = { &dN0dr, &dN1dr, &dN2dr, &dN3dr, &dN4dr, &dN5dr, &dN6dr, &dN7dr, &dN8dr, &dN9dr } [static] |
Definition at line 330 of file TetLagrangeShapeTest.cpp.
Referenced by get_derivs().
const N_t dNds[] = { &dN0ds, &dN1ds, &dN2ds, &dN3ds, &dN4ds, &dN5ds, &dN6ds, &dN7ds, &dN8ds, &dN9ds } [static] |
Definition at line 331 of file TetLagrangeShapeTest.cpp.
Referenced by get_derivs().
const N_t dNdt[] = { &dN0dt, &dN1dt, &dN2dt, &dN3dt, &dN4dt, &dN5dt, &dN6dt, &dN7dt, &dN8dt, &dN9dt } [static] |
Definition at line 332 of file TetLagrangeShapeTest.cpp.
Referenced by get_derivs().
unsigned edges[][2] = { { 0, 1 }, { 1, 2 }, { 2, 0 }, { 0, 3 }, { 1, 3 }, { 2, 3 } } [static] |
Definition at line 343 of file TetLagrangeShapeTest.cpp.
Referenced by adj_perf(), ahf_test(), moab::area_coordinates(), TopologyInfoTest::bad_type(), moab::GeomUtil::box_hex_overlap(), moab::MeshGeneration::BrickInstance(), moab::FBEngine::chain_able_edge(), moab::GeomTopoTool::check_model(), moab::SmoothFace::compute_internal_control_points_on_facets(), moab::DualTool::construct_dual(), moab::DualTool::construct_dual_cells(), moab::TempestRemapper::convert_tempest_mesh_private(), moab::NestedRefine::count_subentities(), moab::ReadCGM::create_curve_facets(), create_fine_mesh(), moab::NCHelperScrip::create_mesh(), moab::ScdNCHelper::create_mesh(), create_mesh(), create_shell_test(), create_simple_mesh(), create_single_entity(), entity_sets_subtest(), moab::DualTool::fs_get_quads(), TopologyInfoTest::hex(), iMOAB_ReadHeaderInfo(), moab::ReadTetGen::load_file(), main(), mb_skin_adjacent_surf_patches(), mb_skin_curve_test_common(), prism_issue(), TopologyInfoTest::pyramid(), TopologyInfoTest::quad(), moab::ScdNCHelper::read_scd_variables_to_nonset_allocate(), moab::NCHelperGCRM::read_ucd_variables_to_nonset_allocate(), moab::NCHelperMPAS::read_ucd_variables_to_nonset_allocate(), moab::BSPTreePoly::set(), MBMesquite::NodeSet::set_all_mid_edge_nodes(), signed_corner_areas(), skin_tris(), test_adjacencies(), test_coords_connect_iterate(), test_gather_sets_common(), QualityMetricTester::test_get_edge_evaluations(), QualityMetricTester::test_get_edge_indices(), TopologyInfoTest::test_poly(), test_read_adjacencies(), test_read_all(), test_read_no_edges(), VtkTest::test_read_quadratic(), test_read_sides(), test_sub_entity_indices_hex(), test_sub_entity_indices_pri(), test_sub_entity_indices_pyr(), test_sub_entity_indices_quad(), test_sub_entity_indices_tet(), test_sub_entity_indices_tri(), test_unitcircle(), test_wedges(), TopologyInfoTest::tet(), TopologyInfoTest::tri(), v_hex_edge_ratio(), v_hex_quality(), v_quad_aspect_ratio(), v_quad_edge_ratio(), v_quad_max_aspect_frobenius(), v_quad_maximum_angle(), v_quad_med_aspect_frobenius(), v_quad_minimum_angle(), v_quad_quality(), v_quad_radius_ratio(), v_quad_scaled_jacobian(), v_quad_shape(), v_quad_stretch(), v_quad_warpage(), v_tet_quality(), TopologyInfoTest::wedge(), and MBMesquite::MeshWriter::write_gnuplot().
const double epsilon = 1e-6 |
Definition at line 50 of file TetLagrangeShapeTest.cpp.
Definition at line 329 of file TetLagrangeShapeTest.cpp.
Referenced by get_coeff(), and get_coeffs().
const double rst_corner[][3] = { { 0, 0, 0 }, { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } } [static] |
Definition at line 334 of file TetLagrangeShapeTest.cpp.
Referenced by TetLagrangeShapeTest::test_corner_coeff(), and TetLagrangeShapeTest::test_corner_derivs().
const double rst_edge[][3] [static] |
{ { 0.5, 0.0, 0.0 }, { 0.5, 0.5, 0.0 }, { 0.0, 0.5, 0.0 }, { 0.0, 0.0, 0.5 }, { 0.5, 0.0, 0.5 }, { 0.0, 0.5, 0.5 } }
Definition at line 335 of file TetLagrangeShapeTest.cpp.
Referenced by TetLagrangeShapeTest::test_edge_coeff(), and TetLagrangeShapeTest::test_edge_derivs().
const double rst_face[][3] [static] |
{ { 1. / 3, 0.00, 1. / 3 }, { 1. / 3, 1. / 3, 1. / 3 }, { 0.00, 1. / 3, 1. / 3 }, { 1. / 3, 1. / 3, 0.00 } }
Definition at line 337 of file TetLagrangeShapeTest.cpp.
Referenced by TetLagrangeShapeTest::test_face_coeff(), and TetLagrangeShapeTest::test_face_derivs().
const double rst_mid[3] = { 0.25, 0.25, 0.25 } [static] |
Definition at line 341 of file TetLagrangeShapeTest.cpp.
Referenced by TetLagrangeShapeTest::test_mid_coeff(), and TetLagrangeShapeTest::test_mid_derivs().