Por lo general, se consultaría un documento o libro para encontrar puntos de integración y pesos para triángulos unitarios y tetraedros. Estoy buscando un método para calcular automáticamente dichos puntos y pesos. El siguiente ejemplo de código de Mathematica calcula los pesos y puntos de integración para elementos de línea de unidad (quad / hexahedron):
unitGaussianQuadraturePoints[points_] := 
  Sort[x /. 
    Solve[Evaluate[LegendreP[points, x] == 0], {x}], ! 
     OrderedQ[N[{#1, #2}]] &];
unitGaussianQuadratureWeights[points_] := 
  Module[{gps, f, int, integr, vars, eqns}, 
   gps = unitGaussianQuadraturePoints[points];
   f[0, 0] := 1;
   f[0., 0] := 1.;
   f[x_, n_] := x^n;
   int = Integrate[f[x, #], x] & /@ Range[0, points - 1];
   integr = Subtract @@@ (int /. x :> {1, -1});
   vars = Table[Unique[c], {Length[gps]}];
   eqns = 
    Table[Plus @@ Thread[Times[vars, f[#, i - 1] & /@ gps]] == 
      integr[[i]], {i, points}];
   Return[(vars /. Solve[eqns, vars])];];
unitGaussianQuadratureWeights[2]
{{1, 1}}
unitGaussianQuadraturePoints[2]
{1/Sqrt[3], -(1/Sqrt[3])}
Estoy buscando un documento / libro que describa algorítmicamente cómo se hace esto para triángulos y / o tetraedros. ¿Alguien puede señalarme alguna información sobre esto? Gracias.
                    
                        symbolic-computation
                                reference-request
                                
                    
                    
                        David Ketcheson
fuente
                
                fuente

{points, weights} = MapThread[Map, {{2 # - 1 &, 2 # &}, Most[NIntegrate`GaussRuleData[n, prec]]}].Transpose[MapAt[2(First /@ #)^2 &, Eigensystem[SparseArray[{Band[{2, 1}] -> #, Band[{1, 2}] -> #}, {n, n}]], {2}]] &[Table[k/Sqrt[(2 k - 1)(2 k + 1)], {k, n - 1}]].Respuestas:
La Encyclopaedia of Cubature Formulas tiene una extensa lista de técnicas para este propósito y referencias asociadas.
fuente
Aquí hay un documento http://journal.library.iisc.ernet.in/vol200405/paper6/rathod.pdf que describe cómo mapear el triángulo unitario al cuadrado estándar de 2 para calcular los pesos y los puntos de muestreo para triángulo en términos de puntos de Gauss-Legendre para el estándar de 2 cuadrados.
fuente