////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// More...
#include <constrained_volume_elements.h>
Public Member Functions | |
VolumeConstraintBoundingElement () | |
Constructor initialise the boolean flag We expect the traded pressure data to be stored externally. More... | |
~VolumeConstraintBoundingElement () | |
Empty Destructor. More... | |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Fill in contribution to residuals and Jacobian. More... | |
void | set_volume_constraint_element (VolumeConstraintElement *const &vol_constraint_el_pt, const bool &check_nodal_data=true) |
Set the "master" volume constraint element The setup here is a bit more complicated than one might expect because if an internal pressure on a boundary is hijacked in TaylorHood elements then that the "traded" value may already be stored as nodal data in this element. This causes no problems apart from when running with PARANOID in which case the resulting repeated local equation numbers are spotted and an error is thrown. The check is a finite amount of work and so can be avoided if the boolean flag check_nodal_data is set to false. More... | |
Protected Member Functions | |
int | ptraded_local_eqn () |
The local eqn number for the traded pressure. More... | |
virtual void | fill_in_generic_residual_contribution_volume_constraint (Vector< double > &residuals)=0 |
Helper function to fill in contributions to residuals (remember that part of the residual is added by the the associated VolumeConstraintElement). This is dimension/geometry specific and must be implemented in derived classes for 1D line, 2D surface and axisymmetric fluid boundaries. More... | |
Protected Attributes | |
unsigned | Data_number_of_traded_pressure |
The Data that contains the traded pressure is usually stored as external Data for this element, but may also be nodal Data Which Data item is it? More... | |
unsigned | Index_of_traded_pressure_value |
Index of the value in traded pressure data that corresponds to the traded pressure. More... | |
bool | Traded_pressure_stored_at_node |
Boolean to indicate whether the traded pressure is stored externally or at a node (this can happen in Taylor-Hood elements) More... | |
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
Base class for interface elements that allow the application of a volume constraint on the region bounded by these elements. The elements must be used together with the associated VolumeConstraintElement which stores the value of the target volume. Common functionality is provided in this base for storing the external "pressure" value that is traded for the volume constraint.
Definition at line 195 of file constrained_volume_elements.h.
|
inline |
Constructor initialise the boolean flag We expect the traded pressure data to be stored externally.
Definition at line 239 of file constrained_volume_elements.h.
|
inline |
Empty Destructor.
Definition at line 242 of file constrained_volume_elements.h.
|
inline |
Fill in contribution to residuals and Jacobian.
Definition at line 245 of file constrained_volume_elements.h.
References fill_in_generic_residual_contribution_volume_constraint().
|
protectedpure virtual |
Helper function to fill in contributions to residuals (remember that part of the residual is added by the the associated VolumeConstraintElement). This is dimension/geometry specific and must be implemented in derived classes for 1D line, 2D surface and axisymmetric fluid boundaries.
Implemented in oomph::SurfaceVolumeConstraintBoundingElement, oomph::AxisymmetricVolumeConstraintBoundingElement, and oomph::LineVolumeConstraintBoundingElement.
Referenced by fill_in_contribution_to_residuals().
|
inlineprotected |
The local eqn number for the traded pressure.
Definition at line 213 of file constrained_volume_elements.h.
References Data_number_of_traded_pressure, Index_of_traded_pressure_value, and Traded_pressure_stored_at_node.
Referenced by oomph::LineVolumeConstraintBoundingElement::fill_in_generic_residual_contribution_volume_constraint(), oomph::AxisymmetricVolumeConstraintBoundingElement::fill_in_generic_residual_contribution_volume_constraint(), and oomph::SurfaceVolumeConstraintBoundingElement::fill_in_generic_residual_contribution_volume_constraint().
|
inline |
Set the "master" volume constraint element The setup here is a bit more complicated than one might expect because if an internal pressure on a boundary is hijacked in TaylorHood elements then that the "traded" value may already be stored as nodal data in this element. This causes no problems apart from when running with PARANOID in which case the resulting repeated local equation numbers are spotted and an error is thrown. The check is a finite amount of work and so can be avoided if the boolean flag check_nodal_data is set to false.
Definition at line 261 of file constrained_volume_elements.h.
References Data_number_of_traded_pressure, oomph::VolumeConstraintElement::index_of_traded_pressure(), Index_of_traded_pressure_value, oomph::VolumeConstraintElement::p_traded_data_pt(), and Traded_pressure_stored_at_node.
|
protected |
The Data that contains the traded pressure is usually stored as external Data for this element, but may also be nodal Data Which Data item is it?
Definition at line 201 of file constrained_volume_elements.h.
Referenced by ptraded_local_eqn(), and set_volume_constraint_element().
|
protected |
Index of the value in traded pressure data that corresponds to the traded pressure.
Definition at line 205 of file constrained_volume_elements.h.
Referenced by ptraded_local_eqn(), and set_volume_constraint_element().
|
protected |
Boolean to indicate whether the traded pressure is stored externally or at a node (this can happen in Taylor-Hood elements)
Definition at line 210 of file constrained_volume_elements.h.
Referenced by ptraded_local_eqn(), and set_volume_constraint_element().