Intrepid::CubatureTemplate Struct Reference

Template for the cubature rules used by Intrepid. Cubature template consists of cubature points and cubature weights. Intrepid provides a collection of cubature templates for most standard cell topologies. The templates are defined in reference coordinates using a standard reference cell for each canonical cell type. Cubature points are always specified by a triple of (X,Y,Z) coordinates even if the cell dimension is less than 3. The unused dimensions should be padded by zeroes. More...

#include <Intrepid_Types.hpp>

List of all members.

Public Attributes

int numPoints_
 Number of cubature points stored in the template.
double points_ [INTREPID_MAX_INTEGRATION_POINTS][INTREPID_MAX_DIMENSION]
 Array with the (X,Y,Z) coordinates of the cubature points.
double weights_ [INTREPID_MAX_INTEGRATION_POINTS]
 Array with the associated cubature weights.

Detailed Description

Template for the cubature rules used by Intrepid. Cubature template consists of cubature points and cubature weights. Intrepid provides a collection of cubature templates for most standard cell topologies. The templates are defined in reference coordinates using a standard reference cell for each canonical cell type. Cubature points are always specified by a triple of (X,Y,Z) coordinates even if the cell dimension is less than 3. The unused dimensions should be padded by zeroes.

For example, a set of Gauss rules on [-1,1] looks as the following array of CubatureTemplate structs:

  cubature_rule[4] =
  {                                         // Collection of Gauss rules on [-1,1]
    {
      1,                                      ----> number of points in the rule
      {{0.0,0.0,0.0}},                        ----> X,Y,Z coordinates of the cubature points  
      {0.5}                                   ----> the cubature weight
    },
    {
      2,
      {{-sqrt(1.0/3.0),0.0,0.0},
       {+sqrt(1.0/3.0),0.0,0.0}},
      {1.0,1.0}
    },
    {
      3,
      {{-sqrt(3.0/5.0),0.0,0.0},
       {0.0,0.0,0.0},
       {+sqrt(3.0/5.0),0.0,0.0}},
      {5.0/9.0, 8.0/9.0,5.0/9.0}
    },
    {
      4,
      {{-sqrt((3.0+4.0*sqrt(0.3))/7.0),0.0,0.0},
       {-sqrt((3.0-4.0*sqrt(0.3))/7.0),0.0,0.0},
       {+sqrt((3.0-4.0*sqrt(0.3))/7.0),0.0,0.0},
       {+sqrt((3.0+4.0*sqrt(0.3))/7.0),0.0,0.0}},
      //
      {0.5-sqrt(10.0/3.0)/12.0,
       0.5+sqrt(10.0/3.0)/12.0,
       0.5+sqrt(10.0/3.0)/12.0,
       0.5-sqrt(10.0/3.0)/12.0}
    }  
  };  // end Gauss
  

Also see data member documentation.

Definition at line 484 of file Intrepid_Types.hpp.


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

Generated on Tue Oct 20 15:10:05 2009 for Intrepid by  doxygen 1.6.1