///////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// More...
#include <womersley_elements.h>
Public Member Functions | |
WomersleyOutflowImpedanceTube (const double &length, Mesh *navier_stokes_outflow_mesh_pt, const unsigned &fixed_coordinate, const unsigned &w_index) | |
Constructor: Pass length and mesh of face elements that are attached to the outflow cross-section of the Navier Stokes mesh to constructor of underlying base class. Also specify the coordinate (in the higher-dimensional Navier-Stokes mesh) that is constant in the outflow cross-section and the velocity component (in terms of the nodal index) that represents the outflow component – the latter is used to automatically apply the boundary conditions for the Womersley problem. More... | |
Mesh * | build_mesh_and_apply_boundary_conditions (TimeStepper *time_stepper_pt) |
Implement pure virtual fct (defined in the base class WomersleyImpedanceTubeBase) that builds the mesh of Womersley elements (of the type specified by the template argument), using the specified timestepper. Also applies the boundary condition. More... | |
Public Member Functions inherited from oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM > | |
WomersleyImpedanceTubeBase (const double &length, PrescribedVolumeFluxFctPt prescribed_volume_flux_fct_pt) | |
Constructor: Specify length of tube and pointer to function that specifies the prescribed volume flux. Outlet pressure is set to zero. More... | |
WomersleyImpedanceTubeBase (const double &length, Mesh *navier_stokes_outflow_mesh_pt) | |
Constructor: Specify length of tube and the pointer to the mesh of either NavierStokesImpedanceTractionElements or NavierStokesFluxControlElements that are attached to the outflow cross-section of a (higher-dimensional) Navier Stokes mesh and provide the inflow into the ImpedanceTube. Outlet pressure is set to zero. More... | |
double & | p_out () |
Access fct to outlet pressure. More... | |
void | setup () |
Set up the Womersley tubes so that a subsequent call to get_response(...) computes the inlet pressure for the currently prescribed instantaneous flow rate. Steady version! More... | |
void | setup (double *re_st_pt, const double &dt, const double &q_initial, TimeStepper *time_stepper_pt=0) |
Set up the Womersley tubes so that a subsequent call to get_response(...) computes the inlet pressure for the currently prescribed instantaneous flow rate, assuming that at all previous times the tube conveyed steady, fully-developed flow with flowrate q_initial. dt specifies the timestep for the subsequent time integration. Specify: Womersley number, (constant) timestep, the initial volume flux (from which the subsequent impulsive start is performed) and, optionally the pointer to the timestepper to be used in the Womersley elements (defaults to BDF<2>). More... | |
WomersleyProblem< ELEMENT, DIM > * | womersley_problem_pt () |
Access to underlying Womersley problem. More... | |
void | shift_time_values (const double &dt) |
Shift history values to allow coputation of next timestep. Note: When used with a full Navier-Stokes problem this function must be called in actions_before_implicit_timestep() More... | |
double | total_volume_flux_into_impedance_tube () |
Compute total current volume flux into the "impedance tube" that provides the flow resistance (flux is either obtained from the function that specifies it externally or by by adding up the flux through all NavierStokesImpedanceTractionElements in the mesh pointed to by the Navier_stokes_outflow_mesh_pt. More... | |
void | get_response (double &p_in, double &dp_in_dq) |
Compute inlet pressure, p_in, required to achieve the currently imposed, instantaneous volume flux q prescribed by total_volume_flux_into_impedance_tube(), and its derivative, dp_in/dq. More... | |
Public Member Functions inherited from oomph::TemplateFreeWomersleyImpedanceTubeBase | |
TemplateFreeWomersleyImpedanceTubeBase () | |
Empty constructor. More... | |
virtual | ~TemplateFreeWomersleyImpedanceTubeBase () |
Empty virtual destructor. More... | |
Private Attributes | |
unsigned | Fixed_coordinate |
The coordinate (in the higher-dimensional Navier-Stokes mesh) that is constant in the outflow cross-section. More... | |
unsigned | W_index |
The velocity component (in terms of the nodal index) that represents the outflow component – the latter is used to automatically apply the boundary conditions for the Womersley problem. More... | |
Additional Inherited Members | |
Public Types inherited from oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM > | |
typedef double(* | PrescribedVolumeFluxFctPt) (const double &time) |
Function pointer to fct that prescribes volume flux q=fct(t) – mainly used for validation purposes. More... | |
Static Public Attributes inherited from oomph::TemplateFreeWomersleyImpedanceTubeBase | |
static double | Zero = 0.0 |
Zero! More... | |
Protected Member Functions inherited from oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM > | |
void | precompute_aux_integrals () |
Precompute auxiliary integrals required for the computation of the Jacobian in the NavierStokesImpedanceTractionElement. Also pass the pointer to the pre-computed integrals to the elements in the Navier_stokes_outflow_mesh_pt so they can refer to it. More... | |
Protected Attributes inherited from oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM > | |
double | Length |
Length of the tube. More... | |
double | Dp_in_dq |
Derivative of inflow pressure w.r.t. instantaenous volume flux (Note: Can be pre-computed) More... | |
double * | Current_volume_flux_pt |
Pointer to double that specifies the currently imposed instantaneous volume flux into the impedance tube. This is used to communicate with the Womersley elements which require access to the flux via a pointer to a double. More... | |
WomersleyProblem< ELEMENT, DIM > * | Womersley_problem_pt |
Pointer to Womersley problem that determines the pressure gradient along the tube. More... | |
double | P_out |
Outlet pressure. More... | |
PrescribedVolumeFluxFctPt | Prescribed_volume_flux_fct_pt |
Pointer to function that specifies the prescribed volume flux. More... | |
Mesh * | Navier_stokes_outflow_mesh_pt |
Pointer to the mesh of NavierStokesImpedanceTractionElements that are attached to the outflow cross-section of the higher-dimensional Navier Stokes mesh and provide the inflow into the Impedance tube. More... | |
std::map< unsigned, double > * | Aux_integral_pt |
Pointer to auxiliary integral, containing the derivative of the total volume flux through the outflow boundary of the (higher-dimensional) Navier-Stokes mesh w.r.t. to the discrete (global) (velocity) degrees of freedom. More... | |
///////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
WomersleyImpedanceTube that attaches itself to the outflow of a Navier-Stokes mesh.
Definition at line 1826 of file womersley_elements.h.
|
inline |
Constructor: Pass length and mesh of face elements that are attached to the outflow cross-section of the Navier Stokes mesh to constructor of underlying base class. Also specify the coordinate (in the higher-dimensional Navier-Stokes mesh) that is constant in the outflow cross-section and the velocity component (in terms of the nodal index) that represents the outflow component – the latter is used to automatically apply the boundary conditions for the Womersley problem.
Definition at line 1839 of file womersley_elements.h.
|
inlinevirtual |
Implement pure virtual fct (defined in the base class WomersleyImpedanceTubeBase) that builds the mesh of Womersley elements (of the type specified by the template argument), using the specified timestepper. Also applies the boundary condition.
Implements oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >.
Definition at line 1854 of file womersley_elements.h.
References oomph::WomersleyOutflowImpedanceTube< ELEMENT, DIM >::Fixed_coordinate, oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::Navier_stokes_outflow_mesh_pt, and oomph::WomersleyOutflowImpedanceTube< ELEMENT, DIM >::W_index.
|
private |
The coordinate (in the higher-dimensional Navier-Stokes mesh) that is constant in the outflow cross-section.
Definition at line 1871 of file womersley_elements.h.
Referenced by oomph::WomersleyOutflowImpedanceTube< ELEMENT, DIM >::build_mesh_and_apply_boundary_conditions().
|
private |
The velocity component (in terms of the nodal index) that represents the outflow component – the latter is used to automatically apply the boundary conditions for the Womersley problem.
Definition at line 1877 of file womersley_elements.h.
Referenced by oomph::WomersleyOutflowImpedanceTube< ELEMENT, DIM >::build_mesh_and_apply_boundary_conditions().