oomph::NetFluxControlElementForWomersleyPressureControl Class Reference

#include <womersley_elements.h>

+ Inheritance diagram for oomph::NetFluxControlElementForWomersleyPressureControl:

Public Member Functions

 NetFluxControlElementForWomersleyPressureControl (Mesh *flux_control_mesh_pt, NavierStokesWomersleyPressureControlElement *pressure_control_element_pt)
 
 ~NetFluxControlElementForWomersleyPressureControl ()
 Empty Destructor - Data gets deleted automatically. More...
 
 NetFluxControlElementForWomersleyPressureControl (const NetFluxControlElementForWomersleyPressureControl &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const NetFluxControlElementForWomersleyPressureControl &)=delete
 Broken assignment operator. More...
 
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::NetFluxControlElement< ELEMENT >
 NetFluxControlElement (Mesh *flux_control_mesh_pt, double *prescribed_outflow_value_pt)
 
 ~NetFluxControlElement ()
 Empty Destructor - Data gets deleted automatically. More...
 
 NetFluxControlElement (const NetFluxControlElement &)
 Broken copy constructor. More...
 
Datapressure_data_pt () const
 
void fill_in_contribution_to_residuals (Vector< double > &residuals)
 
 NetFluxControlElement (Mesh *flux_control_mesh_pt, double *prescribed_flux_value_pt)
 
 ~NetFluxControlElement ()
 Empty Destructor - Data gets deleted automatically. More...
 
 NetFluxControlElement (const NetFluxControlElement &dummy)=delete
 Broken copy constructor. More...
 
unsigned dim () const
 Broken assignment operator. More...
 
Datapressure_data_pt () const
 
void fill_in_contribution_to_residuals (Vector< double > &residuals)
 
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 
unsigneddof_number_for_unknown ()
 
- 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 &current_string) const
 
virtual void describe_local_dofs (std::ostream &out, const std::string &current_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 &parameter_pt, Vector< double > &dres_dparam)
 
virtual void get_djacobian_dparameter (double *const &parameter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam)
 
virtual void get_djacobian_and_dmass_matrix_dparameter (double *const &parameter_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)
 

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
 
- Protected Member Functions inherited from oomph::NetFluxControlElement< ELEMENT >
void fill_in_generic_residual_contribution_flux_control (Vector< double > &residuals)
 
- Protected Member Functions inherited from oomph::GeneralisedElement
unsigned add_internal_data (Data *const &data_pt, const bool &fd=true)
 
bool internal_data_fd (const unsigned &i) const
 
void exclude_internal_data_fd (const unsigned &i)
 
void include_internal_data_fd (const unsigned &i)
 
void clear_global_eqn_numbers ()
 
void add_global_eqn_numbers (std::deque< unsigned long > const &global_eqn_numbers, std::deque< double * > const &global_dof_pt)
 
virtual void assign_internal_and_external_local_eqn_numbers (const bool &store_local_dof_pt)
 
virtual void assign_all_generic_local_eqn_numbers (const bool &store_local_dof_pt)
 
virtual void assign_additional_local_eqn_numbers ()
 
int internal_local_eqn (const unsigned &i, const unsigned &j) const
 
int external_local_eqn (const unsigned &i, const unsigned &j)
 
void fill_in_jacobian_from_internal_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &fd_all_data=false)
 
void fill_in_jacobian_from_internal_by_fd (DenseMatrix< double > &jacobian, const bool &fd_all_data=false)
 
void fill_in_jacobian_from_external_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &fd_all_data=false)
 
void fill_in_jacobian_from_external_by_fd (DenseMatrix< double > &jacobian, const bool &fd_all_data=false)
 
virtual void update_before_internal_fd ()
 
virtual void reset_after_internal_fd ()
 
virtual void update_in_internal_fd (const unsigned &i)
 
virtual void reset_in_internal_fd (const unsigned &i)
 
virtual void update_before_external_fd ()
 
virtual void reset_after_external_fd ()
 
virtual void update_in_external_fd (const unsigned &i)
 
virtual void reset_in_external_fd (const unsigned &i)
 
virtual void fill_in_contribution_to_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &mass_matrix)
 
virtual void fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix)
 
virtual void fill_in_contribution_to_dresiduals_dparameter (double *const &parameter_pt, Vector< double > &dres_dparam)
 
virtual void fill_in_contribution_to_djacobian_dparameter (double *const &parameter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam)
 
virtual void fill_in_contribution_to_djacobian_and_dmass_matrix_dparameter (double *const &parameter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam)
 
virtual void fill_in_contribution_to_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product)
 
virtual void fill_in_contribution_to_inner_products (Vector< std::pair< unsigned, unsigned >> const &history_index, Vector< double > &inner_product)
 
virtual void fill_in_contribution_to_inner_product_vectors (Vector< unsigned > const &history_index, Vector< Vector< double >> &inner_product_vector)
 
- Static Protected Attributes inherited from oomph::GeneralisedElement
static DenseMatrix< doubleDummy_matrix
 
static std::deque< double * > Dof_pt_deque
 

Detailed Description

/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// A class for an element to control net fluid flux across a boundary by imposing an applied pressure to the Navier-Stokes equations. This element is used with a mesh of NavierStokesFluxControlElements attached to the boundary. The flux imposed by this element is given by a NavierStokesWomersleyPressureControlElement. Note: fill_in_contribution_to_jacobian() does not calculate any Jacobian contributions for this element as they are calculated by NavierStokesFluxControlElement::fill_in_contribution_to_jacobian(...) and NavierStokesWomersleyPressureControlElement:: fill_in_contribution_to_jacobian(...)

Constructor & Destructor Documentation

◆ NetFluxControlElementForWomersleyPressureControl() [1/2]

oomph::NetFluxControlElementForWomersleyPressureControl::NetFluxControlElementForWomersleyPressureControl ( Mesh flux_control_mesh_pt,
NavierStokesWomersleyPressureControlElement pressure_control_element_pt 
)
inline

Constructor takes the mesh of TemplateFreeNavierStokesFluxControlElementBase which impose the pressure to controls the flux, plus a pointer to the PressureControlElement whoes internal data is the prescribed flux.

2744  flux_control_mesh_pt,
2745  pressure_control_element_pt->volume_flux_data_pt()->value_pt(0))
2746  {
2747  // There's no need to add external data to this element since
2748  // this element's Jacobian contributions are calculated by the
2749  // NavierStokesFluxControlElements and the P
2750  // NavierStokesWomersleyPressureControlElement
2751 
2752  // Add this elements Data to the external data of the
2753  // PressureControlElement
2754  pressure_control_element_pt->add_pressure_data(pressure_data_pt());
2755  }
NetFluxControlElement(Mesh *flux_control_mesh_pt, double *prescribed_outflow_value_pt)
Definition: flux_control_elements_bk.h:59
Data * pressure_data_pt() const
Definition: flux_control_elements_bk.h:104

References oomph::NavierStokesWomersleyPressureControlElement::add_pressure_data(), and oomph::NetFluxControlElement< ELEMENT >::pressure_data_pt().

◆ ~NetFluxControlElementForWomersleyPressureControl()

oomph::NetFluxControlElementForWomersleyPressureControl::~NetFluxControlElementForWomersleyPressureControl ( )
inline

Empty Destructor - Data gets deleted automatically.

2758 {}

◆ NetFluxControlElementForWomersleyPressureControl() [2/2]

oomph::NetFluxControlElementForWomersleyPressureControl::NetFluxControlElementForWomersleyPressureControl ( const NetFluxControlElementForWomersleyPressureControl dummy)
delete

Broken copy constructor.

Member Function Documentation

◆ get_dof_numbers_for_unknowns()

void oomph::NetFluxControlElementForWomersleyPressureControl::get_dof_numbers_for_unknowns ( std::list< std::pair< unsigned long, unsigned >> &  dof_lookup_list) const
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::NetFluxControlElement< ELEMENT >.

2785  {
2786  // pair to store dof lookup prior to being added to list
2787  std::pair<unsigned, unsigned> dof_lookup;
2788 
2789  dof_lookup.first = this->eqn_number(0);
2790  dof_lookup.second = 0;
2791 
2792  // add to list
2793  dof_lookup_list.push_front(dof_lookup);
2794  }
unsigned long eqn_number(const unsigned &ieqn_local) const
Definition: elements.h:704

References oomph::GeneralisedElement::eqn_number().

◆ ndof_types()

unsigned oomph::NetFluxControlElementForWomersleyPressureControl::ndof_types ( ) const
inlinevirtual

The number of "DOF types" that degrees of freedom in this element are sub-divided into - set to 1

Reimplemented from oomph::NetFluxControlElement< ELEMENT >.

2773  {
2774  return 1;
2775  }

◆ operator=()

void oomph::NetFluxControlElementForWomersleyPressureControl::operator= ( const NetFluxControlElementForWomersleyPressureControl )
delete

Broken assignment operator.


The documentation for this class was generated from the following file: