ITK  4.9.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::fem::LoadEdge Class Reference

#include <itkFEMLoadEdge.h>

+ Inheritance diagram for itk::fem::LoadEdge:
+ Collaboration diagram for itk::fem::LoadEdge:

Detailed Description

A generic load that can be applied to an edge of the element.

Can also be used to apply natural (Neumann) boundary condition on the edge of the element. In this case m_Edge defines the edge or surfance of the element on which the BC exists and matrix m_Force holds the actual prescribed values of the BC.

Definition at line 40 of file itkFEMLoadEdge.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LoadEdge Self
 
typedef LoadElement Superclass
 
- Public Types inherited from itk::fem::LoadElement
typedef SmartPointer< const SelfConstPointer
 
typedef std::vector< const
Element * > 
ElementPointersVectorType
 
typedef Element::Float Float
 
typedef SmartPointer< SelfPointer
 
typedef LoadElement Self
 
typedef Load Superclass
 
- Public Types inherited from itk::fem::Load
typedef FEMPArray< SelfArrayType
 
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Load Self
 
typedef FEMLightObject Superclass
 
- Public Types inherited from itk::fem::FEMLightObject
typedef Self Baseclass
 
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef FEMLightObject Self
 
typedef itk::LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual void ApplyLoad (Element::ConstPointer element, Element::VectorType &Fe) override
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const override
 
int GetEdge () const
 
virtual const char * GetNameOfClass () const
 
void SetEdge (int edge)
 
void SetForce (const vnl_matrix< itk::fem::Element::Float > force)
 
const vnl_matrix
< itk::fem::Element::Float > & 
GetForce () const
 
vnl_matrix
< itk::fem::Element::Float > & 
GetForce ()
 
- Public Member Functions inherited from itk::fem::LoadElement
void AddNextElement (Element::ConstPointer e)
 
void AddNextElement (Element::Pointer e)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const override
 
Element::ConstPointer GetElement (int i)
 
ElementPointersVectorTypeGetElementArray ()
 
const ElementPointersVectorTypeGetElementArray () const
 
unsigned int GetNumberOfElements ()
 
 LoadElement ()
 
- Public Member Functions inherited from itk::fem::Load
const ElementGetElement () const
 
virtual Solution::ConstPointer GetSolution ()
 
void SetElement (const Element *el)
 
virtual void SetSolution (Solution::ConstPointer)
 
- Public Member Functions inherited from itk::fem::FEMLightObject
int GetGlobalNumber () const
 
void SetGlobalNumber (int)
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::fem::LoadElement
static Pointer New ()
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Member Functions

virtual void PrintSelf (std::ostream &os, Indent indent) const override
 
- Protected Member Functions inherited from itk::fem::LoadElement
void AddNextElementInternal (const Element *e)
 
- Protected Member Functions inherited from itk::fem::FEMLightObject
 FEMLightObject ()
 
 FEMLightObject (const FEMLightObject &o)
 
virtual ~FEMLightObject ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

int m_Edge
 
vnl_matrix< Floatm_Force
 
- Protected Attributes inherited from itk::fem::Load
Element::ConstPointer m_Element
 
- Protected Attributes inherited from itk::fem::FEMLightObject
int m_GlobalNumber
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Member Typedef Documentation

Definition at line 48 of file itkFEMLoadEdge.h.

Definition at line 47 of file itkFEMLoadEdge.h.

Standard class typedefs.

Definition at line 45 of file itkFEMLoadEdge.h.

Definition at line 46 of file itkFEMLoadEdge.h.

Member Function Documentation

virtual void itk::fem::LoadEdge::ApplyLoad ( Element::ConstPointer  element,
Element::VectorType Fe 
)
overridevirtual

Apply the load to the specified element

Reimplemented from itk::fem::LoadElement.

virtual::itk::LightObject::Pointer itk::fem::LoadEdge::CreateAnother ( void  ) const
overridevirtual

CreateAnother method will clone the existing instance of this type, including its internal member variables.

Reimplemented from itk::LightObject.

int itk::fem::LoadEdge::GetEdge ( ) const

Get the edge number on which the force is being applied

const vnl_matrix<itk::fem::Element::Float>& itk::fem::LoadEdge::GetForce ( ) const

Get the edge force values

vnl_matrix<itk::fem::Element::Float>& itk::fem::LoadEdge::GetForce ( )

Get the edge force values

virtual const char* itk::fem::LoadEdge::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::fem::LoadElement.

static Pointer itk::fem::LoadEdge::New ( )
static

New macro for creation of through the object factory.

virtual void itk::fem::LoadEdge::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::fem::LoadElement.

void itk::fem::LoadEdge::SetEdge ( int  edge)

Set the edge number on which the force is being applied

void itk::fem::LoadEdge::SetForce ( const vnl_matrix< itk::fem::Element::Float force)

Set the edge force values

Member Data Documentation

int itk::fem::LoadEdge::m_Edge
protected

Local number of the edge (face) of the element on which the load acts. Check the corresponding element class for more info on edge numbering.

Definition at line 92 of file itkFEMLoadEdge.h.

vnl_matrix<Float> itk::fem::LoadEdge::m_Force
protected

An edge force matrix. This matrix specifies nodal forces on all nodes within the edge or face on which the load acts. Each nodal force is decomposed into several components (check the documentation inside the element class). In case of 2D elements this components are normal (1st component) and tangential (2nd component) force acting on the edge of the element. A positive normal load acts in a direction INTO the element. A positive tangential load acts in an ANTICLOCKWISE direction with respect to the loaded elemenet. Each nodal force is stored in a column of the matrix. The number of columns in the Force matrix must correspond to the number of nodes that define the edge (face...). The force is interpolated over the entire edge (face) by using the shape functions of the element. Again check the documentation of the element class to which the force is applied.

Definition at line 110 of file itkFEMLoadEdge.h.


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