3D Beam Finite Element Code  1.0
Public Member Functions | List of all members
fea::GlobalStiffAssembler Class Reference

Assembles the global stiffness matrix. More...

#include <threed_beam_fea.h>

Public Member Functions

 GlobalStiffAssembler ()
 Default constructor. More...
 
void operator() (SparseMat &Kg, const Job &job, const std::vector< Tie > &ties)
 Assembles the global stiffness matrix. More...
 
void calcKelem (unsigned int i, const Job &job)
 Updates the elemental stiffness matrix for the ith element. More...
 
void calcAelem (const Eigen::Vector3d &nx, const Eigen::Vector3d &nz)
 Updates the rotation and transposed rotation matrices. More...
 
LocalMatrix getKelem ()
 Returns the currently stored elemental stiffness matrix. More...
 
LocalMatrix getAelem ()
 Returns the currently stored rotation matrix. More...
 

Detailed Description

Assembles the global stiffness matrix.

Constructor & Destructor Documentation

fea::GlobalStiffAssembler::GlobalStiffAssembler ( )
inline

Default constructor.

Initializes all entries in member matrices to 0.0.

Member Function Documentation

void fea::GlobalStiffAssembler::calcAelem ( const Eigen::Vector3d &  nx,
const Eigen::Vector3d &  nz 
)

Updates the rotation and transposed rotation matrices.

The rotation matrices Aelem and AelemT are updated based on the 2 specified unit normal vectors along the local x and y directions.

Parameters
[in]nxEigen::Matrix3d. Unit normal vector in global space parallel to the beam element's local x-direction.
[in]nyEigen::Matrix3d. Unit normal vector in global space parallel to the beam element's local y-direction.

Here is the caller graph for this function:

void fea::GlobalStiffAssembler::calcKelem ( unsigned int  i,
const Job job 
)

Updates the elemental stiffness matrix for the ith element.

Parameters
[in]iunsigned int. Specifies the ith element for which the elemental stiffness matrix is calculated.
[in]jobJob. Current fea::Job to analyze contains node, element, and property lists.

Here is the call graph for this function:

Here is the caller graph for this function:

LocalMatrix fea::GlobalStiffAssembler::getAelem ( )
inline

Returns the currently stored rotation matrix.

Returns
Rotation matrix fea::LocalMatrix.
LocalMatrix fea::GlobalStiffAssembler::getKelem ( )
inline

Returns the currently stored elemental stiffness matrix.

Returns
Elemental stiffness matrix fea::LocalMatrix.
void fea::GlobalStiffAssembler::operator() ( SparseMat Kg,
const Job job,
const std::vector< Tie > &  ties 
)

Assembles the global stiffness matrix.

The input stiffness matrix is modified in place to contain the correct values for the given job. Assumes that the input stiffness matrix has the correct dimensions and all values are initially set to zero.

Parameters
Kgfea::GlobalStiffMatrix. Modified in place. After evaluation, Kg contains the correct values for the global stiffness matrix due to the input Job.
[in]jobfea::Job. Current Job to analyze contains node, element, and property lists.
[in]tiesstd::vector<fea::Tie>. Vector of ties that apply to attach springs of specified stiffness to all nodal degrees of freedom between each set of nodes indicated.

Here is the call graph for this function:


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