Intrepid
Public Attributes | List of all members
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>

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 506 of file Intrepid_Types.hpp.


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