![]() |
|
#include <womersley_elements.h>
Inheritance diagram for oomph::NavierStokesWomersleyPressureControlElement:Public Member Functions | |
| NavierStokesWomersleyPressureControlElement (TemplateFreeWomersleyImpedanceTubeBase *womersley_tube_pt) | |
| ~NavierStokesWomersleyPressureControlElement () | |
| Destructor should not delete anything. More... | |
| void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
| This function returns the residuals. More... | |
| void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
| Data * | volume_flux_data_pt () const |
| void | add_pressure_data (Data *pressure_data_pt) |
| unsigned | ndof_types () const |
| void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
Public Member Functions inherited from oomph::GeneralisedElement | |
| GeneralisedElement () | |
| Constructor: Initialise all pointers and all values to zero. More... | |
| virtual | ~GeneralisedElement () |
| Virtual destructor to clean up any memory allocated by the object. More... | |
| GeneralisedElement (const GeneralisedElement &)=delete | |
| Broken copy constructor. More... | |
| void | operator= (const GeneralisedElement &)=delete |
| Broken assignment operator. More... | |
| Data *& | internal_data_pt (const unsigned &i) |
| Return a pointer to i-th internal data object. More... | |
| Data *const & | internal_data_pt (const unsigned &i) const |
| Return a pointer to i-th internal data object (const version) More... | |
| Data *& | external_data_pt (const unsigned &i) |
| Return a pointer to i-th external data object. More... | |
| Data *const & | external_data_pt (const unsigned &i) const |
| Return a pointer to i-th external data object (const version) More... | |
| unsigned long | eqn_number (const unsigned &ieqn_local) const |
| int | local_eqn_number (const unsigned long &ieqn_global) const |
| unsigned | add_external_data (Data *const &data_pt, const bool &fd=true) |
| bool | external_data_fd (const unsigned &i) const |
| void | exclude_external_data_fd (const unsigned &i) |
| void | include_external_data_fd (const unsigned &i) |
| void | flush_external_data () |
| Flush all external data. More... | |
| void | flush_external_data (Data *const &data_pt) |
| Flush the object addressed by data_pt from the external data array. More... | |
| unsigned | ninternal_data () const |
| Return the number of internal data objects. More... | |
| unsigned | nexternal_data () const |
| Return the number of external data objects. More... | |
| unsigned | ndof () const |
| Return the number of equations/dofs in the element. More... | |
| void | dof_vector (const unsigned &t, Vector< double > &dof) |
| Return the vector of dof values at time level t. More... | |
| void | dof_pt_vector (Vector< double * > &dof_pt) |
| Return the vector of pointers to dof values. More... | |
| void | set_internal_data_time_stepper (const unsigned &i, TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
| void | assign_internal_eqn_numbers (unsigned long &global_number, Vector< double * > &Dof_pt) |
| void | describe_dofs (std::ostream &out, const std::string ¤t_string) const |
| virtual void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
| void | add_internal_value_pt_to_map (std::map< unsigned, double * > &map_of_value_pt) |
| virtual void | assign_local_eqn_numbers (const bool &store_local_dof_pt) |
| virtual void | complete_setup_of_dependencies () |
| virtual void | get_residuals (Vector< double > &residuals) |
| virtual void | get_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
| virtual void | get_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &mass_matrix) |
| virtual void | get_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
| virtual void | get_dresiduals_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam) |
| virtual void | get_djacobian_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam) |
| virtual void | get_djacobian_and_dmass_matrix_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam) |
| virtual void | get_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product) |
| virtual void | get_inner_products (Vector< std::pair< unsigned, unsigned >> const &history_index, Vector< double > &inner_product) |
| virtual void | get_inner_product_vectors (Vector< unsigned > const &history_index, Vector< Vector< double >> &inner_product_vector) |
| virtual unsigned | self_test () |
| virtual void | compute_norm (Vector< double > &norm) |
| virtual void | compute_norm (double &norm) |
Private Attributes | |
| Data * | Volume_flux_data_pt |
| TemplateFreeWomersleyImpedanceTubeBase * | Womersley_tube_pt |
| Pointer to the Womersley impedance tube. More... | |
| unsigned | Pressure_data_id |
| Id of external Data object whose single value is the pressure. More... | |
| unsigned | Volume_flux_data_id |
Additional Inherited Members | |
Static Public Attributes inherited from oomph::GeneralisedElement | |
| static bool | Suppress_warning_about_repeated_internal_data |
| static bool | Suppress_warning_about_repeated_external_data = true |
| static double | Default_fd_jacobian_step = 1.0e-8 |
Static Protected Attributes inherited from oomph::GeneralisedElement | |
| static DenseMatrix< double > | Dummy_matrix |
| static std::deque< double * > | Dof_pt_deque |
/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// An element to impose a fluid pressure obtained from a Womersley impedance tube at a boundary. This element is used in conjunction with a NetFluxControlElementForWomersleyPressureControl element, and is passed to the NetFluxControlElementForWomersleyPressureControl element's constructor. The volume flux across the boundary is then an unknown of the problem. The constructor argument for this element is a suitable Womersley impedance tube to give the pressure via its get_response(...) function.
Note: the NavierStokesWomersleyPressureControlElement element calculates Jacobian entries BOTH for itself AND for the NetFluxControlElementForWomersleyPressureControl with respect to the unknowns in this (NavierStokesWomersleyPressureControlElement) element.
|
inline |
Constructor takes a pointer to a suitable Womersley impedance tube which defines the pressure via get_response(...)
References oomph::GeneralisedElement::add_internal_data(), Volume_flux_data_id, and Volume_flux_data_pt.
|
inline |
|
inline |
Function to add to external data the Data object whose single value is the pressure applied at the boundary
References oomph::GeneralisedElement::add_external_data(), and Pressure_data_id.
Referenced by oomph::NetFluxControlElementForWomersleyPressureControl::NetFluxControlElementForWomersleyPressureControl().
|
inlinevirtual |
This function returns the residuals and the Jacobian, plus the Jacobian contribution for the NetFluxControlElementForWomersleyPressureControl with respect to unknowns in this element
Reimplemented from oomph::GeneralisedElement.
References fill_in_generic_residual_contribution_pressure_control().
|
inlinevirtual |
This function returns the residuals.
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and fill_in_generic_residual_contribution_pressure_control().
|
inlineprotected |
This function returns the residuals. flag=1(or 0): do (or don't) compute the Jacobian as well. Note that this function also calculates the Jacobian contribution for the NetFluxControlElementForWomersleyPressureControl
References oomph::GeneralisedElement::external_data_pt(), oomph::GeneralisedElement::external_local_eqn(), oomph::TemplateFreeWomersleyImpedanceTubeBase::get_response(), oomph::GeneralisedElement::internal_local_eqn(), Pressure_data_id, oomph::Data::value(), Volume_flux_data_id, and Womersley_tube_pt.
Referenced by fill_in_contribution_to_jacobian(), and fill_in_contribution_to_residuals().
|
inlinevirtual |
Create a list of pairs for all unknowns in this element, so that the first entry in each pair contains the global equation number of the unknown, while the second one contains the number of the "DOF type" that this unknown is associated with. (Function can obviously only be called if the equation numbering scheme has been set up.)
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::eqn_number().
|
inlinevirtual |
The number of "DOF types" that degrees of freedom in this element are sub-divided into - set to 1
Reimplemented from oomph::GeneralisedElement.
|
inline |
Function to return a pointer to the Data object whose single value is the flux degree of freedom
References Volume_flux_data_pt.
|
private |
Id of external Data object whose single value is the pressure.
Referenced by add_pressure_data(), and fill_in_generic_residual_contribution_pressure_control().
|
private |
Id of internal Data object whose single value is the volume flux
Referenced by fill_in_generic_residual_contribution_pressure_control(), and NavierStokesWomersleyPressureControlElement().
|
private |
Data object whose single value is the volume flux applied by the elements in the Flux_control_mesh_pt
Referenced by NavierStokesWomersleyPressureControlElement(), and volume_flux_data_pt().
|
private |
Pointer to the Womersley impedance tube.
Referenced by fill_in_generic_residual_contribution_pressure_control().