proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis > Class Template Reference

#include </work/cekees/proteus/proteus/equivalent_polynomials.h>

Public Member Functions

 Simplex (bool useExact=true)
int calculate (const double *phi_dof, const double *phi_nodes, const double *xi_r, double ma, double mb, double jf, bool isBoundary, bool scale)
int calculate (const double *phi_dof, const double *phi_nodes, const double *xi_r, double ma, double mb, bool isBoundary, bool scale)
int calculate (const double *phi_dof, const double *phi_nodes, const double *xi_r, bool isBoundary)
void set_quad (unsigned int q)
void set_boundary_quad (unsigned int ebq)
double * get_H ()
double * get_ImH ()
double * get_D ()
double H (double eps, double phi)
double ImH (double eps, double phi)
double D (double eps, double phi)
double VA (int i)
double VA_x (int i)
double VA_y (int i)
double VA_z (int i)
double VB (int i)
double VB_x (int i)
double VB_y (int i)
double VB_z (int i)
double * get_normal ()

Public Attributes

bool inside_out = false
bool quad_cut = false
double phi_dof_corrected [nDOF_phi] = {}
double cut_barycenter [3] = {0., 0., 0.}
int edge = 0
int corner = 0
bool split = false
bool flip_the_cell = false

Static Public Attributes

static const unsigned int nN = nSpace + 1
static const unsigned int nDOF_phi = (useIfemBasis && nP_ifem > nN) ? nP_ifem : nN

Detailed Description

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
class equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >

Definition at line 97 of file equivalent_polynomials.h.

Constructor & Destructor Documentation

◆ Simplex()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::Simplex ( bool useExact = true)
inline

Definition at line 100 of file equivalent_polynomials.h.

Member Function Documentation

◆ calculate() [1/3]

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
int equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::calculate ( const double * phi_dof,
const double * phi_nodes,
const double * xi_r,
bool isBoundary )
inline

Definition at line 123 of file equivalent_polynomials.h.

◆ calculate() [2/3]

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
int equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::calculate ( const double * phi_dof,
const double * phi_nodes,
const double * xi_r,
double ma,
double mb,
bool isBoundary,
bool scale )
inline

Definition at line 118 of file equivalent_polynomials.h.

◆ calculate() [3/3]

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis>
int equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::calculate ( const double * phi_dof,
const double * phi_nodes,
const double * xi_r,
double ma,
double mb,
double jf,
bool isBoundary,
bool scale )
inline

Definition at line 1052 of file equivalent_polynomials.h.

◆ D()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::D ( double eps,
double phi )
inline

Definition at line 231 of file equivalent_polynomials.h.

◆ get_D()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double * equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::get_D ( )
inline

Definition at line 228 of file equivalent_polynomials.h.

◆ get_H()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double * equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::get_H ( )
inline

Definition at line 226 of file equivalent_polynomials.h.

◆ get_ImH()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double * equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::get_ImH ( )
inline

Definition at line 227 of file equivalent_polynomials.h.

◆ get_normal()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double * equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::get_normal ( )
inline

Definition at line 240 of file equivalent_polynomials.h.

◆ H()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::H ( double eps,
double phi )
inline

Definition at line 229 of file equivalent_polynomials.h.

◆ ImH()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::ImH ( double eps,
double phi )
inline

Definition at line 230 of file equivalent_polynomials.h.

◆ set_boundary_quad()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
void equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::set_boundary_quad ( unsigned int ebq)
inline

Definition at line 179 of file equivalent_polynomials.h.

◆ set_quad()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
void equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::set_quad ( unsigned int q)
inline

Definition at line 128 of file equivalent_polynomials.h.

◆ VA()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VA ( int i)
inline

Definition at line 232 of file equivalent_polynomials.h.

◆ VA_x()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VA_x ( int i)
inline

Definition at line 233 of file equivalent_polynomials.h.

◆ VA_y()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VA_y ( int i)
inline

Definition at line 234 of file equivalent_polynomials.h.

◆ VA_z()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VA_z ( int i)
inline

Definition at line 235 of file equivalent_polynomials.h.

◆ VB()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VB ( int i)
inline

Definition at line 236 of file equivalent_polynomials.h.

◆ VB_x()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VB_x ( int i)
inline

Definition at line 237 of file equivalent_polynomials.h.

◆ VB_y()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VB_y ( int i)
inline

Definition at line 238 of file equivalent_polynomials.h.

◆ VB_z()

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::VB_z ( int i)
inline

Definition at line 239 of file equivalent_polynomials.h.

Member Data Documentation

◆ corner

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
int equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::corner = 0

Definition at line 260 of file equivalent_polynomials.h.

◆ cut_barycenter

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::cut_barycenter[3] = {0., 0., 0.}

Definition at line 259 of file equivalent_polynomials.h.

◆ edge

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
int equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::edge = 0

Definition at line 260 of file equivalent_polynomials.h.

◆ flip_the_cell

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
bool equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::flip_the_cell = false

Definition at line 262 of file equivalent_polynomials.h.

◆ inside_out

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
bool equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::inside_out = false

Definition at line 250 of file equivalent_polynomials.h.

◆ nDOF_phi

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
const unsigned int equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::nDOF_phi = (useIfemBasis && nP_ifem > nN) ? nP_ifem : nN
static

Definition at line 257 of file equivalent_polynomials.h.

◆ nN

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
const unsigned int equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::nN = nSpace + 1
static

Definition at line 251 of file equivalent_polynomials.h.

◆ phi_dof_corrected

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
double equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::phi_dof_corrected[nDOF_phi] = {}

Definition at line 258 of file equivalent_polynomials.h.

◆ quad_cut

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
bool equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::quad_cut = false

Definition at line 250 of file equivalent_polynomials.h.

◆ split

template<int nSpace, int nP_ifem, int nP, int nQ, int nEBQ, bool useIfemBasis = false>
bool equivalent_polynomials::Simplex< nSpace, nP_ifem, nP, nQ, nEBQ, useIfemBasis >::split = false

Definition at line 261 of file equivalent_polynomials.h.


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