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. More...
#include <constrained_volume_elements.h>
Public Member Functions | |
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) More... | |
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. More... | |
~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) |
Fill in the residuals, jacobian and mass matrix for the volume constraint. More... | |
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 |
The Data that contains the traded pressure is stored as external or internal Data for the element. What is its index in these containers? More... | |
bool | Traded_pressure_stored_as_internal_data |
The Data that contains the traded pressure is stored as external or internal Data for the element. Which one? More... | |
unsigned | Index_of_traded_pressure_value |
Index of the value in traded pressure data that corresponds to the traded pressure. More... | |
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.
Definition at line 65 of file constrained_volume_elements.h.
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)
Definition at line 60 of file constrained_volume_elements.cc.
References 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.
Definition at line 83 of file constrained_volume_elements.cc.
References 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.
|
inline |
Empty destructor.
Definition at line 121 of file constrained_volume_elements.h.
|
inline |
Fill in the residuals and jacobian for the volume constraint.
Definition at line 159 of file constrained_volume_elements.h.
References fill_in_generic_contribution_to_residuals_volume_constraint().
|
inline |
Fill in the residuals, jacobian and mass matrix for the volume constraint.
Definition at line 169 of file constrained_volume_elements.h.
References fill_in_generic_contribution_to_residuals_volume_constraint().
|
inline |
Fill in the residuals for the volume constraint.
Definition at line 152 of file constrained_volume_elements.h.
References fill_in_generic_contribution_to_residuals_volume_constraint().
|
private |
Fill in the residuals for the volume constraint.
Definition at line 37 of file constrained_volume_elements.cc.
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.
Definition at line 145 of file constrained_volume_elements.h.
References Index_of_traded_pressure_value.
Referenced by oomph::VolumeConstraintBoundingElement::set_volume_constraint_element(), and VolumeConstraintElement().
|
inline |
Return the traded pressure value.
Definition at line 139 of file constrained_volume_elements.h.
References Index_of_traded_pressure_value, and p_traded_data_pt().
|
inline |
Access to Data that contains the traded pressure.
Definition at line 124 of file constrained_volume_elements.h.
References External_or_internal_data_index_of_traded_pressure, 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.
Definition at line 85 of file constrained_volume_elements.h.
References External_or_internal_data_index_of_traded_pressure, Index_of_traded_pressure_value, 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?
Definition at line 74 of file constrained_volume_elements.h.
Referenced by p_traded_data_pt(), ptraded_local_eqn(), and VolumeConstraintElement().
|
private |
Index of the value in traded pressure data that corresponds to the traded pressure.
Definition at line 82 of file constrained_volume_elements.h.
Referenced by index_of_traded_pressure(), p_traded(), ptraded_local_eqn(), and VolumeConstraintElement().
|
private |
Pointer to the desired value of the volume.
Definition at line 69 of file constrained_volume_elements.h.
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?
Definition at line 78 of file constrained_volume_elements.h.
Referenced by p_traded_data_pt(), ptraded_local_eqn(), and VolumeConstraintElement().