basso::Formulation Class Reference

Virtual base class for various element formulations. More...

#include <Formulation.h>

Inheritance diagram for basso::Formulation:

basso::DiffusionFormulation basso::StructuralFormulation basso::ElasticityFormulation basso::ElasticTruss2D basso::ElasticTruss3D List of all members.

Public Member Functions

 Formulation (list< Element > &elem, const Array< Node > &nodes)
virtual ~Formulation ()
int NumNodes () const
int NumElements () const
virtual int NumLocalDofs () const=0
virtual void ActivateDofs (DofMap &dofmap)
virtual const Array< Dof > & ActiveDofs () const
virtual void ContributeStiffnessMatrix (DynamicCSRMatrix &K)
virtual void ContributeMassMatrix (DynamicCSRMatrix &M)

Protected Member Functions

virtual void GetElementStiffnessMatrix (nMatrix &ke, list< Element >::const_iterator eItr)
virtual void GetElementMassMatrix (nMatrix &me, list< Element >::const_iterator eItr)
QuadratureRule::const_iterator QuadratureBegin () const
QuadratureRule::const_iterator QuadratureEnd () const
list< Element >::const_iterator ElementBegin () const
list< Element >::const_iterator ElementEnd () const
virtual Numeric SetDNx (list< Element >::const_iterator eItr, const Point &pt)
void Initialize ()
virtual bool SetElementParameters (list< Element >::const_iterator eItr, int qorder=2)
virtual Numeric MassFactor () const
virtual Numeric StiffnessFactor () const

Protected Attributes

list< Element > * fElement
const Array< Node > * fNode
Array< Dof > activeLocalDofs
nMatrix mDNxi
nMatrix mDNx
nMatrix mCoord
nArray mNa
int mNne
int mSdim
QuadratureRule mQuadrature
DofMapfDofMap
BasisType mLastElemType

Detailed Description

Virtual base class for various element formulations.

This is a base class to define how elements are formulated to form discrete finite element equations. This formulation acts basically as a scalar field formulation.

Definition at line 36 of file Formulation.h.


Constructor & Destructor Documentation

basso::Formulation::Formulation ( list< Element > &  elem,
const Array< Node > &  nodes 
) [inline]

void constructor

Definition at line 44 of file Formulation.h.

References fDofMap, fElement, fNode, Initialize(), basso::kNONE, and mLastElemType.


Member Function Documentation

int basso::Formulation::NumNodes (  )  const [inline]

returns the number of nodes in the Formulation

Definition at line 56 of file Formulation.h.

References fNode.

int basso::Formulation::NumElements (  )  const [inline]

returns the number of elements in the Formulation

Definition at line 59 of file Formulation.h.

References fElement.

virtual int basso::Formulation::NumLocalDofs (  )  const [pure virtual]

returns the number of local dofs for each node in the formulation

Implemented in basso::DiffusionFormulation, and basso::StructuralFormulation.

Referenced by ActivateDofs(), GetElementMassMatrix(), and GetElementStiffnessMatrix().

void basso::Formulation::ActivateDofs ( DofMap dofmap  )  [virtual]

Activates the local dofs in the DofMap

Definition at line 142 of file Formulation.h.

References basso::DofMap::AddNodalDof(), fDofMap, fElement, NumLocalDofs(), and basso::DofMap::RenumberGlobalDofs().

virtual const Array<Dof>& basso::Formulation::ActiveDofs (  )  const [inline, virtual]

Returns a const reference to an Array<Dof> of the local active dofs for the formulation

Definition at line 72 of file Formulation.h.

References activeLocalDofs.

Referenced by basso::StructuralFormulation::NodalAvgStress().

void basso::Formulation::ContributeStiffnessMatrix ( DynamicCSRMatrix &  K  )  [virtual]

Contributes to the stiffness matrix K from the formulation

Definition at line 173 of file Formulation.h.

References activeLocalDofs, fDofMap, fElement, GetElementStiffnessMatrix(), nMatrix, and basso::DofMap::Scatter().

void basso::Formulation::ContributeMassMatrix ( DynamicCSRMatrix &  M  )  [virtual]

Contributes to the consistent mass matrix M

Definition at line 154 of file Formulation.h.

References activeLocalDofs, fDofMap, fElement, GetElementMassMatrix(), nMatrix, and basso::DofMap::Scatter().

void basso::Formulation::GetElementStiffnessMatrix ( nMatrix &  ke,
list< Element >::const_iterator  eItr 
) [protected, virtual]

computes the element stiffness matrix

Reimplemented in basso::DiffusionFormulation, basso::ElasticTruss2D, basso::ElasticTruss3D, and basso::StructuralFormulation.

Definition at line 192 of file Formulation.h.

References basso::femmult_add(), Numeric, NumLocalDofs(), QuadratureBegin(), QuadratureEnd(), SetDNx(), SetElementParameters(), and StiffnessFactor().

Referenced by ContributeStiffnessMatrix().

void basso::Formulation::GetElementMassMatrix ( nMatrix &  me,
list< Element >::const_iterator  eItr 
) [protected, virtual]

computes the element stiffness matrix

Reimplemented in basso::ElasticTruss2D, and basso::ElasticTruss3D.

Definition at line 208 of file Formulation.h.

References basso::jacobian(), MassFactor(), mDNxi, mNa, mNne, Numeric, NumLocalDofs(), QuadratureBegin(), QuadratureEnd(), and SetElementParameters().

Referenced by ContributeMassMatrix().

QuadratureRule::const_iterator basso::Formulation::QuadratureBegin (  )  const [inline, protected]

returns a constant iterator to the first quadrature point for the element

Definition at line 92 of file Formulation.h.

References mQuadrature.

Referenced by GetElementMassMatrix(), basso::StructuralFormulation::GetElementStiffnessMatrix(), and GetElementStiffnessMatrix().

QuadratureRule::const_iterator basso::Formulation::QuadratureEnd (  )  const [inline, protected]

returns a constant iterator to the past end quadrature point for the element

Definition at line 94 of file Formulation.h.

References mQuadrature.

Referenced by GetElementMassMatrix(), basso::StructuralFormulation::GetElementStiffnessMatrix(), and GetElementStiffnessMatrix().

list<Element>::const_iterator basso::Formulation::ElementBegin (  )  const [inline, protected]

returns a constant iterator to the first element

Definition at line 97 of file Formulation.h.

References fElement.

list<Element>::const_iterator basso::Formulation::ElementEnd (  )  const [inline, protected]

returns a constant iterator to the past end element

Definition at line 99 of file Formulation.h.

References fElement.

Numeric basso::Formulation::SetDNx ( list< Element >::const_iterator  eItr,
const Point pt 
) [protected, virtual]

Sets the gradient of the shpae functions with resepct to the spacial coordinates

Parameters:
eItr iterator to the element
pt coordinate in the parent element space at which the gradient is taken Returns the determinate of the element Jacobian

Definition at line 229 of file Formulation.h.

References basso::grad_shape(), mCoord, mDNx, and nMatrix.

Referenced by GetElementStiffnessMatrix(), and basso::StructuralFormulation::SetBMatrix().

void basso::Formulation::Initialize (  )  [inline, protected]

initialize formulation parameters

Reimplemented in basso::DiffusionFormulation.

Definition at line 110 of file Formulation.h.

Referenced by basso::ElasticityFormulation::ElasticityFormulation(), basso::ElasticTruss2D::ElasticTruss2D(), basso::ElasticTruss3D::ElasticTruss3D(), and Formulation().

bool basso::Formulation::SetElementParameters ( list< Element >::const_iterator  eItr,
int  qorder = 2 
) [protected, virtual]

initialize element parameters and resize element vectors and matrices returns true if the parameters were changed else it returns false if they are the same as previous elements

Parameters:
eItr element list iterator to the element
qorder the intergration order

Reimplemented in basso::DiffusionFormulation, and basso::StructuralFormulation.

Definition at line 236 of file Formulation.h.

References basso::get_element_coordinates(), mCoord, mDNx, mDNxi, mLastElemType, mNa, mNne, mQuadrature, and mSdim.

Referenced by GetElementMassMatrix(), and GetElementStiffnessMatrix().

virtual Numeric basso::Formulation::MassFactor (  )  const [inline, protected, virtual]

scaling factor for the mass matrix

Reimplemented in basso::DiffusionFormulation.

Definition at line 121 of file Formulation.h.

Referenced by GetElementMassMatrix().

virtual Numeric basso::Formulation::StiffnessFactor (  )  const [inline, protected, virtual]

scaling factor for the stiffness matrix

Reimplemented in basso::DiffusionFormulation.

Definition at line 124 of file Formulation.h.

Referenced by GetElementStiffnessMatrix().


The documentation for this class was generated from the following file:
Generated on Sat Jan 19 09:03:58 2008 for Basso by  doxygen 1.5.2