![]() |
|
#include <constrained_volume_elements.h>
Inheritance diagram for oomph::VolumeConstraintElement:Public Member Functions | |
| VolumeConstraintElement (double *prescribed_volume_pt) | |
| VolumeConstraintElement (double *prescribed_volume_pt, Data *p_traded_data_pt, const unsigned &index_of_traded_pressure) | |
| ~VolumeConstraintElement () | |
| Empty destructor. More... | |
| Data * | p_traded_data_pt () |
| Access to Data that contains the traded pressure. More... | |
| double | p_traded () |
| Return the traded pressure value. More... | |
| unsigned | index_of_traded_pressure () |
| Return the index of Data object at which the traded pressure is stored. More... | |
| void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
| Fill in the residuals for the volume constraint. More... | |
| void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
| Fill in the residuals and jacobian for the volume constraint. More... | |
| void | fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
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) |
| virtual unsigned | ndof_types () const |
| virtual void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
Private Member Functions | |
| int | ptraded_local_eqn () |
| The local eqn number for the traded pressure. More... | |
| void | fill_in_generic_contribution_to_residuals_volume_constraint (Vector< double > &residuals) |
| Fill in the residuals for the volume constraint. More... | |
Private Attributes | |
| double * | Prescribed_volume_pt |
| Pointer to the desired value of the volume. More... | |
| unsigned | External_or_internal_data_index_of_traded_pressure |
| bool | Traded_pressure_stored_as_internal_data |
| unsigned | Index_of_traded_pressure_value |
A class that is used to implement the constraint that the fluid volume in a region bounded by associated FaceElements (attached, e.g., to the mesh boundaries that enclose a bubble) must take a specific value. This GeneralisedElement is used only to store the desired volume and a pointer to the (usually pressure) freedom that must be traded for the volume constraint.
| oomph::VolumeConstraintElement::VolumeConstraintElement | ( | double * | prescribed_volume_pt | ) |
Constructor: Pass pointer to target volume. "Pressure" value that "traded" for the volume contraint is created internally (as a Data item with a single pressure value)
References oomph::GeneralisedElement::add_internal_data(), External_or_internal_data_index_of_traded_pressure, Index_of_traded_pressure_value, Prescribed_volume_pt, and Traded_pressure_stored_as_internal_data.
| oomph::VolumeConstraintElement::VolumeConstraintElement | ( | double * | prescribed_volume_pt, |
| Data * | p_traded_data_pt, | ||
| const unsigned & | index_of_traded_pressure | ||
| ) |
Constructor: Pass pointer to target volume, pointer to Data item whose value specified by index_of_traded_pressure represents the "Pressure" value that "traded" for the volume contraint. The Data is stored as external Data for this element.
References oomph::GeneralisedElement::add_external_data(), External_or_internal_data_index_of_traded_pressure, index_of_traded_pressure(), Index_of_traded_pressure_value, p_traded_data_pt(), Prescribed_volume_pt, and Traded_pressure_stored_as_internal_data.
|
inlinevirtual |
Fill in the residuals and jacobian for the volume constraint.
Reimplemented from oomph::GeneralisedElement.
References fill_in_generic_contribution_to_residuals_volume_constraint().
|
inlinevirtual |
Fill in the residuals, jacobian and mass matrix for the volume constraint.
Reimplemented from oomph::GeneralisedElement.
References fill_in_generic_contribution_to_residuals_volume_constraint().
|
inlinevirtual |
Fill in the residuals for the volume constraint.
Reimplemented from oomph::GeneralisedElement.
References fill_in_generic_contribution_to_residuals_volume_constraint().
|
private |
Fill in the residuals for the volume constraint.
References Prescribed_volume_pt, and ptraded_local_eqn().
Referenced by fill_in_contribution_to_jacobian(), fill_in_contribution_to_jacobian_and_mass_matrix(), and fill_in_contribution_to_residuals().
|
inline |
Return the index of Data object at which the traded pressure is stored.
References Index_of_traded_pressure_value.
Referenced by oomph::VolumeConstraintBoundingElement::set_volume_constraint_element(), and VolumeConstraintElement().
|
inline |
Return the traded pressure value.
References Index_of_traded_pressure_value, p_traded_data_pt(), and oomph::Data::value().
|
inline |
Access to Data that contains the traded pressure.
References oomph::GeneralisedElement::external_data_pt(), External_or_internal_data_index_of_traded_pressure, oomph::GeneralisedElement::internal_data_pt(), and Traded_pressure_stored_as_internal_data.
Referenced by p_traded(), oomph::VolumeConstraintBoundingElement::set_volume_constraint_element(), and VolumeConstraintElement().
|
inlineprivate |
The local eqn number for the traded pressure.
References oomph::GeneralisedElement::external_local_eqn(), Index_of_traded_pressure_value, oomph::GeneralisedElement::internal_local_eqn(), and Traded_pressure_stored_as_internal_data.
Referenced by fill_in_generic_contribution_to_residuals_volume_constraint().
|
private |
The Data that contains the traded pressure is stored as external or internal Data for the element. What is its index in these containers?
Referenced by p_traded_data_pt(), and VolumeConstraintElement().
|
private |
Index of the value in traded pressure data that corresponds to the traded pressure
Referenced by index_of_traded_pressure(), p_traded(), ptraded_local_eqn(), and VolumeConstraintElement().
|
private |
Pointer to the desired value of the volume.
Referenced by fill_in_generic_contribution_to_residuals_volume_constraint(), and VolumeConstraintElement().
|
private |
The Data that contains the traded pressure is stored as external or internal Data for the element. Which one?
Referenced by p_traded_data_pt(), ptraded_local_eqn(), and VolumeConstraintElement().