My Project
Public Member Functions | Public Attributes | List of all members
Element Class Referenceabstract

Contains element data and relevant functions. More...

#include <Element.h>

Inherited by QuadraticElement, and TriangularElement.

Public Member Functions

 Element ()
 Constructor.
 
virtual MatrixXd getShapefunction (double zeta1, double zeta2, double zeta3)=0
 Calculates the Matrix containing shape functions
. More...
 
virtual MatrixXd getNMatrix (double zeta1, double zeta2, double zeta3)=0
 Returns a matrix of matrices with shape functions.
 
virtual void calculateConstants ()=0
 Calculates the constant vectors and matrices for the element; i.e. G, xCoordinates, and yCoordinates.
 
virtual void calculateStiffnessMatrix ()=0
 Calculates the element stiffness matrix K.
 
virtual void calculateElementLoadTorsion ()=0
 Calculates the initial load vector for torsion.
 
virtual void calculateElementLoadShearX ()=0
 Calculates the initial load vector for shear along X.
 
virtual void calculateElementLoadShearY ()=0
 Calculates the initial load vector for shear along Y.
 
virtual void computeTau ()=0
 Calculates shear stresses at nodes using initialStrain and elementsDisplacement. More...
 
virtual double xOfZeta (double zeta1, double zeta2)=0
 
virtual double yOfZeta (double zeta1, double zeta2)=0
 
virtual void calculateArea ()=0
 
virtual void calculateAreaCentre ()=0
 
virtual double getBendingStiffnessX (double)=0
 
virtual double getBendingStiffnessY (double)=0
 
virtual double getBendingStiffnessProduct (double, double)=0
 
MatrixXd getNxMatrix ()
 Returns the shapefunction as a function of x and y. More...
 
MatrixXd getNyMatrix ()
 Returns the second row of the B matrix, i.e. N differentiated with respect to y.
 
std::vector< int > getIEG ()
 Creates a vector with node numbers that makes up the element. More...
 
void setElementValue (MatrixXd &system, MatrixXd &local)
 Uses getIEG() to assign system values to corresponding local parameters.
 

Public Attributes

std::vector< int > nodes
 Vector containing the nodes of the element.
 
double area
 Elements total area.
 
Material material
 Element material with Youngs modulus, poisson's ratio and shear modulus.
 
int elementType
 Defines what type of element this element is (value '2' for T3 and value '9' for T6)
 
double Iex
 Elements second area moment about x-axis.
 
double Iey
 Elements second area moment about y-axis.
 
double Iexy
 Elements second area moment product.
 
double ecx
 Elements area centre in x-direction.
 
double ecy
 Elements area centre in y-direction.
 
double dx
 Distance in x-direction between mesh- and node area centre.
 
double dy
 Distance in y-direction between mesh- and node area centre.
 
std::vector< double > xNodePositions
 Elements nodepositions in x-direction.
 
std::vector< double > yNodePositions
 Elements nodepositions in y-direction.
 
std::vector< double > xNodePositionPrincipal
 Nodal x-coordinates in principal axes.
 
std::vector< double > yNodePositionPrincipal
 Nodal y-coordinates in principal axes.
 
MatrixXd B
 2x3 Matrix containing differentials of shapefunction with respect to x and y respectively
 
MatrixXd G
 Matrix with shearmodule used to determine initial element loads in tortional analysis.
 
MatrixXd XoverY
 6x1 matrix with x1, x2, x3, y1, y2, and y3 of the element.
 
MatrixXd xCoordinates
 1x3 matrix with x-coordinates.
 
MatrixXd yCoordinates
 1X3 matrix with y-coordinates.
 
MatrixXd elementStiffness
 Matrix used to temporarily hold element stiffnes coefficients.
 
MatrixXd elementLoad
 Matrix used to temporarily hold element load coefficients.
 
MatrixXd elementDisplacement
 Matrix used to temporarily hold element displacement values.
 
MatrixXd initialStrain
 Matrix used to temporarily hold element initial strain coefficients.
 
std::vector< MatrixXd > tau
 Vector temporarily storing shear stresses during calculation.
 

Detailed Description

Contains element data and relevant functions.

Member Function Documentation

virtual void Element::computeTau ( )
pure virtual

Calculates shear stresses at nodes using initialStrain and elementsDisplacement.

\( \tau = Bv + \epsilon_0 \)

Implemented in T6Element, T3Element, Q4Element, Q9Element, and QuadraticElement.

std::vector< int > Element::getIEG ( )

Creates a vector with node numbers that makes up the element.

Returns
Vector<Int> containing element nodes.
MatrixXd Element::getNxMatrix ( )

Returns the shapefunction as a function of x and y.

\( \zeta_1 = y_{23}x + x_{32}y + (x_2y_3 - x_3y_2) \)
\( \zeta_1 = y_{31}x + x_{13}y + (x_3y_1 - x_1y_3) \)
\( \zeta_1 = y_{12}x + x_{21}y + (x_1y_2 - x_2y_1) \)

Returns
MatrixXd(1, 3) with shape function.Returns the first row of the B matrix, i.e. N differentiated with respect to x
virtual MatrixXd Element::getShapefunction ( double  zeta1,
double  zeta2,
double  zeta3 
)
pure virtual

Calculates the Matrix containing shape functions
.

Returns
MatrixXd(1,3) with shape functions

Implemented in T3Element, T6Element, TriangularElement, QuadraticElement, Q4Element, and Q9Element.


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