PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
#include <Element.hh>
Public Member Functions | |
Q1Element3 (const DMDALocalInfo &grid, const Quadrature &quadrature, double dx, double dy, double x_min, double y_min) | |
Q1Element3 (const Grid &grid, const Quadrature &quadrature) | |
void | reset (int i, int j, int k, const double *z) |
double | x (int n) const |
double | y (int n) const |
double | z (int n) const |
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... | |
Public Member Functions inherited from pism::fem::Element3 | |
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 Germ & | chi (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... | |
Private Attributes | |
double | m_dx |
double | m_dy |
double | m_x_min |
double | m_y_min |
double | m_z_nodal [q13d::n_chi] |
std::vector< Germ > | m_chi |
std::vector< QuadPoint > | m_points |
std::vector< double > | m_w |
Additional Inherited Members | |
Protected Types inherited from pism::fem::Element | |
typedef Germ(* | ShapeFunction) (unsigned int k, const QuadPoint &p) |
Protected Member Functions inherited from pism::fem::Element3 | |
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 inherited from pism::fem::Element3 | |
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< Germ > | m_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... | |
Static Protected Attributes inherited from pism::fem::Element | |
static const int | m_invalid_dof = -1073741824 |
3D Q1 element
Definition at line 351 of file Element.hh.