PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
Q1 element with sides parallel to X and Y axes. More...
#include <Element.hh>
Public Member Functions | |
Q1Element2 (const Grid &grid, const Quadrature &quadrature) | |
Q1Element2 (const DMDALocalInfo &grid_info, double dx, double dy, const Quadrature &quadrature) | |
Public Member Functions inherited from pism::fem::Element2 | |
void | reset (int i, int j) |
Initialize the Element to element (i , j ) for the purposes of inserting into global residual and Jacobian arrays. More... | |
void | local_to_global (unsigned int k, int &i, int &j) const |
Convert a local degree of freedom index k to a global degree of freedom index (i ,j ). More... | |
Vector2d | normal (unsigned int side) const |
unsigned int | n_sides () const |
double | side_length (unsigned int side) const |
template<typename T > | |
void | evaluate (const T *x, T *vals, T *dx, T *dy) |
Given nodal values, compute the values and partial derivatives at the quadrature points. More... | |
void | nodal_values (const array::Scalar &x_global, int *result) const |
Get nodal values of an integer mask. More... | |
template<typename T > | |
void | nodal_values (T const *const *x_global, T *result) const |
Extract nodal values for the element (i ,j ) 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... | |
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::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... | |
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::Element2 | |
Element2 (const Grid &grid, int Nq, int n_chi, int block_size) | |
Element2 (const DMDALocalInfo &grid_info, 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::Element2 | |
std::vector< Vector2d > | m_normals |
std::vector< double > | m_side_lengths |
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 |
Q1 element with sides parallel to X and Y axes.
Definition at line 257 of file Element.hh.