Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
oomph::VolumeConstraintBoundingElement Class Referenceabstract

////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// More...

#include <constrained_volume_elements.h>

Inheritance diagram for oomph::VolumeConstraintBoundingElement:
oomph::AxisymmetricVolumeConstraintBoundingElement oomph::LineVolumeConstraintBoundingElement oomph::SurfaceVolumeConstraintBoundingElement oomph::ElasticAxisymmetricVolumeConstraintBoundingElement< ELEMENT > oomph::SpineAxisymmetricVolumeConstraintBoundingElement< ELEMENT > oomph::ElasticLineVolumeConstraintBoundingElement< ELEMENT > oomph::SpineLineVolumeConstraintBoundingElement< ELEMENT > oomph::ElasticSurfaceVolumeConstraintBoundingElement< ELEMENT > oomph::SpineSurfaceVolumeConstraintBoundingElement< ELEMENT >

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...
 

Detailed Description

////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////

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.

Constructor & Destructor Documentation

◆ VolumeConstraintBoundingElement()

oomph::VolumeConstraintBoundingElement::VolumeConstraintBoundingElement ( )
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.

◆ ~VolumeConstraintBoundingElement()

oomph::VolumeConstraintBoundingElement::~VolumeConstraintBoundingElement ( )
inline

Empty Destructor.

Definition at line 242 of file constrained_volume_elements.h.

Member Function Documentation

◆ fill_in_contribution_to_residuals()

void oomph::VolumeConstraintBoundingElement::fill_in_contribution_to_residuals ( Vector< double > &  residuals)
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().

◆ fill_in_generic_residual_contribution_volume_constraint()

virtual void oomph::VolumeConstraintBoundingElement::fill_in_generic_residual_contribution_volume_constraint ( Vector< double > &  residuals)
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().

◆ ptraded_local_eqn()

int oomph::VolumeConstraintBoundingElement::ptraded_local_eqn ( )
inlineprotected

◆ set_volume_constraint_element()

void oomph::VolumeConstraintBoundingElement::set_volume_constraint_element ( VolumeConstraintElement *const &  vol_constraint_el_pt,
const bool &  check_nodal_data = true 
)
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.

Member Data Documentation

◆ Data_number_of_traded_pressure

unsigned oomph::VolumeConstraintBoundingElement::Data_number_of_traded_pressure
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().

◆ Index_of_traded_pressure_value

unsigned oomph::VolumeConstraintBoundingElement::Index_of_traded_pressure_value
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().

◆ Traded_pressure_stored_at_node

bool oomph::VolumeConstraintBoundingElement::Traded_pressure_stored_at_node
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().


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