sfem::mesh::InternalConstraintDefinition Class Reference

... the abstract base class for element types More...

#include <internalconstraintdefinition.hpp>

Collaboration diagram for sfem::mesh::InternalConstraintDefinition:

Collaboration graph
[legend]

List of all members.

Public Types

typedef size_t count_type
typedef unsigned int index_type
typedef double real_type
typedef Eigen::SparseMatrix
< double, Eigen::ColMajor > 
TSparseMatrix
typedef
Eigen::DynamicSparseMatrix
< double, Eigen::ColMajor > 
TSparseMatrixRandom
typedef Eigen::SparseVector
< double > 
TSparseVector
typedef Eigen::VectorXd TVector
typedef Eigen::Matrix< int,
Eigen::Dynamic, 1 > 
TVectorUint
typedef Eigen::Map< TVector > TVectorView
typedef std::pair< index_type,
real_type > 
TypeCoeffPair
typedef std::list< TypeCoeffPair > TypeCoeffPairList
typedef std::vector
< TypeCoeffPairList > 
TypeCoeffPairListVector
typedef std::vector< real_type > TypeRealVector
typedef unsigned int uint
typedef unsigned short ushort

Public Member Functions

void addConstraint (const TypeCoeffPairList &thecoeffs, const real_type &therhs)
 adds a single constraint equation given by a list of pairs(coefficient,global dof id) and the right hand side
void addRestraint (const index_type &thedof, const real_type &value=0)
 restraints the DOF given by its global idx to be zero
void addRestraintMechanicalDof (const index_type &part_index, const index_type &thenode, const index_type &localdof, const real_type &value=0)
 restraints the DOF given by its node idx (and part) and its nodal idx to be zero
void clear ()
 deletes all constraint definitions
void createConstraintMatrix (const InternalConstraintDefinition &additional_constraints, TSparseMatrix &conre_matrix, TSparseVector &offset_slave_dofs) const
const TypeCoeffPairListVector & getConstraintCoeffs () const
 a getter for constraint_coeffs
const TypeRealVector & getConstraintRhs () const
 a getter for constraint_rhs
 InternalConstraintDefinition (const DofHandler &thedofs)

Protected Member Functions

TypeCoeffPairListVector & setConstraintCoeffs ()
 a setter for constraint_coeffs
TypeRealVector & setConstraintRhs ()
 a setter for constraint_rhs

Protected Attributes

TypeCoeffPairListVector constraint_coeffs
TypeRealVector constraint_rhs
 the right hand sides of the constraint equations
const DofHandlerdofhandler
 a reference to the refering dofhandler


Detailed Description

... the abstract base class for element types

Member Function Documentation

void sfem::mesh::InternalConstraintDefinition::createConstraintMatrix ( const InternalConstraintDefinition additional_constraints,
TSparseMatrix &  conre_matrix,
TSparseVector &  offset_slave_dofs 
) const

creates the constraint relations in algebraic form, i.e. u_global = D*u_master+b The number of rows corresponds to the number of available (global) dofs, the number of columns is the number of active (master) dofs.

Parameters:
additional_constraints may be empty. It may contain additional consraint definitions to be added to conre-relations
conre_matrix will contain the matrix D
offset_slave_dofs will contain teh vector b


Member Data Documentation

the coefficients of the constraint matrix (each row is one constraint; indices refer to the global DOF id) one reads: sum_i coefficient_i*dof_i = rhs


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

Generated on Wed Nov 17 17:35:54 2010 for 'sfem' Module Programming Interface by  doxygen 1.5.6