36 #include "navier_stokes.h" 41 using namespace oomph;
70 this->set_ninteraction(2);
89 const unsigned interaction = 0;
95 external_element_pt(interaction,ipt));
103 s_external = external_element_local_coord(interaction,ipt);
106 for(
unsigned i=0;
i<DIM;
i++)
122 const unsigned interaction = 1;
128 external_element_pt(interaction,ipt));
136 s_external = external_element_local_coord(interaction,ipt);
139 for(
unsigned i=0;
i<DIM;
i++)
143 for(
unsigned j=0;j<DIM;j++)
163 this->fill_in_jacobian_from_external_interaction_by_fd(residuals,jacobian);
195 this->set_ninteraction(2);
214 const unsigned interaction = 0;
220 external_element_pt(interaction,ipt));
228 s_external = external_element_local_coord(interaction,ipt);
231 for(
unsigned i=0;
i<DIM;
i++)
247 const unsigned interaction = 1;
253 external_element_pt(interaction,ipt));
261 s_external = external_element_local_coord(interaction,ipt);
264 for(
unsigned i=0;
i<DIM;
i++)
268 for(
unsigned j=0;j<DIM;j++)
288 this->fill_in_jacobian_from_external_interaction_by_fd(residuals,jacobian);
321 this->set_ninteraction(2);
340 const unsigned interaction = 0;
346 external_element_pt(interaction,ipt));
354 s_external = external_element_local_coord(interaction,ipt);
357 for(
unsigned i=0;
i<DIM;
i++)
373 const unsigned interaction = 1;
379 external_element_pt(interaction,ipt));
387 s_external = external_element_local_coord(interaction,ipt);
390 for(
unsigned i=0;
i<DIM;
i++)
394 for(
unsigned j=0;j<DIM;j++)
414 this->fill_in_jacobian_from_external_interaction_by_fd(residuals,jacobian);
447 this->set_ninteraction(2);
466 const unsigned interaction = 0;
472 external_element_pt(interaction,ipt));
480 s_external = external_element_local_coord(interaction,ipt);
483 for(
unsigned i=0;
i<DIM;
i++)
499 const unsigned interaction = 1;
505 external_element_pt(interaction,ipt));
513 s_external = external_element_local_coord(interaction,ipt);
516 for(
unsigned i=0;
i<DIM;
i++)
520 for(
unsigned j=0;j<DIM;j++)
540 this->fill_in_jacobian_from_external_interaction_by_fd(residuals,jacobian);
double interpolated_dudx_nst(const Vector< double > &s, const unsigned &i, const unsigned &j) const
w.r.t spatial global coordinate direction x[j] at local coordinate s
Build a RefineableLinearisedQCrouzeixRaviart element that inherits from ElementWithExternalElement so...
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
LinearisedQTaylorHoodMultiDomainElement()
Constructor: call the underlying constructors.
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
RefineableLinearisedQTaylorHoodMultiDomainElement()
Constructor: call the underlying constructors.
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
void interpolated_u_nst(const Vector< double > &s, Vector< double > &veloc) const
Compute vector of FE interpolated velocity u at local coordinate s.
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
virtual void get_base_flow_u(const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const
Overload get_base_flow_u(...) to return the external element's velocity components at the integration...
void ignore_external_geometric_data()
Do not include any external geometric data when computing the element's Jacobian. This function shoul...
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
Refineable version of linearised axisymmetric quadratic Crouzeix-Raviart elements.
LinearisedQCrouzeixRaviartMultiDomainElement()
Constructor: call the underlying constructors.
virtual void get_base_flow_dudx(const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const
Overload get_base_flow_dudx(...) to return the derivatives of the external element's velocity compone...
Refineable version of linearised axisymmetric quadratic Taylor-Hood elements.
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Add the elemental contribution to the jacobian matrix. and the residuals vector. Note that this funct...
RefineableLinearisedQCrouzeixRaviartMultiDomainElement()
Constructor: call the underlying constructors.
Build a RefineableLinearisedQTaylorHood element that inherits from ElementWithExternalElement so that...