NeoPZ
TPZShapeDisc.h
Go to the documentation of this file.
1 
6 #ifndef SHAPEDISCHPP
7 #define SHAPEDISCHPP
8 
9 #include "pzfmatrix.h"
10 #include "pzvec.h"
11 
13 namespace pzshape {
14 
15 
25  class TPZShapeDisc {
26 
27  public:
28 
39  static void Polynomial(REAL C,REAL x0,REAL x,int degree,TPZFMatrix<REAL> & phi,TPZFMatrix<REAL> & dphi, int n = 1);
40 
41  static void PolynomialWithoutScale(REAL C,REAL x0,REAL x,int degree,TPZFMatrix<REAL> & phi,TPZFMatrix<REAL> & dphi, int n = 1);
42 
43  static void IntegratedLegendre(REAL C,REAL x0,REAL x,int degree,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi, int n = 1);
44 
45  static void Legendre(REAL C,REAL x0,REAL x,int degree,TPZFMatrix<REAL> & phi,TPZFMatrix<REAL> & dphi, int n = 1);
46 
47  static void ChebyshevWithoutScale(REAL C,REAL x0,REAL x,int degree,TPZFMatrix<REAL> & phi,TPZFMatrix<REAL> & dphi, int n = 1);
48 
49  static void LegendreWithoutScale(REAL C,REAL x0,REAL x,int degree,TPZFMatrix<REAL> & phi,TPZFMatrix<REAL> & dphi, int n = 1);
50 
56  static void (*fOrthogonal)(REAL C, REAL x0, REAL x,int degree, TPZFMatrix<REAL> & phi, TPZFMatrix<REAL> & dphi, int n);
57 
58  public:
59 
61 
62  TPZShapeDisc();
63 
64  TPZShapeDisc(const TPZShapeDisc &copy);
65 
66  ~TPZShapeDisc();
67 
68  static void Shape(int dimension, REAL C,TPZVec<REAL> &X0,TPZVec<REAL> &X,int degree,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi, MShapeType type);
69 
80  static void Shape(int &dimension,int &degree,TPZVec<REAL> &qsi, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi,MShapeType type);
81 
82 
83 
85  static int NShapeF(int degree, int dimension, MShapeType type);
86 
88  static void Shape0D(REAL C,TPZVec<REAL> &X0,TPZVec<REAL> &X,int degree,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi);
89 
91  static void Shape1D(REAL C,TPZVec<REAL> &X0,TPZVec<REAL> &X,int degree,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi);
92 
94  static void Shape2D(REAL C,TPZVec<REAL> &X0,TPZVec<REAL> &X,int degree,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi, MShapeType type);
95 
97  static void Shape2DFull(REAL C,TPZVec<REAL> &X0,TPZVec<REAL> &X,int degree,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi, MShapeType type);
98 
100  static void Shape3D(REAL C,TPZVec<REAL> &X0,TPZVec<REAL> &X,int degree,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi, MShapeType type);
101 
102  };
103 
104 };
105 
106 #endif
clarg::argInt dimension("-d", "Matrices dimension M x M", 1000)
Templated vector implementation.
groups all classes dedicated to the computation of shape functions
Definition: pzshapeextend.h:16
void degree(int root, int adj_num, int adj_row[], int adj[], int mask[], int deg[], int *iccsze, int ls[], int node_num)
Definition: rcm.cpp:875
static void Legendre(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n=1)
static void Polynomial(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n=1)
Polynomial shape function.
static void Shape(int dimension, REAL C, TPZVec< REAL > &X0, TPZVec< REAL > &X, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, MShapeType type)
static void LegendreWithoutScale(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n=1)
static void Shape2D(REAL C, TPZVec< REAL > &X0, TPZVec< REAL > &X, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, MShapeType type)
Discontinous bases of the two-dimensional elements.
Contains TPZMatrixclass which implements full matrix (using column major representation).
static void IntegratedLegendre(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n=1)
static void PolynomialWithoutScale(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n=1)
static void Shape0D(REAL C, TPZVec< REAL > &X0, TPZVec< REAL > &X, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Discontinous polynomials of the line element.
static void Shape3D(REAL C, TPZVec< REAL > &X0, TPZVec< REAL > &X, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, MShapeType type)
Discontinous bases of the three-dimensional elements.
static void(* fOrthogonal)(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n)
Pointer to orthogonal function to use as shape function.
Definition: TPZShapeDisc.h:56
Implements the shape functions discontinuous elements. Shape.
Definition: TPZShapeDisc.h:25
static void ChebyshevWithoutScale(REAL C, REAL x0, REAL x, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int n=1)
static int NShapeF(int degree, int dimension, MShapeType type)
Number of shapefunctions dependent on the dimension and order of interpolation.
static void Shape1D(REAL C, TPZVec< REAL > &X0, TPZVec< REAL > &X, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Discontinous polynomials of the line element.
static void Shape2DFull(REAL C, TPZVec< REAL > &X0, TPZVec< REAL > &X, int degree, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, MShapeType type)
Discontinous bases of the two-dimensional elements with many derivatives!