PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pism::fem::Element3 Class Reference

#include <Element.hh>

+ Inheritance diagram for pism::fem::Element3:

Classes

struct  GlobalIndex
 

Public Member Functions

template<typename T >
void evaluate (const T *x, T *vals, T *dx, T *dy, T *dz) const
 Given nodal values, compute the values and partial derivatives at the quadrature points. More...
 
GlobalIndex local_to_global (int i, int j, int k, unsigned int n) const
 
GlobalIndex local_to_global (unsigned int n) const
 
template<typename T >
void nodal_values (T const *const *const *x_global, T *result) const
 Extract nodal values for the element (i,j,k) from global array x_global into the element-local array result. More...
 
template<typename T >
void add_contribution (const T *local, T ***y_global) const
 Add the values of element-local contributions y to the global vector y_global. More...
 
template<typename T >
void evaluate (const T *x, T *result) const
 Given nodal values, compute the values at quadrature points. More...
 
void add_contribution (const double *K, Mat J) const
 Add Jacobian contributions. More...
 
- Public Member Functions inherited from pism::fem::Element
 ~Element ()=default
 
int n_chi () const
 
const Germchi (unsigned int q, unsigned int k) const
 
int n_pts () const
 Number of quadrature points. More...
 
double weight (unsigned int q) const
 Weight of the quadrature point q More...
 
template<typename T >
void evaluate (const T *x, T *result) const
 Given nodal values, compute the values at quadrature points. More...
 

Protected Member Functions

 Element3 (const DMDALocalInfo &grid_info, int Nq, int n_chi, int block_size)
 
 Element3 (const Grid &grid, int Nq, int n_chi, int block_size)
 
- Protected Member Functions inherited from pism::fem::Element
 Element (const Grid &grid, int Nq, int n_chi, int block_size)
 
 Element (const DMDALocalInfo &grid_info, int Nq, int n_chi, int block_size)
 
void add_contribution (const double *K, Mat J) const
 Add Jacobian contributions. More...
 
void mark_row_invalid (unsigned int k)
 Mark that the row corresponding to local degree of freedom k should not be updated when inserting into the global residual or Jacobian arrays. More...
 
void mark_col_invalid (unsigned int k)
 Mark that the column corresponding to local degree of freedom k should not be updated when inserting into the global Jacobian arrays. More...
 
void initialize (const double J[3][3], ShapeFunction f, unsigned int n_chi, const std::vector< QuadPoint > &points, const std::vector< double > &W)
 Initialize shape function values and quadrature weights of a 2D physical element. More...
 

Protected Attributes

std::vector< int > m_k_offset
 
int m_k
 
- Protected Attributes inherited from pism::fem::Element
DMDALocalInfo m_grid
 
std::vector< int > m_i_offset
 
std::vector< int > m_j_offset
 
const unsigned int m_n_chi
 
int m_i
 Indices of the current element. More...
 
int m_j
 
const unsigned int m_Nq
 Number of quadrature points. More...
 
const int m_block_size
 
std::vector< Germm_germs
 
std::vector< MatStencil > m_row
 Stencils for updating entries of the Jacobian matrix. More...
 
std::vector< MatStencil > m_col
 
std::vector< double > m_weights
 Quadrature weights for a particular physical element. More...
 

Additional Inherited Members

- Protected Types inherited from pism::fem::Element
typedef Germ(* ShapeFunction) (unsigned int k, const QuadPoint &p)
 
- Static Protected Attributes inherited from pism::fem::Element
static const int m_invalid_dof = -1073741824
 

Detailed Description

Definition at line 271 of file Element.hh.


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