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

#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
 
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 200 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 247 of file constrained_volume_elements.h.

◆ ~VolumeConstraintBoundingElement()

oomph::VolumeConstraintBoundingElement::~VolumeConstraintBoundingElement ( )
inline

Empty Destructor.

Definition at line 251 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 254 of file constrained_volume_elements.h.

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

◆ ptraded_local_eqn()

int oomph::VolumeConstraintBoundingElement::ptraded_local_eqn ( )
inlineprotected

The local eqn number for the traded pressure.

Definition at line 220 of file constrained_volume_elements.h.

◆ 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 270 of file constrained_volume_elements.h.

References oomph::VolumeConstraintElement::index_of_traded_pressure(), and oomph::VolumeConstraintElement::p_traded_data_pt().

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 208 of file constrained_volume_elements.h.

◆ 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 212 of file constrained_volume_elements.h.

◆ 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 217 of file constrained_volume_elements.h.


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