43 template<
unsigned NNODE_1D>
44 GaussLobattoLegendre<1, NNODE_1D> QSpectralElement<1, NNODE_1D>::integral;
49 template<
unsigned NNODE_1D>
81 template<
unsigned NNODE_1D>
83 const unsigned&
nplot)
94 outfile <<
"ZONE I=" <<
nplot << std::endl;
98 s[0] = -1.0 +
l * 2.0 / (
nplot - 1);
100 for (
unsigned i = 0;
i <
n_dim;
i++)
118 template<
unsigned NNODE_1D>
120 const int& face_index,
FaceElement* face_element_pt)
205 std::ostringstream error_message;
206 error_message <<
"Face_index should only take "
207 <<
"the values +/-1, not " << face_index << std::endl;
223 template<
unsigned NNODE_1D>
229 template<
unsigned NNODE_1D>
246 for (
unsigned i = 0;
i <
n_dim;
i++)
267 template<
unsigned NNODE_1D>
289 for (
unsigned i = 0;
i <
n_dim;
i++)
304 template<
unsigned NNODE_1D>
306 const int& face_index,
FaceElement* face_element_pt)
430 std::ostringstream error_message;
432 <<
"Face index should only take the values +/- 1 or +/- 2,"
433 <<
" not " << face_index << std::endl;
448 template<
unsigned NNODE_1D>
454 template<
unsigned NNODE_1D>
474 for (
unsigned i = 0;
i <
n_dim;
i++)
495 template<
unsigned NNODE_1D>
521 for (
unsigned i = 0;
i <
n_dim;
i++)
537 template<
unsigned NNODE_1D>
539 const int& face_index,
FaceElement* face_element_pt)
541 oomph_info <<
" WARNING UNTESTED CODE" << std::endl;
752 std::ostringstream error_message;
754 <<
"Face index should only take the values +/- 1, +/- 2 or +/- 3,"
755 <<
" not " << face_index << std::endl;
unsigned nvalue() const
Return number of values stored in data object (incl pinned ones).
bool is_pinned(const unsigned &i) const
Test whether the i-th variable is pinned (1: true; 0: false).
FaceElements are elements that coincide with the faces of higher-dimensional "bulk" elements....
int & normal_sign()
Sign of outer unit normal (relative to cross-products of tangent vectors in the corresponding "bulk" ...
int & face_index()
Index of the face (a number that uniquely identifies the face in the element)
void bulk_node_number_resize(const unsigned &i)
Resize the storage for the bulk node numbers.
BulkCoordinateDerivativesFctPt & bulk_coordinate_derivatives_fct_pt()
Return the pointer to the function that returns the derivatives of the bulk coordinates wrt the face ...
unsigned & nbulk_value(const unsigned &n)
Return the number of values originally stored at local node n (before the FaceElement added additiona...
unsigned & bulk_node_number(const unsigned &n)
Return the bulk node number that corresponds to the n-th local node number.
FiniteElement *& bulk_element_pt()
Pointer to higher-dimensional "bulk" element.
CoordinateMappingFctPt & face_to_bulk_coordinate_fct_pt()
Return the pointer to the function that maps the face coordinate to the bulk coordinate.
void nbulk_value_resize(const unsigned &i)
Resize the storage for the number of values originally stored at the local nodes to i entries.
void set_nodal_dimension(const unsigned &nodal_dim)
Set the dimension of the nodes in the element. This will typically only be required when constructing...
virtual void shape(const Vector< double > &s, Shape &psi) const =0
Calculate the geometric shape functions at local coordinate s. This function must be overloaded for e...
virtual double interpolated_x(const Vector< double > &s, const unsigned &i) const
Return FE interpolated coordinate x[i] at local coordinate s.
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
unsigned nodal_dimension() const
Return the required Eulerian dimension of the nodes in this element.
int Non_halo_proc_ID
Non-halo processor ID for Data; -1 if it's not a halo.
void set_halo(const unsigned &non_halo_proc_ID)
Label the element as halo and specify processor that holds non-halo counterpart.
unsigned ndim() const
Access function to # of Eulerian coordinates.
double & x(const unsigned &i)
Return the i-th nodal coordinate.
static std::map< unsigned, Vector< double > > z
An OomphLibError object which should be thrown when an run-time error is encountered....
General QLegendreElement class.
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...
unsigned required_nvalue(const unsigned &n) const
Access function for Nvalue: # of ‘values’ (pinned or dofs) at node n (always returns the same value a...
TAdvectionDiffusionReactionElement()
Constructor: Call constructors for TElement and AdvectionDiffusionReaction equations.
void faces0(const Vector< double > &s, DenseMatrix< double > &dsbulk_dsface, unsigned &interior_direction)
Function for both faces – the bulk coordinate is fixed on both.
void face1(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the face s0 = 1.0.
void face0(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the face s0 = -1.0.
void faces1(const Vector< double > &s, DenseMatrix< double > &dsbulk_dsface, unsigned &interior_direction)
Function for the north and south faces, along which s1 is fixed.
void faces0(const Vector< double > &s, DenseMatrix< double > &dsbulk_dsface, unsigned &interior_direction)
Function for the east and west faces, along which s0 is fixed.
void face2(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the east face (s0 = 1.0)
void face1(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the south face (s1 = -1.0)
void face0(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the west face (s0 = -1.0)
void face3(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the north face (s1 = 1.0)
void faces2(const Vector< double > &s, DenseMatrix< double > &dsbulk_dsface, unsigned &interior_direction)
Function for the left and right faces, along which s2 is fixed.
void faces0(const Vector< double > &s, DenseMatrix< double > &dsbulk_dsface, unsigned &interior_direction)
Function for the back and front faces, along which s0 is fixed.
void faces1(const Vector< double > &s, DenseMatrix< double > &dsbulk_dsface, unsigned &interior_direction)
Function for the up and down faces, along which s1 is fixed.
void face4(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the up face (s1 = 1.0)
void face1(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the down face (s1 = -1.0)
void face2(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the back face (s2 = -1.0)
void face0(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the left face (s0 = -1.0)
void face5(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the front face (s2 = 1.0)
void face3(const Vector< double > &s, Vector< double > &s_bulk)
The translation scheme for the right face (s0 = 1.0)
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
OomphInfo oomph_info
Single (global) instantiation of the OomphInfo object – this is used throughout the library as a "rep...