AdH Kraken 0.0.0
Next generation Adaptive Hydraulics
Loading...
Searching...
No Matches
fe_integrals_2d.c File Reference
#include "adh.h"

Functions

void extractNodesQuad (SVECT *v, double *x1, double *x2, double *x3, double *x4, double *y1, double *y2, double *y3, double *y4)
 
void extractVect2DQuad (SVECT2D *v, double *x1, double *x2, double *x3, double *x4, double *y1, double *y2, double *y3, double *y4)
 
void extractFunctionQuad (double *f, double *f1, double *f2, double *f3, double *f4)
 
double integrate_triangle_f (double djac, double c, double *f)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $. More...
 
double integrate_triangle_f_f (double djac, double c, double *f)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, f(\widehat{x},\widehat{y})^2 \big) d\widehat{y}\,d\widehat{x} $. More...
 
void integrate_triangle_phi_f (double djac, double c, double *f, double *integral)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $. More...
 
void integrate_triangle_phi_f_lump (double djac, double c, double *f, double *integral)
 Peforms following *lumped triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f_i  \big)  d\widehat{y}\,d\widehat{x}$. More...
 
void integrate_triangle_gradPhi_dot_vbar (SVECT2D *grad_shp, double djac, double c, SVECT2D vbar, double *integral)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c\, \mathbf{\nabla} \phi_i(\widehat{x},\widehat{y}) \cdot \mathbf{\overline{v}}  \big)  d\widehat{y}\,d\widehat{x}$. More...
 
void integrate_triangle_phi_h_g_df (double djac, double c, double *h, double *g, SVECT2D df, double *integral_x, double *integral_y)
 Peforms following triangular integration: More...
 
void grad2d_phi_f (SVECT2D *grad_phi, double *f, SVECT2D *grad, int ndof)
 Calculates 2D grad(phi) times a function. More...
 
void grad2d_phi_dot_v (SVECT2D *grad_phi, SVECT2D *v, SVECT2D *grad_x, SVECT2D *grad_y, int ndof)
 Calculates grad(phi) times a 2D vector. More...
 
void integrate_triangle_gradPhi_dot_v (SVECT2D *grad_shp, double djac, double c, SVECT2D *v, double *integral)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \mathbf{\nabla} \phi_i(\widehat{x},\widehat{y}) \cdot \mathbf{v(\widehat{x},\widehat{y})}  \big)  d\widehat{y}\,d\widehat{x}$. More...
 
double integrate_quadrilateral_area (SVECT *nd, double c)
 Peforms following triangular integration: $ \int_{-1}^{1} \int_{-1}^{1} c \, d\widehat{y}\,d\widehat{x} $. More...
 
double integrate_quadrilateral_f (SVECT *nd, double c, double *f)
 Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}  $. More...
 
SVECT2D integrate_quadrilateral_gradF (SVECT *nd, double c, double *f)
 Peforms following quadrilateral integration: More...
 
void integrate_triangle_gradPhi_dot_f_v (SVECT2D *grad_shp, double djac, double c, double *f, SVECT2D *v, double *integral)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (f(\widehat{x},\widehat{y}) \, \mathbf{v(\widehat{x},\widehat{y})})  \big)  d\widehat{y}\,d\widehat{x}$. More...
 
void integrate_triangle_gradPhi_dot_f_g_v (SVECT2D *grad_shp, double djac, double c, double *f, double *g, SVECT2D *v, double *integral)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y})  \, \mathbf{v(\widehat{x},\widehat{y})})  \big)  d\widehat{y}\,d\widehat{x}$. More...
 
void integrate_triangle_dphi_f_g_h (SVECT2D *grad_shp, double djac, double c, double *f, double *g, double *h, double *integral_x, double *integral_y)
 Peforms following triangular integration: More...
 
void integrate_triangle_dphi_f_f_h (SVECT2D *grad_shp, double djac, double c, double *f, double *h, double *integral_x, double *integral_y)
 Peforms following EITHER triangular integration: More...
 
void integrate_triangle_phi (double djac, double c, double *integral)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $. More...
 
void integrate_triangle_dphi_f_f (SVECT2D *grad_shp, double djac, double c, double *f, double *integral_x, double *integral_y)
 Peforms following triangular integration: More...
 
void integrate_triangle_phi_h_df (double djac, double c, double *h, SVECT2D df, double *integral_x, double *integral_y)
 Peforms following triangular integration: More...
 
void integrate_triangle_phi_f_g (double djac, double c, double *f, double *g, double *integral)
 Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $. More...
 
void integrate_quadrilateral_gradPhi_dot_f_v (SVECT *nd, double c, double *f, SVECT2D *v, double *integral)
 Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (g(\widehat{x},\widehat{y}) \, \mathbf{v(\widehat{x},\widehat{y})})  \big) d\widehat{y}\,d\widehat{x}   $. More...
 
void integrate_quadrilateral_gradPhi_dot_f_g_v (SVECT *nd, double c, double *f, double *g, SVECT2D *v, double *integral)
 Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y}) \, \mathbf{v(\widehat{x},\widehat{y})})  \big) d\widehat{y}\,d\widehat{x}   $. More...
 
void integrate_quadrilateral_phi_f (SVECT *nd, double c, double *f, double *integral)
 Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}   $. More...
 
void integrate_quadrilateral_phi (SVECT *nd, double c, double *integral)
 Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}  $. More...
 
void integrate_quadrilateral_phi_f_lump (SVECT *nd, double c, double *f, double *integral)
 Peforms following *lumped quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f_i  \big)  d\widehat{y}\,d\widehat{x}$. More...
 
double get_quadrilateral_linear_djac2d (double xhat, double yhat, SVECT *nd)
 
double get_quadrilateral_linear_djac_gradPhi (double xhat, double yhat, SVECT *nd, SVECT *grad_shp)
 
void integrate_quadrilateral_gradPhi_dot_Dv (SVECT *nd, SQUAD *quad, double c, STENSOR2DAI T, SVECT2D *v, double *integral_x, double *integral_y)
 Peforms following quadrilateral integration: More...
 
void integrate_quadrilateral_phi_f_g (SVECT *nd, double c, double *f, double *g, double *integral)
 Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y})\, g(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}   $. More...
 
void integrate_quadrilateral_dphi_f_f (SVECT *nd, double c, double *f, double *integral_x, double *integral_y)
 Peforms following quadrilateral integration: More...
 
void integrate_quadrilateral_dphi_f_h_h (SVECT *nd, double c, double *f, double *h, double *integral_x, double *integral_y)
 Peforms following quadrilateral integration: More...
 
void integrate_quadrilateral_phi_h_g_df (SVECT *nd, double c, double *df, double *h, double *g, double *integral_x, double *integral_y)
 Peforms following quadrilateral integration: More...
 
void integrate_quadrilateral_gradPhi_dot_vbar (SVECT *nd, double c, SVECT2D vbar, double *integral)
 Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \mathbf{\nabla} \phi_i(\widehat{x},\widehat{y}) \cdot \mathbf{\overline{v}}  \big) d\widehat{y}\,d\widehat{x}   $. More...
 
void integrate_quadrilateral_phi_h_df (SVECT *nd, double c, double *df, double *h, double *integral_x, double *integral_y)
 Peforms following quadrilateral integration: More...
 
double integrate_quadZ_f (SVECT *nd, double c, double *f)
 Peforms following *vertical quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, f(\widehat{s},\widehat{t}) \big) d\widehat{s}\,d\widehat{t}   $. More...
 

Detailed Description

This file collections functions responsible for the 2D FE integrations

Function Documentation

◆ grad2d_phi_dot_v()

void grad2d_phi_dot_v ( SVECT2D grad_phi,
SVECT2D v,
SVECT2D grad_x,
SVECT2D grad_y,
int  ndof 
)
inline

Calculates grad(phi) times a 2D vector.

Author
Corey Trahan, Ph.D.
Gaurav Savant, Ph.D.
Bug:
none
Warning
none
Parameters
[out]grad_xa 2D vector array of values for grad(phi) * u
[out]grad_ya 2D vector array of values for grad(phi) * v
[out]grad_za 2D vector array of values for grad(phi) * w
[in]grad_phian array of cartesian space shape function gradients on the element
[in]va 2D vector array
[in]ndofthe number of nodes on the element

\begin{eqnarray*}
 \bbnabla u = \bbnabla(\sum\limits_{i}{\phidd{i} * u_i}) = \sum\limits_{i}{\bbnabla\phidd{i} * u_i}
 \bbnabla v = \bbnabla(\sum\limits_{i}{\phidd{i} * v_i}) = \sum\limits_{i}{\bbnabla\phidd{i} * v_i}
 \bbnabla w = \bbnabla(\sum\limits_{i}{\phidd{i} * w_i}) = \sum\limits_{i}{\bbnabla\phidd{i} * w_i}
\end{eqnarray*}

Note

◆ grad2d_phi_f()

void grad2d_phi_f ( SVECT2D grad_phi,
double *  f,
SVECT2D grad,
int  ndof 
)
inline

Calculates 2D grad(phi) times a function.

Author
Corey Trahan, Ph.D.
Gaurav Savant, Ph.D.
Bug:
none
Warning
none
Parameters
[out]grada 2D vector array of values for grad(phi) * f
[in]grad_phian array of cartesian space shape function gradients on the element
[in]fa double array
[in]ndofthe number of nodes on the element

\begin{eqnarray*}
 \bbnabla f = \bbnabla(\sum\limits_{i}{\phidd{i} * f_i}) = \sum\limits_{i}{\bbnabla\phidd{i} * f_i}
\end{eqnarray*}

Note

◆ integrate_quadrilateral_area()

double integrate_quadrilateral_area ( SVECT nd,
double  c 
)
inline

Peforms following triangular integration: $ \int_{-1}^{1} \int_{-1}^{1} c \, d\widehat{y}\,d\widehat{x} $.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_dphi_f_f()

void integrate_quadrilateral_dphi_f_f ( SVECT nd,
double  c,
double *  f,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following quadrilateral integration:

\begin{eqnarray*}
 integral_x &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{x} \, f(\widehat{x},\widehat{y})^2\bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{y} \, f(\widehat{x},\widehat{y})^2\bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_dphi_f_h_h()

void integrate_quadrilateral_dphi_f_h_h ( SVECT nd,
double  c,
double *  f,
double *  h,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following quadrilateral integration:

\begin{eqnarray*}
 integral_x &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{x} \, f(\widehat{x},\widehat{y})\, h(\widehat{x},\widehat{y})^2\bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{y} \, f(\widehat{x},\widehat{y})\, h(\widehat{x},\widehat{y})^2\bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_f()

double integrate_quadrilateral_f ( SVECT nd,
double  c,
double *  f 
)
inline

Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}  $.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_gradF()

SVECT2D integrate_quadrilateral_gradF ( SVECT nd,
double  c,
double *  f 
)
inline

Peforms following quadrilateral integration:

\begin{eqnarray*}
 f.x &=& \int_{-1}^{1} \int_{-1}^{1} \big( c \, \frac{\partial f(\widehat{x},\widehat{y})}{\partial x} \big) d\widehat{y}\,d\widehat{x} \\
 f.y &=& \int_{-1}^{1} \int_{-1}^{1} \big( c \, \frac{\partial f(\widehat{x},\widehat{y})}{\partial y} \big) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_gradPhi_dot_Dv()

void integrate_quadrilateral_gradPhi_dot_Dv ( SVECT nd,
SQUAD quad,
double  c,
STENSOR2DAI  T,
SVECT2D v,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following quadrilateral integration:

\begin{eqnarray*}
  integral_x &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (\mathbf{D(\mathbf{\nabla}\mathbf{u}(\widehat{x},\widehat{y}))}) \bigg) d\widehat{y}\,d\widehat{x} \\
  integral_y &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (\mathbf{D(\mathbf{\nabla}\mathbf{v}(\widehat{x},\widehat{y}))}) \bigg) d\widehat{y}\,d\widehat{x}
 \end{eqnarray*}


where
$ D_x = \sigma_{xx} \, \frac{\partial u}{\partial x} + \sigma_{xy} \, \frac{\partial u}{\partial y} $
$ D_y = \sigma_{xy} \, \frac{\partial v}{\partial x} + \sigma_{yy} \, \frac{\partial v}{\partial y} $

Author
Corey Trahan, Ph.D.
Note
CJT :: Used for vector (momentum) A/D equations w/ potential anisotropic diffusion
CJT :: Use quadrature here, since dphi * dphi integrals will not solve analytically

◆ integrate_quadrilateral_gradPhi_dot_f_g_v()

void integrate_quadrilateral_gradPhi_dot_f_g_v ( SVECT nd,
double  c,
double *  f,
double *  g,
SVECT2D v,
double *  integral 
)
inline

Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y}) \, \mathbf{v(\widehat{x},\widehat{y})})  \big) d\widehat{y}\,d\widehat{x}   $.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_gradPhi_dot_f_v()

void integrate_quadrilateral_gradPhi_dot_f_v ( SVECT nd,
double  c,
double *  f,
SVECT2D v,
double *  integral 
)
inline

Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (g(\widehat{x},\widehat{y}) \, \mathbf{v(\widehat{x},\widehat{y})})  \big) d\widehat{y}\,d\widehat{x}   $.

Author
Corey Trahan, Ph.D.
Note
CJT :: 2D convection type integrals

◆ integrate_quadrilateral_gradPhi_dot_vbar()

void integrate_quadrilateral_gradPhi_dot_vbar ( SVECT nd,
double  c,
SVECT2D  vbar,
double *  integral 
)
inline

Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \mathbf{\nabla} \phi_i(\widehat{x},\widehat{y}) \cdot \mathbf{\overline{v}}  \big) d\widehat{y}\,d\widehat{x}   $.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_phi()

void integrate_quadrilateral_phi ( SVECT nd,
double  c,
double *  integral 
)
inline

Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}  $.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_phi_f()

void integrate_quadrilateral_phi_f ( SVECT nd,
double  c,
double *  f,
double *  integral 
)
inline

Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}   $.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_phi_f_g()

void integrate_quadrilateral_phi_f_g ( SVECT nd,
double  c,
double *  f,
double *  g,
double *  integral 
)
inline

Peforms following quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y})\, g(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x}   $.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_phi_f_lump()

void integrate_quadrilateral_phi_f_lump ( SVECT nd,
double  c,
double *  f,
double *  integral 
)
inline

Peforms following *lumped quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f_i  \big)  d\widehat{y}\,d\widehat{x}$.

Author
Corey Trahan, Ph.D.

◆ integrate_quadrilateral_phi_h_df()

void integrate_quadrilateral_phi_h_df ( SVECT nd,
double  c,
double *  df,
double *  h,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following quadrilateral integration:

\begin{eqnarray*}
 integral_x &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial \f(\widehat{x},\widehat{y})}{x} \, h(\widehat{x},\widehat{y}) \bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial \f(\widehat{x},\widehat{y})}{y} \, h(\widehat{x},\widehat{y}) \bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.
Note
CJT :: SW 2D pressure body integral

◆ integrate_quadrilateral_phi_h_g_df()

void integrate_quadrilateral_phi_h_g_df ( SVECT nd,
double  c,
double *  df,
double *  h,
double *  g,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following quadrilateral integration:

\begin{eqnarray*}
 integral_x &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial \f(\widehat{x},\widehat{y})}{x} \, g(\widehat{x},\widehat{y})\, h(\widehat{x},\widehat{y}) \bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=& \int_{-1}^{1} \int_{-1}^{1} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial \f(\widehat{x},\widehat{y})}{y} \, g(\widehat{x},\widehat{y})\, h(\widehat{x},\widehat{y}) \bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.
Note
CJT :: SW 2D pressure density body integral

◆ integrate_quadZ_f()

double integrate_quadZ_f ( SVECT nd,
double  c,
double *  f 
)
inline

Peforms following *vertical quadrilateral integration: $ \int_{-1}^{1} \int_{-1}^{1} \big( c \, f(\widehat{s},\widehat{t}) \big) d\widehat{s}\,d\widehat{t}   $.

Author
Corey Trahan, Ph.D.
Note
CJT :: for this integration to be correct, grid must be in column format and numbered correctly. (i.e. x3 = x2, y3 = y2, x4 = x1, y4 = y1)
CJT :: negative on t1 here because of ordering of nodes

◆ integrate_triangle_dphi_f_f()

void integrate_triangle_dphi_f_f ( SVECT2D grad_shp,
double  djac,
double  c,
double *  f,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following triangular integration:

\begin{eqnarray*}
 integral_x &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{x} \, f(\widehat{x},\widehat{y})^2\bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{y} \, f(\widehat{x},\widehat{y})^2\bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_dphi_f_f_h()

void integrate_triangle_dphi_f_f_h ( SVECT2D grad_shp,
double  djac,
double  c,
double *  f,
double *  h,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following EITHER triangular integration:

\begin{eqnarray*}
 integral_x &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{x} \, f(\widehat{x},\widehat{y})^2 \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{y} \, f(\widehat{x},\widehat{y})^2 \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.
Note
CJT :: null pointers decide which derivative direction for output

◆ integrate_triangle_dphi_f_g_h()

void integrate_triangle_dphi_f_g_h ( SVECT2D grad_shp,
double  djac,
double  c,
double *  f,
double *  g,
double *  h,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following triangular integration:

\begin{eqnarray*}
 integral_x &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{x} \, f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y}) \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \frac{\partial \phi_i(\widehat{x},\widehat{y})}{y} \, f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y}) \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_f()

double integrate_triangle_f ( double  djac,
double  c,
double *  f 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_f_f()

double integrate_triangle_f_f ( double  djac,
double  c,
double *  f 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, f(\widehat{x},\widehat{y})^2 \big) d\widehat{y}\,d\widehat{x} $.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_gradPhi_dot_f_g_v()

void integrate_triangle_gradPhi_dot_f_g_v ( SVECT2D grad_shp,
double  djac,
double  c,
double *  f,
double *  g,
SVECT2D v,
double *  integral 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y})  \, \mathbf{v(\widehat{x},\widehat{y})})  \big)  d\widehat{y}\,d\widehat{x}$.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_gradPhi_dot_f_v()

void integrate_triangle_gradPhi_dot_f_v ( SVECT2D grad_shp,
double  djac,
double  c,
double *  f,
SVECT2D v,
double *  integral 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \mathbf{\nabla}\phi_i(\widehat{x},\widehat{y}) \cdot (f(\widehat{x},\widehat{y}) \, \mathbf{v(\widehat{x},\widehat{y})})  \big)  d\widehat{y}\,d\widehat{x}$.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_gradPhi_dot_v()

void integrate_triangle_gradPhi_dot_v ( SVECT2D grad_shp,
double  djac,
double  c,
SVECT2D v,
double *  integral 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \mathbf{\nabla} \phi_i(\widehat{x},\widehat{y}) \cdot \mathbf{v(\widehat{x},\widehat{y})}  \big)  d\widehat{y}\,d\widehat{x}$.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_gradPhi_dot_vbar()

void integrate_triangle_gradPhi_dot_vbar ( SVECT2D grad_shp,
double  djac,
double  c,
SVECT2D  vbar,
double *  integral 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c\, \mathbf{\nabla} \phi_i(\widehat{x},\widehat{y}) \cdot \mathbf{\overline{v}}  \big)  d\widehat{y}\,d\widehat{x}$.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_phi()

void integrate_triangle_phi ( double  djac,
double  c,
double *  integral 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_phi_f()

void integrate_triangle_phi_f ( double  djac,
double  c,
double *  f,
double *  integral 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_phi_f_g()

void integrate_triangle_phi_f_g ( double  djac,
double  c,
double *  f,
double *  g,
double *  integral 
)
inline

Peforms following triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f(\widehat{x},\widehat{y}) \, g(\widehat{x},\widehat{y})\big) d\widehat{y}\,d\widehat{x} $.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_phi_f_lump()

void integrate_triangle_phi_f_lump ( double  djac,
double  c,
double *  f,
double *  integral 
)
inline

Peforms following *lumped triangular integration: $  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \big( c \, \phi_i(\widehat{x},\widehat{y}) \, f_i  \big)  d\widehat{y}\,d\widehat{x}$.

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_phi_h_df()

void integrate_triangle_phi_h_df ( double  djac,
double  c,
double *  h,
SVECT2D  df,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following triangular integration:

\begin{eqnarray*}
 integral_x &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial f(\widehat{x},\widehat{y})}{x} \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial f(\widehat{x},\widehat{y})}{y} \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.

◆ integrate_triangle_phi_h_g_df()

void integrate_triangle_phi_h_g_df ( double  djac,
double  c,
double *  h,
double *  g,
SVECT2D  df,
double *  integral_x,
double *  integral_y 
)
inline

Peforms following triangular integration:

\begin{eqnarray*}
 integral_x &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial f(\widehat{x},\widehat{y})}{x} \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x} \\
 integral_y &=&  \int_{0}^{1} \int_{0}^{1-\widehat{x}} \bigg(c \, \phi_i(\widehat{x},\widehat{y}) \, \frac{\partial f(\widehat{x},\widehat{y})}{y} \, h(\widehat{x},\widehat{y})\bigg) d\widehat{y}\,d\widehat{x}
\end{eqnarray*}

Author
Corey Trahan, Ph.D.