Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT > Class Template Reference

A class for elements that allow the imposition of an applied traction in the equations of time-harmonic linear elasticity from a PMLHelmholtz potential (interpreted as a displacement potential for the fluid in a quasi-steady, linearised FSI problem.) The geometrical information can be read from the FaceGeometry<ELEMENT> class and thus, we can be generic enough without the need to have a separate equations class. More...

#include <pml_helmholtz_time_harmonic_linear_elasticity_interaction.h>

Inheritance diagram for oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >:

Public Member Functions

 TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement (FiniteElement *const &element_pt, const int &face_index)
 Constructor, which takes a "bulk" element and the value of the index and its limit. More...
 
void fill_in_contribution_to_residuals (Vector< double > &residuals)
 Return the residuals. More...
 
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Fill in contribution from Jacobian. More...
 
const double & q () const
 Return the ratio of the stress scales used to non-dimensionalise the fluid and elasticity equations. E.g. $ Q = (\omega a)^2 \rho/E $, i.e. the ratio between the inertial fluid stress and the solid's elastic modulus E. More...
 
double *& q_pt ()
 Return a pointer the ratio of stress scales used to non-dimensionalise the fluid and solid equations. More...
 
void output (std::ostream &outfile)
 Output function. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Output function: Plot traction etc at Gauss points nplot is ignored. More...
 
void output (FILE *file_pt)
 C_style output function. More...
 
void output (FILE *file_pt, const unsigned &n_plot)
 C-style output function. More...
 
std::complex< double > global_flux_contribution_from_solid ()
 Compute the global_flux_contribution through the template elasticity elements : we compute u.n. More...
 
std::complex< double > global_flux_contribution_from_solid (std::ofstream &outfile)
 Compute the element's contribution to the integral of the flux over the artificial boundary. Also output the flux in the specified output file if it's open. More...
 
std::complex< double > global_flux_contribution_from_helmholtz ()
 Compute the global_flux_contribution through the helmholtz elements : we compute dphidn.n. More...
 
std::complex< double > global_flux_contribution_from_helmholtz (std::ofstream &outfile)
 Compute the element's contribution to the integral of the flux over the artificial boundary. Also output the flux in the specified output file if it's open. More...
 

Protected Member Functions

void fill_in_contribution_to_residuals_helmholtz_traction (Vector< double > &residuals)
 Helper function that actually calculates the residuals. More...
 

Protected Attributes

double * Q_pt
 Pointer to the ratio, $ Q $ , of the stress used to non-dimensionalise the fluid stresses to the stress used to non-dimensionalise the solid stresses. More...
 
Vector< std::complex< unsigned > > U_index_time_harmonic_linear_elasticity_helmholtz_traction
 Index at which the i-th displacement component is stored. More...
 

Static Protected Attributes

static double Default_Q_Value = 1.0
 Static default value for the ratio of stress scales used in the fluid and solid equations (default is 1.0) More...
 

Detailed Description

template<class ELASTICITY_BULK_ELEMENT, class HELMHOLTZ_BULK_ELEMENT>
class oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >

A class for elements that allow the imposition of an applied traction in the equations of time-harmonic linear elasticity from a PMLHelmholtz potential (interpreted as a displacement potential for the fluid in a quasi-steady, linearised FSI problem.) The geometrical information can be read from the FaceGeometry<ELEMENT> class and thus, we can be generic enough without the need to have a separate equations class.

Definition at line 47 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

Constructor & Destructor Documentation

◆ TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement()

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement ( FiniteElement *const &  element_pt,
const int &  face_index 
)
inline

Member Function Documentation

◆ fill_in_contribution_to_jacobian()

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
void oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::fill_in_contribution_to_jacobian ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian 
)
inline

◆ fill_in_contribution_to_residuals()

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
void oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::fill_in_contribution_to_residuals ( Vector< double > &  residuals)
inline

◆ fill_in_contribution_to_residuals_helmholtz_traction()

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
void oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::fill_in_contribution_to_residuals_helmholtz_traction ( Vector< double > &  residuals)
protected

◆ global_flux_contribution_from_helmholtz() [1/2]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
std::complex<double> oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::global_flux_contribution_from_helmholtz ( )
inline

Compute the global_flux_contribution through the helmholtz elements : we compute dphidn.n.

Definition at line 347 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ global_flux_contribution_from_helmholtz() [2/2]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
std::complex<double> oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::global_flux_contribution_from_helmholtz ( std::ofstream &  outfile)
inline

Compute the element's contribution to the integral of the flux over the artificial boundary. Also output the flux in the specified output file if it's open.

Definition at line 357 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ global_flux_contribution_from_solid() [1/2]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
std::complex<double> oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::global_flux_contribution_from_solid ( )
inline

Compute the global_flux_contribution through the template elasticity elements : we compute u.n.

Definition at line 256 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ global_flux_contribution_from_solid() [2/2]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
std::complex<double> oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::global_flux_contribution_from_solid ( std::ofstream &  outfile)
inline

Compute the element's contribution to the integral of the flux over the artificial boundary. Also output the flux in the specified output file if it's open.

Definition at line 266 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ output() [1/4]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
void oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::output ( FILE *  file_pt)
inline

C_style output function.

Definition at line 243 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ output() [2/4]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
void oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::output ( FILE *  file_pt,
const unsigned &  n_plot 
)
inline

C-style output function.

Definition at line 249 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ output() [3/4]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
void oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::output ( std::ostream &  outfile)
inline

Output function.

Dummy

Definition at line 169 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ output() [4/4]

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
void oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::output ( std::ostream &  outfile,
const unsigned &  n_plot 
)
inline

◆ q()

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
const double& oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::q ( ) const
inline

Return the ratio of the stress scales used to non-dimensionalise the fluid and elasticity equations. E.g. $ Q = (\omega a)^2 \rho/E $, i.e. the ratio between the inertial fluid stress and the solid's elastic modulus E.

Definition at line 155 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

References oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::Q_pt.

Referenced by oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::output().

◆ q_pt()

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
double*& oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::q_pt ( )
inline

Return a pointer the ratio of stress scales used to non-dimensionalise the fluid and solid equations.

Definition at line 162 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

References oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::Q_pt.

Member Data Documentation

◆ Default_Q_Value

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
double oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::Default_Q_Value = 1.0
staticprotected

Static default value for the ratio of stress scales used in the fluid and solid equations (default is 1.0)

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

Static default value for the ragoogletio of stress scales used in the fluid and solid equations (default is 1.0)

Definition at line 60 of file pml_helmholtz_time_harmonic_linear_elasticity_interaction.h.

◆ Q_pt

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
double* oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::Q_pt
protected

◆ U_index_time_harmonic_linear_elasticity_helmholtz_traction

template<class ELASTICITY_BULK_ELEMENT , class HELMHOLTZ_BULK_ELEMENT >
Vector<std::complex<unsigned> > oomph::TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement< ELASTICITY_BULK_ELEMENT, HELMHOLTZ_BULK_ELEMENT >::U_index_time_harmonic_linear_elasticity_helmholtz_traction
protected

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