40 std::list<std::pair<unsigned long, unsigned>>& dof_lookup_list)
const
43 unsigned n_node = this->
nnode();
46 std::pair<unsigned, unsigned> dof_lookup;
49 unsigned n_node_1d = this->
nnode_1d();
56 std::ostringstream error_message_stream;
60 <<
"Can only deal with Navier-Stokes elements which "
61 <<
"use quadratic interpolation at the moment. Using " << n_node_1d
62 <<
" nodes in each direction" << std::endl;
66 OOMPH_CURRENT_FUNCTION,
67 OOMPH_EXCEPTION_LOCATION);
71 for (
unsigned j = 0; j < n_node; j++)
74 if (!(this->
node_pt(j)->is_a_copy()))
80 if (j < n_node_1d * n_node_1d)
87 else if (j < 2 * n_node_1d * n_node_1d)
94 else if (j < 3 * n_node_1d * n_node_1d)
103 std::ostringstream error_message_stream;
106 error_message_stream <<
"Looping over too many nodes!" << std::endl;
110 OOMPH_CURRENT_FUNCTION,
111 OOMPH_EXCEPTION_LOCATION);
118 for (
unsigned i = 0;
i < n_dof;
i++)
133 dof_lookup.first = this->
eqn_number(local_eqn_number);
139 dof_lookup.second = elemental_id_shift +
i;
142 else if (i_local == 1)
145 std::ostringstream error_message_stream;
149 <<
"All nodes strictly on the interior of the "
150 <<
"elements temporal\nboundaries should be pinned "
151 <<
"in the mixed order element!" << std::endl;
155 OOMPH_CURRENT_FUNCTION,
156 OOMPH_EXCEPTION_LOCATION);
159 else if (i_local == 2)
164 unsigned local_id_shift = 3;
167 dof_lookup.second = elemental_id_shift + local_id_shift +
i;
171 dof_lookup_list.push_front(dof_lookup);
void get_dof_numbers_for_unknowns(std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const
Overload the pure virtual base class implementation. Create a list of pairs for all unknowns in this ...
int Time_slab_id
The time slice this element lies within.
unsigned nvalue() const
Return number of values stored in data object (incl pinned ones).
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
int nodal_local_eqn(const unsigned &n, const unsigned &i) const
Return the local equation number corresponding to the i-th value at the n-th local node.
unsigned nnode() const
Return the number of nodes.
virtual unsigned nnode_1d() const
Return the number of nodes along one edge of the element Default is to return zero — must be overload...
unsigned long eqn_number(const unsigned &ieqn_local) const
Return the global equation number corresponding to the ieqn_local-th local equation number.
int local_eqn_number(const unsigned long &ieqn_global) const
Return the local equation number corresponding to the ieqn_global-th global equation number....
An OomphLibError object which should be thrown when an run-time error is encountered....
//////////////////////////////////////////////////////////////////// ////////////////////////////////...