87 if(pext_local_eqn >= 0)
89 residuals[pext_local_eqn] = -
Flux;
115 template <
class ELEMENT>
183 unsigned ibound;
int index;
double eta;
190 for(
unsigned ielt=0;ielt<num_elt;ielt++)
196 this->
Element_pt.push_back(surface_element_pt);
198 if(outlet) { this->Outlet_traction_elt_pt.push_back(surface_element_pt); }
199 else { this->Inlet_traction_elt_pt.push_back(surface_element_pt); }
210 std::cout << std::endl <<
"Traction elements attached to mesh" << std::endl << std::endl;
219 this->
Element_pt.push_back(Flux_constraint_pt);
226 for(
unsigned ibound=0;ibound<4;ibound+=2)
229 if(ibound==0) index=-2;
235 for(
unsigned ielt=0;ielt<num_elt;ielt++)
244 this->Lower_stress_integral_elt_pt.push_back(surface_element_pt);
245 else this->Upper_stress_integral_elt_pt.push_back(surface_element_pt);
251 std::cout << std::endl <<
"Shear elements attached to mesh" << std::endl << std::endl;
265 {Ntraction+=1; this->Flux_constraint_pt=0;}
269 for(
unsigned e=0;
e<Ntraction;
e++)
276 Inlet_traction_elt_pt.clear();
279 std::cout << std::endl <<
"Traction elements removed from mesh" << std::endl << std::endl;
291 for(
unsigned e=0;
e<Nshear_lower;
e++)
293 delete this->Lower_stress_integral_elt_pt.back();
294 this->Lower_stress_integral_elt_pt.pop_back();
297 for(
unsigned e=0;
e<Nshear_upper;
e++)
299 delete this->Upper_stress_integral_elt_pt.back();
300 this->Upper_stress_integral_elt_pt.pop_back();
307 std::cout << std::endl <<
"Shear elements removed from mesh" << std::endl << std::endl;
321 std::cout <<
"Warning, attempting to assemble fluid element vector ";
322 std::cout <<
"whilst traction elements are attached to the mesh" << std::endl;
327 for(
unsigned e=0;
e<n_elt;
e++)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Generalised element used to specify the mass flux (=1)
Definition: jh_includes.h:36
Data * Pext_pt
Pointer to the Data item that stores the external pressure.
Definition: jh_includes.h:42
double Flux
Definition: jh_includes.h:37
void fill_in_contribution_to_residuals(Vector< double > &residuals)
Definition: jh_includes.h:72
void set_pressure_data(Data *pext_pt)
Function for setting up external pressure.
Definition: jh_includes.h:60
void fill_in_contribution_to_jacobian_and_mass_matrix(Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix)
Definition: jh_includes.h:101
unsigned External_data_number_of_Pext
Definition: jh_includes.h:46
FluxConstraint()
Constructor there is one bit of internal data, the fixed flux.
Definition: jh_includes.h:50
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Definition: jh_includes.h:93
Definition: elements.h:73
unsigned add_external_data(Data *const &data_pt, const bool &fd=true)
Definition: elements.cc:307
int external_local_eqn(const unsigned &i, const unsigned &j)
Definition: elements.h:311
unsigned nboundary_element(const unsigned &b) const
Return number of finite elements that are adjacent to boundary b.
Definition: mesh.h:878
FiniteElement * boundary_element_pt(const unsigned &b, const unsigned &e) const
Return pointer to e-th finite element on boundary b.
Definition: mesh.h:840
Vector< GeneralisedElement * > Element_pt
Vector of pointers to generalised elements.
Definition: mesh.h:186
Definition: polar_fluid_traction_elements.h:54
void(*&)(const double &t, const Vector< double > &x, Vector< double > &result) traction_fct_pt()
Definition: polar_fluid_traction_elements.h:241
void set_eta(double eta)
Function to set Eta.
Definition: polar_fluid_traction_elements.h:185
void set_boundary(int bound)
Function to set boundary.
Definition: polar_fluid_traction_elements.h:173
double *& alpha_pt()
Pointer to Alpha.
Definition: polar_fluid_traction_elements.h:150
Definition: polar_stress_integral_elements.h:53
const unsigned & ny() const
Return number of elements in y direction.
Definition: rectangular_quadmesh.template.h:231
const unsigned & nx() const
Return number of elements in x direction.
Definition: rectangular_quadmesh.template.h:224
My log r spaced mesh.
Definition: refineable_r_mesh.h:37
Vector< GeneralisedElement * > Fluid_elt_pt
Definition: refineable_r_mesh.h:41
My fluid mesh (with traction elements)
Definition: jh_includes.h:117
unsigned inlet_traction_elt_length()
Return length of inlet traction element vector.
Definition: jh_includes.h:137
unsigned upper_stress_integral_elt_length()
Return length of upper stress integral element vector.
Definition: jh_includes.h:157
PolarStressIntegralElement< ELEMENT > * lower_stress_integral_elt_pt(unsigned long e)
Return pointer to shear integral element.
Definition: jh_includes.h:149
PolarStressIntegralElement< ELEMENT > * upper_stress_integral_elt_pt(unsigned long e)
Return pointer to shear integral element.
Definition: jh_includes.h:154
unsigned lower_stress_integral_elt_length()
Return length of lower stress integral element vector.
Definition: jh_includes.h:152
void make_shear_elements()
Definition: jh_includes.h:223
unsigned outlet_traction_elt_length()
Return length of outlet traction element vector.
Definition: jh_includes.h:142
void remove_shear_elements()
Definition: jh_includes.h:284
Vector< PolarStressIntegralElement< ELEMENT > * > Lower_stress_integral_elt_pt
Definition: jh_includes.h:126
void assign_fluid_element_vector()
Definition: jh_includes.h:312
PolarNavierStokesTractionElement< ELEMENT > * inlet_traction_elt_pt(unsigned e)
Return pointer to inlet traction element e.
Definition: jh_includes.h:134
FluxConstraint * Flux_constraint_pt
Generalised element to determine my mass flux (always 1)
Definition: jh_includes.h:124
Vector< PolarNavierStokesTractionElement< ELEMENT > * > Inlet_traction_elt_pt
Definition: jh_includes.h:121
FluxConstraint * flux_constraint_elt_pt()
Return pointer to Flux Cosntraint Element.
Definition: jh_includes.h:145
void make_traction_elements(const bool &outlet)
Definition: jh_includes.h:180
Vector< PolarNavierStokesTractionElement< ELEMENT > * > Outlet_traction_elt_pt
Definition: jh_includes.h:122
void remove_traction_elements()
Definition: jh_includes.h:256
void make_flux_element()
Definition: jh_includes.h:215
Vector< PolarStressIntegralElement< ELEMENT > * > Upper_stress_integral_elt_pt
Definition: jh_includes.h:127
PolarNavierStokesTractionElement< ELEMENT > * outlet_traction_elt_pt(unsigned e)
Return pointer to outlet traction element e.
Definition: jh_includes.h:139
jh_mesh(const unsigned int &nx, const unsigned int &ny)
Definition: jh_includes.h:161
void check(bool b, bool ref)
Definition: fastmath.cpp:12
bool outlet_traction
Definition: jeffery_hamel.cc:82
double eta_inlet
Definition: jeffery_hamel.cc:80
double Alpha
Scaling factor for wall thickness (to be used in an exercise)
Definition: unsteady_ring.cc:73
void traction_function(const double &time, const Vector< double > &x, Vector< double > &traction)
Unused (but assigned) function to specify tractions.
Definition: jeffery_hamel.cc:96
bool inlet_traction
Definition: jeffery_hamel.cc:79
double eta_outlet
Definition: jeffery_hamel.cc:83
double eta
Definition: foeppl_von_karman/circular_disk/circular_disk.cc:45
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10