32 #include "navier_stokes.h"
37 using namespace oomph;
62 this->set_ninteraction(2);
81 const unsigned interaction = 0;
87 external_element_pt(interaction, ipt));
95 s_external = external_element_local_coord(interaction, ipt);
98 for (
unsigned i = 0;
i < DIM;
i++)
114 const unsigned interaction = 1;
120 external_element_pt(interaction, ipt));
128 s_external = external_element_local_coord(interaction, ipt);
131 for (
unsigned i = 0;
i < DIM;
i++)
135 for (
unsigned j = 0; j < DIM; j++)
153 this->fill_in_jacobian_from_external_interaction_by_fd(residuals, jacobian);
180 this->set_ninteraction(2);
199 const unsigned interaction = 0;
205 external_element_pt(interaction, ipt));
213 s_external = external_element_local_coord(interaction, ipt);
216 for (
unsigned i = 0;
i < DIM;
i++)
232 const unsigned interaction = 1;
238 external_element_pt(interaction, ipt));
246 s_external = external_element_local_coord(interaction, ipt);
249 for (
unsigned i = 0;
i < DIM;
i++)
253 for (
unsigned j = 0; j < DIM; j++)
268 residuals, jacobian);
271 this->fill_in_jacobian_from_external_interaction_by_fd(residuals, jacobian);
299 this->set_ninteraction(2);
318 const unsigned interaction = 0;
324 external_element_pt(interaction, ipt));
332 s_external = external_element_local_coord(interaction, ipt);
335 for (
unsigned i = 0;
i < DIM;
i++)
351 const unsigned interaction = 1;
357 external_element_pt(interaction, ipt));
365 s_external = external_element_local_coord(interaction, ipt);
368 for (
unsigned i = 0;
i < DIM;
i++)
372 for (
unsigned j = 0; j < DIM; j++)
387 residuals, jacobian);
390 this->fill_in_jacobian_from_external_interaction_by_fd(residuals, jacobian);
419 this->set_ninteraction(2);
438 const unsigned interaction = 0;
444 external_element_pt(interaction, ipt));
452 s_external = external_element_local_coord(interaction, ipt);
455 for (
unsigned i = 0;
i < DIM;
i++)
471 const unsigned interaction = 1;
477 external_element_pt(interaction, ipt));
485 s_external = external_element_local_coord(interaction, ipt);
488 for (
unsigned i = 0;
i < DIM;
i++)
492 for (
unsigned j = 0; j < DIM; j++)
510 this->fill_in_jacobian_from_external_interaction_by_fd(residuals, jacobian);
////////////////////////////////////////////////////////////////////// //////////////////////////////...
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.
LinearisedQCrouzeixRaviartMultiDomainElement()
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...
////////////////////////////////////////////////////////////////////// //////////////////////////////...
LinearisedQTaylorHoodMultiDomainElement()
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...
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 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_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 fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
RefineableLinearisedQCrouzeixRaviartMultiDomainElement()
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...
////////////////////////////////////////////////////////////////////// //////////////////////////////...
RefineableLinearisedQTaylorHoodMultiDomainElement()
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...
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 fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Compute the element's residual vector and the Jacobian matrix.
This is a base class for all elements that require external sources (e.g. FSI, multi-domain problems ...
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)
Add the elemental contribution to the jacobian matrix. and the residuals vector. Note that this funct...
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
void interpolated_u_nst(const Vector< double > &s, Vector< double > &veloc) const
Compute vector of FE interpolated velocity u at local coordinate s.
double interpolated_dudx_nst(const Vector< double > &s, const unsigned &i, const unsigned &j) const
Return FE interpolated derivatives of velocity component u[i] w.r.t spatial global coordinate directi...
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...