8#ifndef _H1_BERNSTEIN_BEZIER__HPP_ 
    9#define _H1_BERNSTEIN_BEZIER__HPP_ 
   29                                          const int n_alpha, 
const int *alpha,
 
   31                                          const double *grad_lambda,
 
   32                                          double *base, 
double *grad_base);
 
   34      const int N, 
const int n_alpha, 
const int *alpha, 
const int *diff,
 
   35      const int n_alpha_diff, 
const int *alpha_diff, 
double *
c);
 
   49                                         const int n_alpha, 
const int *alpha,
 
   51                                         const double *grad_lambda,
 
   52                                         double *base, 
double *grad_base);
 
   55                              const int *diff, 
const int n_alpha_diff,
 
   56                              const int *alpha_diff, 
double *
c);
 
   71                                         const int n_alpha, 
const int *alpha,
 
   73                                         const double *grad_lambda,
 
   74                                         double *base, 
double *grad_base);
 
   77                              const int *diff, 
const int n_alpha_diff,
 
   78                              const int *alpha_diff, 
double *
c);
 
   94                                       const int n_alpha, 
const int *alpha,
 
   95                                       const double *x_k, 
double *x_alpha);
 
  108  template <
int D, 
int S
ide>
 
  120  template <
int D, 
int S
ide>
 
  132  template <
int D, 
int S
ide>
 
  171                           const int *diff, 
const int n_alpha_diff,
 
  172                           const int *alpha_diff, 
double *
c);
 
  188                                            const int n_alpha, 
const int *alpha,
 
  189                                            const double *x_k, 
double *x_alpha);
 
  206  template <
int D, 
bool GRAD_BASE>
 
  209                const int *alpha, 
const double *
lambda,
 
  210                const double *grad_lambda, 
double *base, 
double *grad_base);
 
 
const double c
speed of light (cm/ns)
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
implementation of Data Operators for Forces and Sources
Evaluating BB polynomial.
static MoFEMErrorCode generateIndicesEdgeOnSimplex(const int N, int *alpha)
Genarte BB incices od simplex edges.
static MoFEMErrorCode baseFunctions(const int N, const int gdim, const int n_alpha, const int *alpha, const double *lambda, const double *grad_lambda, double *base, double *grad_base)
BB base function.
static MoFEMErrorCode generateIndicesTriOnSimplex(const int N, int *alpha)
Generate BB indices on simples triangles.
static MoFEMErrorCode baseFunctionsTri(const int N, const int gdim, const int n_alpha, const int *alpha, const double *lambda, const double *grad_lambda, double *base, double *grad_base)
static MoFEMErrorCode domainPoints(const int N, const int n_x, const int n_alpha, const int *alpha, const double *x_k, double *x_alpha)
Evaluate coordinates of BB points.
static MoFEMErrorCode generateIndicesTetOnSimplex(const int N, int *alpha)
Genarte BB indices on simplex.
static MoFEMErrorCode genrateDerivativeIndicesTri(const int N, const int n_alpha, const int *alpha, const int *diff, const int n_alpha_diff, const int *alpha_diff, double *c)
static MoFEMErrorCode generateIndicesVertexTri(const int N, int *alpha)
static MoFEMErrorCode genrateDerivativeIndicesTet(const int N, const int n_alpha, const int *alpha, const int *diff, const int n_alpha_diff, const int *alpha_diff, double *c)
static MoFEMErrorCode generateIndicesTriTet(const int N[], int *alpha[])
static MoFEMErrorCode generateIndicesVertex(const int N, int *alpha)
Generate BB indices on vertices.
static MoFEMErrorCode genrateDerivativeIndices(const int N, const int n_alpha, const int *alpha, const int *diff, const int n_alpha_diff, const int *alpha_diff, double *c)
Brief calculate coefficients for directive of base functions.
static MoFEMErrorCode baseFunctionsTet(const int N, const int gdim, const int n_alpha, const int *alpha, const double *lambda, const double *grad_lambda, double *base, double *grad_base)
static MoFEMErrorCode baseFunctionsEdge(const int N, const int gdim, const int n_alpha, const int *alpha, const double *lambda, const double *grad_lambda, double *base, double *grad_base)
static MoFEMErrorCode generateIndicesEdgeTet(const int N[], int *alpha[])
static MoFEMErrorCode generateIndicesEdgeEdge(const int N, int *alpha)
static MoFEMErrorCode generateIndicesVertexTet(const int N, int *alpha)
static MoFEMErrorCode generateIndicesTriTri(const int N, int *alpha)
static MoFEMErrorCode domainPoints3d(const int N, const int n_x, const int n_alpha, const int *alpha, const double *x_k, double *x_alpha)
Genrate BB points in 3d.
static MoFEMErrorCode generateIndicesVertexEdge(const int N, int *alpha)
static MoFEMErrorCode generateIndicesTetTet(const int N, int *alpha)
static MoFEMErrorCode generateIndicesEdgeTri(const int N[], int *alpha[])
static MoFEMErrorCode genrateDerivativeIndicesEdges(const int N, const int n_alpha, const int *alpha, const int *diff, const int n_alpha_diff, const int *alpha_diff, double *c)