84 q_basis(0, 0) = Sign_edge[0] * std::sqrt(2) *
s[0];
85 q_basis(0, 1) = Sign_edge[0] * std::sqrt(2) *
s[1];
87 q_basis(1, 0) = Sign_edge[1] * (
s[0] - 1);
91 q_basis(2, 1) = Sign_edge[2] * (
s[1] - 1);
265 Sign_edge[0] * std::sqrt(2.0) *
s[0] * (
s[1] -
g2) / (
g1 -
g2);
267 Sign_edge[0] * std::sqrt(2.0) *
s[1] * (
s[1] -
g2) / (
g1 -
g2);
270 Sign_edge[0] * std::sqrt(2.0) *
s[0] * (
s[1] -
g1) / (
g2 -
g1);
272 Sign_edge[0] * std::sqrt(2.0) *
s[1] * (
s[1] -
g1) / (
g2 -
g1);
275 g1_vect = edge_flux_interpolation_point(1, 0);
276 g2_vect = edge_flux_interpolation_point(1, 1);
286 g1_vect = edge_flux_interpolation_point(2, 0);
287 g2_vect = edge_flux_interpolation_point(2, 1);
316 Sign_edge[0] * std::sqrt(2.0) * (3.0 *
s[1] - 2.0 *
g2) / (
g1 -
g2);
318 Sign_edge[0] * std::sqrt(2.0) * (2.0 *
g1 - 3.0 *
s[1]) / (
g1 -
g2);
321 g1_vect = edge_flux_interpolation_point(1, 0);
322 g2_vect = edge_flux_interpolation_point(1, 1);
329 g1_vect = edge_flux_interpolation_point(2, 0);
330 g2_vect = edge_flux_interpolation_point(2, 1);
433 0.5 - std::sqrt(3.0) / 6.0, 0.5 + std::sqrt(3.0) / 6.0};
Class implementing the generic maths of the Darcy equations using Raviart-Thomas elements with both e...
A class that represents a collection of data; each Data object may contain many different individual ...
double value(const unsigned &i) const
Return i-th stored value. This function is not virtual so that it can be inlined. This means that if ...
unsigned add_internal_data(Data *const &data_pt, const bool &fd=true)
Add a (pointer to an) internal data object to the element and return the index required to obtain it ...
Data *& internal_data_pt(const unsigned &i)
Return a pointer to i-th internal data object.
int internal_local_eqn(const unsigned &i, const unsigned &j) const
Return the local equation number corresponding to the j-th value stored at the i-th internal data.
A Class for shape functions. In simple cases, the shape functions have only one index that can be tho...
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
TAdvectionDiffusionReactionElement()
Constructor: Call constructors for TElement and AdvectionDiffusionReaction equations.
Element which solves the Darcy equations using TElements. Geometrically the element is always a six n...
void get_q_basis_local(const Vector< double > &s, Shape &q_basis) const
Return the local form of the q basis at local coordinate s.
int p_local_eqn(const unsigned &n) const
Return the equation number of the n-th pressure degree of freedom.
double p_value(const unsigned &n) const
Return the nth pressure value.
void get_div_q_basis_local(const Vector< double > &s, Shape &div_q_basis_ds) const
Return the local form of the q basis and dbasis/ds at local coordinate s.
~TRaviartThomasDarcyElement()
Destructor.
unsigned np_basis() const
Return the total number of pressure basis functions.
void get_p_basis(const Vector< double > &s, Shape &p_basis) const
Compute the pressure basis.
unsigned P_internal_data_index
The internal data index where the p degrees of freedom are stored.
unsigned nrecovery_order()
Recovery order for Z2 error estimator.
TRaviartThomasDarcyElement()
Constructor.
unsigned Q_internal_data_index
The internal data index where the internal q degrees of freedom are stored.
unsigned nedge_flux_interpolation_point() const
Return the number of flux interpolation points along each edge of the element.
unsigned nq_basis_internal() const
Return the number of internal basis functions for q.
unsigned nq_basis_edge() const
Return the number of edge basis functions for q.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).