Example codes
and tutorials
The (Not-so) Quick Guide
List of tutorials/demo codes
Single-Physics Problems
Poisson
Adaptivity illustrated for Poisson
Advection-Diffusion
Unsteady heat equation
Linear wave equation
The Young-Laplace equation
Navier-Stokes
Free-surface Navier-Stokes
Axisymmetric Navier-Stokes
Solid mechanics
Beam structures
Shell structures
Multi-physics Problems
Fluid-structure interaction
Boussinesq convection
Steady thermoelasticity
Methods-based example codes and tutorials
Mesh generation
Linear solvers and preconditioners
Visualisation of the results
Parallel processing
How to write a new element
How to write a new refineable element
Default nonlinear solvers -- the sequence of action functions
...
Documentation
FE theory and top-down discussion of the data structure
The (Not-so) Quick Guide
Comprehensive bottom-up discussion of the data structure
List of available structured and unstructured meshes
Linear solvers and preconditioners
Visualisation of the results
Parallel processing
Coding conventions and C++ style
Creating documentation
Optimisation - robustness vs. "raw speed"
Linear vs. nonlinear problems
Storing shape functions
Changing the default "full" integration scheme
Disabling the ALE formulation of unsteady equations
C vs. C++ output
Different sparse assembly techniques and the STL memory pool
Publications
Publications
Talks
Journal publications
Theses
Picture show
Download
Copyright
Download/installation instructions
Download page
FAQ & Contact
FAQ
Change log
Bugs and other known problems
Completeness of the library & our "To-Do List"
Contact the developers
Get involved

 


Beta release!

Please note that the library has not been "officially" released. While we continue to work on the documentation, these web pages are likely to contain broken links and documents in draft form. Please send an email to

oomph-lib AT maths DOT man DOT ac DOT uk

if you wish to be informed of the library's "official" release.

oomph::LinearElasticityTractionElement< ELEMENT > Class Template Reference

#include <linear_elasticity_traction_elements.h>

Inheritance diagram for oomph::LinearElasticityTractionElement< ELEMENT >:

oomph::FaceGeometry< ELEMENT > oomph::FaceElement oomph::FiniteElement oomph::GeneralisedElement oomph::GeomObject List of all members.

Detailed Description

template<class ELEMENT>
class oomph::LinearElasticityTractionElement< ELEMENT >

A class for elements that allow the imposition of an applied traction in the principle of virtual displacements. The geometrical information can be read from the FaceGeometry<ELEMENT> class and and thus, we can be generic enough without the need to have a separate equations class.

Definition at line 77 of file linear_elasticity_traction_elements.h.


Public Member Functions

 LinearElasticityTractionElement (FiniteElement *const &element_pt, const int &face_index)
 Constructor, which takes a "bulk" element and the value of the index and its limit.
void(* traction_fct_pt ())(const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Reference to the traction function pointer.
void fill_in_contribution_to_residuals (Vector< double > &residuals)
 Return the residuals.
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Fill in contribution from Jacobian.
void output (std::ostream &outfile)
 Output function.
void output (std::ostream &outfile, const unsigned &n_plot)
 Output function.
void output (FILE *file_pt)
 C_style output function.
void output (FILE *file_pt, const unsigned &n_plot)
 C-style output function.
void traction (const Vector< double > &s, Vector< double > &traction)
 Compute traction vector at specified local coordinate Should only be used for post-processing; ignores dependence on integration point!

Protected Member Functions

virtual void get_traction (const unsigned &intpt, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Get the traction vector: Pass number of integration point (dummy), Lagr. coordinate and normal vector and return the load vector (not all of the input arguments will be required for all specific load functions but the list should cover all cases). This function is virtual so it can be overloaded for FSI.
void fill_in_contribution_to_residuals_linear_elasticity_traction (Vector< double > &residuals)
 Return the residuals for the LinearElasticityTractionElement equations.

Protected Attributes

Vector< unsigned > U_index_linear_elasticity_traction
 Index at which the i-th velocity component is stored.
void(* Traction_fct_pt )(const Vector< double > &x, const Vector< double > &n, Vector< double > &result)
 Pointer to an imposed traction function. Arguments: Lagrangian coordinate; Eulerian coordinate; outer unit normal; applied traction. (Not all of the input arguments will be required for all specific load functions but the list should cover all cases).

Constructor & Destructor Documentation

template<class ELEMENT>
oomph::LinearElasticityTractionElement< ELEMENT >::LinearElasticityTractionElement ( FiniteElement *const &  element_pt,
const int &  face_index 
) [inline]

Constructor, which takes a "bulk" element and the value of the index and its limit.

Definition at line 122 of file linear_elasticity_traction_elements.h.

References oomph::FiniteElement::build_face_element(), oomph::FiniteElement::nodal_dimension(), OOMPH_EXCEPTION_LOCATION, oomph::LinearElasticityTractionElement< ELEMENT >::Traction_fct_pt, oomph::LinearElasticityTractionElement< ELEMENT >::U_index_linear_elasticity_traction, and oomph::LinearElasticityTractionElementHelper::Zero_traction_fct().


Member Function Documentation

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_jacobian ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian 
) [inline, virtual]

Fill in contribution from Jacobian.

Reimplemented from oomph::FiniteElement.

Definition at line 183 of file linear_elasticity_traction_elements.h.

References oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction().

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals ( Vector< double > &  residuals  )  [inline, virtual]

Return the residuals.

Reimplemented from oomph::GeneralisedElement.

Definition at line 175 of file linear_elasticity_traction_elements.h.

References oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction().

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction ( Vector< double > &  residuals  )  [protected]

Return the residuals for the LinearElasticityTractionElement equations.

Definition at line 254 of file linear_elasticity_traction_elements.h.

References oomph::FiniteElement::dshape_local_at_knot(), oomph::LinearElasticityTractionElement< ELEMENT >::get_traction(), oomph::FiniteElement::integral_pt(), oomph::FaceElement::interpolated_x(), oomph::FiniteElement::nnodal_position_type(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_dimension(), oomph::FiniteElement::nodal_position(), oomph::Integral::nweight(), OOMPH_EXCEPTION_LOCATION, oomph::FaceElement::outer_unit_normal(), oomph::LinearElasticityTractionElement< ELEMENT >::traction(), and oomph::QuadTreeNames::W.

Referenced by oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_jacobian(), and oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals().

template<class ELEMENT>
virtual void oomph::LinearElasticityTractionElement< ELEMENT >::get_traction ( const unsigned &  intpt,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  traction 
) [inline, protected, virtual]

Get the traction vector: Pass number of integration point (dummy), Lagr. coordinate and normal vector and return the load vector (not all of the input arguments will be required for all specific load functions but the list should cover all cases). This function is virtual so it can be overloaded for FSI.

Definition at line 101 of file linear_elasticity_traction_elements.h.

References oomph::LinearElasticityTractionElement< ELEMENT >::traction(), and oomph::LinearElasticityTractionElement< ELEMENT >::Traction_fct_pt.

Referenced by oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), and oomph::LinearElasticityTractionElement< ELEMENT >::traction().

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::output ( FILE *  file_pt,
const unsigned &  n_plot 
) [inline, virtual]

C-style output function.

Reimplemented from oomph::FiniteElement.

Definition at line 205 of file linear_elasticity_traction_elements.h.

References oomph::CommandLineArgs::output().

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::output ( FILE *  file_pt  )  [inline, virtual]

C_style output function.

Reimplemented from oomph::FiniteElement.

Definition at line 201 of file linear_elasticity_traction_elements.h.

References oomph::CommandLineArgs::output().

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::output ( std::ostream &  outfile,
const unsigned &  n_plot 
) [inline, virtual]

Output function.

Reimplemented from oomph::FiniteElement.

Definition at line 197 of file linear_elasticity_traction_elements.h.

References oomph::CommandLineArgs::output().

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::output ( std::ostream &  outfile  )  [inline, virtual]

Output function.

Reimplemented from oomph::FiniteElement.

Definition at line 193 of file linear_elasticity_traction_elements.h.

References oomph::CommandLineArgs::output().

template<class ELEMENT>
void oomph::LinearElasticityTractionElement< ELEMENT >::traction ( const Vector< double > &  s,
Vector< double > &  traction 
)

Compute traction vector at specified local coordinate Should only be used for post-processing; ignores dependence on integration point!

Compute traction vector at specified local coordinate Should only be used for post-processing; ignores dependence on integration point!

Definition at line 227 of file linear_elasticity_traction_elements.h.

References oomph::LinearElasticityTractionElement< ELEMENT >::get_traction(), oomph::FaceElement::interpolated_x(), oomph::FiniteElement::nodal_dimension(), and oomph::FaceElement::outer_unit_normal().

Referenced by oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), and oomph::LinearElasticityTractionElement< ELEMENT >::get_traction().

template<class ELEMENT>
void(* oomph::LinearElasticityTractionElement< ELEMENT >::traction_fct_pt (  )  [inline]

Reference to the traction function pointer.

Definition at line 168 of file linear_elasticity_traction_elements.h.

References oomph::LinearElasticityTractionElement< ELEMENT >::Traction_fct_pt.


Member Data Documentation

template<class ELEMENT>
void(* oomph::LinearElasticityTractionElement< ELEMENT >::Traction_fct_pt)(const Vector< double > &x, const Vector< double > &n, Vector< double > &result) [protected]

Pointer to an imposed traction function. Arguments: Lagrangian coordinate; Eulerian coordinate; outer unit normal; applied traction. (Not all of the input arguments will be required for all specific load functions but the list should cover all cases).

Referenced by oomph::LinearElasticityTractionElement< ELEMENT >::get_traction(), oomph::LinearElasticityTractionElement< ELEMENT >::LinearElasticityTractionElement(), and oomph::LinearElasticityTractionElement< ELEMENT >::traction_fct_pt().

template<class ELEMENT>
Vector<unsigned> oomph::LinearElasticityTractionElement< ELEMENT >::U_index_linear_elasticity_traction [protected]

Index at which the i-th velocity component is stored.

Definition at line 83 of file linear_elasticity_traction_elements.h.

Referenced by oomph::LinearElasticityTractionElement< ELEMENT >::LinearElasticityTractionElement().


The documentation for this class was generated from the following file:
Generated on Mon Aug 10 11:28:13 2009 by  doxygen 1.4.7