#include <Formulation.h>
Inheritance diagram for basso::Formulation:
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 |
DofMap * | fDofMap |
BasisType | mLastElemType |
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.
void constructor
Definition at line 44 of file Formulation.h.
References fDofMap, fElement, fNode, Initialize(), basso::kNONE, and mLastElemType.
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
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
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().