20 #ifndef BLATTERTESTCFBC_H
21 #define BLATTERTESTCFBC_H
23 #include "pism/stressbalance/blatter/Blatter.hh"
26 namespace stressbalance {
44 const double *surface,
54 const double *tauc_nodal,
55 const double *f_nodal,
60 const double *tauc_nodal,
61 const double *f_nodal,
std::shared_ptr< const Grid > grid() const
This class represents a 2D vector field (such as ice velocity) at a certain grid point.
void residual_source_term(const fem::Q1Element3 &element, const double *surface, const double *bed, Vector2d *residual)
BlatterTestCFBC(std::shared_ptr< const Grid > grid, int Mz, int coarsening_factor)
void jacobian_basal(const fem::Q1Element3Face &face, const double *tauc_nodal, const double *f_nodal, const Vector2d *u_nodal, double K[2 *fem::q13d::n_chi][2 *fem::q13d::n_chi])
void init_2d_parameters(const Inputs &inputs)
Vector2d u_bc(double x, double y, double z) const
bool dirichlet_node(const DMDALocalInfo &info, const fem::Element3::GlobalIndex &I)
void residual_surface(const fem::Q1Element3 &element, const fem::Q1Element3Face &face, Vector2d *residual)
void residual_basal(const fem::Q1Element3 &element, const fem::Q1Element3Face &face, const double *tauc_nodal, const double *f_nodal, const Vector2d *u_nodal, Vector2d *residual)
const int n_chi
Number of shape functions on a Q1 element.
static double K(double psi_x, double psi_y, double speed, double epsilon)