basso::DofMap Class Reference

Dof map. More...

#include <DofMap.h>

List of all members.

Public Member Functions

 DofMap (int nn=0, int maxnl=0)
int GlobalDof (int nid, int localdof) const
int NumNodes () const
int NumDof () const
void Resize (int nn, int nldof=0)
const iArray & GlobalDofs (int nid) const
void SetScatterVector (const iArray &conn, const Array< Dof > &ldofs, iArray &sctr) const
void Gather (const iArray &conn, const Array< Dof > &ldofs, const nArray &d, nArray &de) const
void Scatter (const iArray &conn, const Array< Dof > &ldofs, const nMatrix &ke, DynamicCSRMatrix &K) const
void Scatter (const iArray &conn, const Dof &ldofs, const nMatrix &ke, DynamicCSRMatrix &K) const
void Scatter (const iArray &conn, const Array< Dof > &ldofs, const nArray &fe, nArray &f) const
bool ActiveDof (int nid, int localdof) const
void AddNodalDof (int nid, int localdof)
void RenumberGlobalDofs ()


Detailed Description

Dof map.

This class maps a nodal (local) dof and global node id to a global equation number (or global dof) to be used in a system solve.

Definition at line 31 of file DofMap.h.


Constructor & Destructor Documentation

basso::DofMap::DofMap ( int  nn = 0,
int  maxnl = 0 
)

Constructs the DofMap

Parameters:
nn The number of nodes in the system
maxnl The number of maximum number of dofs assigned to each node space will be allocated in the dof map for maxnl dofs for each node. This can be changed later.

Definition at line 267 of file DofMap.h.

References NumNodes().


Member Function Documentation

int basso::DofMap::GlobalDof ( int  nid,
int  localdof 
) const [inline]

Returns the global dof number (gdof) from a global node id number and a local dof id number

Parameters:
nid global node id number
localdof local node dof id THIS DOES NO ERROR CHECKING to keep it fast but beware. Also, it will return negative global dof ids if the node is inactive.

Definition at line 49 of file DofMap.h.

Referenced by basso::DirichletBC::AddFixedDofs(), basso::PointLoadBC::ContributeForce(), and basso::operator<<().

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

Returns the number of nodes in the dof map

Definition at line 52 of file DofMap.h.

Referenced by ActiveDof(), DofMap(), and basso::operator<<().

int basso::DofMap::NumDof (  )  const [inline]

Returns the number of active dofs in the map

Definition at line 55 of file DofMap.h.

Referenced by basso::operator<<().

void basso::DofMap::Resize ( int  nn,
int  nldof = 0 
)

resizes the DofMap preserving any existing components

Definition at line 154 of file DofMap.h.

const iArray& basso::DofMap::GlobalDofs ( int  nid  )  const [inline]

Returns the global dof ids for a node.

Parameters:
nid inode id THIS DOES NO ERROR CHECKING to keep it fast but beware. Also, it will return negative global dof ids if the node is inactive.

Definition at line 65 of file DofMap.h.

Referenced by basso::operator<<().

void basso::DofMap::SetScatterVector ( const iArray &  conn,
const Array< Dof > &  ldofs,
iArray &  sctr 
) const

Sets the global dof ids in a scatter vector

Parameters:
conn array of the element node ids
ldofs an array of the local dofs ids
sctr on return contains the global dofs for each local dof at each node in conn The form of the sctr vector is as follows [ (node1,ldof1), (node1,ldof2), ..., (node2,ldof1), (node2,ldof2), ... ]

Definition at line 250 of file DofMap.h.

void basso::DofMap::Gather ( const iArray &  conn,
const Array< Dof > &  ldofs,
const nArray &  d,
nArray &  de 
) const

Gathers a from a global vector into a local vector.

Parameters:
conn array of the element node ids
ldofs an array of the local dofs ids
de the local vector
d the global vector The form of the scattering of ke is as follows [ (node1,ldof1), (node1,ldof2), ..., (node2,ldof1), (node2,ldof2), ... ]

Definition at line 163 of file DofMap.h.

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

void basso::DofMap::Scatter ( const iArray &  conn,
const Array< Dof > &  ldofs,
const nMatrix &  ke,
DynamicCSRMatrix &  K 
) const

Scatters a square local matrix into a global matrix.

Parameters:
conn array of the element node ids
ldofs an array of the local dofs ids
ke the local matrix
K the global matrix The form of the scattering of ke is as follows [ (node1,ldof1), (node1,ldof2), ..., (node2,ldof1), (node2,ldof2), ... ]

Definition at line 203 of file DofMap.h.

Referenced by basso::TractionBC::ContributeForce(), basso::Formulation::ContributeMassMatrix(), and basso::Formulation::ContributeStiffnessMatrix().

void basso::DofMap::Scatter ( const iArray &  conn,
const Dof &  ldofs,
const nMatrix &  ke,
DynamicCSRMatrix &  K 
) const

Scatters a square local matrix into a global matrix

Parameters:
conn array of the element node ids
ldof the local dofs id
ke the local matrix
K the global matrix The form of the scattering of ke is as follows [ (node1,ldof1), (node1,ldof2), ..., (node2,ldof1), (node2,ldof2), ... ]

Definition at line 228 of file DofMap.h.

void basso::DofMap::Scatter ( const iArray &  conn,
const Array< Dof > &  ldofs,
const nArray &  fe,
nArray &  f 
) const

Scatters a square local vector into a global vector

Parameters:
conn array of the element node ids
ldofs an array of the local dofs ids
fe the local vector
f the global vector The form of the scattering of fe is as follows [ (node1,ldof1), (node1,ldof2), ..., (node2,ldof1), (node2,ldof2), ... ]

Definition at line 184 of file DofMap.h.

bool basso::DofMap::ActiveDof ( int  nid,
int  localdof 
) const [inline]

Returns whether the node dof is active

Definition at line 121 of file DofMap.h.

References NumNodes().

Referenced by AddNodalDof(), basso::operator<<(), and RenumberGlobalDofs().

void basso::DofMap::AddNodalDof ( int  nid,
int  localdof 
)

Activates a global equation number (gdof) from a global node id number and a local dof id number

Parameters:
nid global node id number
localdof local node dof id

Definition at line 286 of file DofMap.h.

References ActiveDof().

Referenced by basso::Formulation::ActivateDofs().

void basso::DofMap::RenumberGlobalDofs (  ) 

Renumbers the equation numbers to keep all the nodes dofs together

Definition at line 277 of file DofMap.h.

References ActiveDof().

Referenced by basso::Formulation::ActivateDofs().


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