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

Inherits Element.

Inherited by Q4Element, and Q9Element.

Public Member Functions

virtual MatrixXd getShapefunction (double zeta1, double zeta2, double zeta3)=0
 Calculates the Matrix containing shape functions
. More...
 
virtual MatrixXd getNMatrix (double zeta1, double zeta2)=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...
 
double xOfZeta (double xsi, double eta)
 Calculates and returns the the distance in the x-direction between the integration point in the element and the element area centre. More...
 
double yOfZeta (double xsi, double eta)
 Calculates and returns the the distance in the y-direction between the integration point in the element and the element area centre. More...
 
void calculateArea ()
 Calculates the area of the element. More...
 
void calculateAreaCentre ()
 Calculates the area centre of the element. More...
 
double getBendingStiffnessX (double Ay)
 Calculates the second moment of area about the x-axis for the element. More...
 
double getBendingStiffnessY (double Ax)
 Calculates the second moment of area about the y-axis for the element. More...
 
double getBendingStiffnessProduct (double Ax, double Ay)
 Calculating the product of moment of inertia. More...
 
- Public Member Functions inherited from Element
 Element ()
 Constructor.
 
virtual MatrixXd getNMatrix (double zeta1, double zeta2, double zeta3)=0
 Returns a matrix of matrices with shape functions.
 
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

double xsiCoord [2][2] = { { -sqrt(1 / 3.0), sqrt(1 / 3.0) } ,{ -sqrt(1 / 3.0), sqrt(1 / 3.0) } }
 
double etaCoord [2][2] = { { sqrt(1 / 3.0), sqrt(1 / 3.0) } ,{ -sqrt(1 / 3.0), -sqrt(1 / 3.0) } }
 
double weights [2][2] = { { 1, 1 } ,{ 1, 1 } }
 
- Public Attributes inherited from Element
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.
 

Member Function Documentation

void QuadraticElement::calculateArea ( )
virtual

Calculates the area of the element.

\( A = \frac{1}{2} \sum_{i=0}^{n-1} (x_i y_{i+1} - x_{i+1}y_i) \)

Implements Element.

void QuadraticElement::calculateAreaCentre ( )
virtual

Calculates the area centre of the element.

\( C_x = \frac{1}{6A} \sum_{i=0}^{n-1} (x_i + x_{i+1})(x_i y_{i+1} - x_{i+1}y_i) \)
\( C_y = \frac{1}{6A} \sum_{i=0}^{n-1} (y_i + y_{i+1})(x_i y_{i+1} - x_{i+1}y_i) \)

Implements Element.

virtual void QuadraticElement::computeTau ( )
pure virtual

Calculates shear stresses at nodes using initialStrain and elementsDisplacement.

\( \tau = Bv + \epsilon_0 \)

Implements Element.

Implemented in Q4Element, and Q9Element.

double QuadraticElement::getBendingStiffnessProduct ( double  Ax,
double  Ay 
)
virtual

Calculating the product of moment of inertia.

\( dx_e = Ac_x - Ac_{ex} \)
\( dy_e = Ac_y - Ac_{ey} \)
\( I_{xy} = \sum{E(I_{xy_e} + dx_e*dy_e*A_e)} \)

Implements Element.

double QuadraticElement::getBendingStiffnessX ( double  Ay)
virtual

Calculates the second moment of area about the x-axis for the element.

\( dy_e = A_y - Ac_{ey} \)
\( I_x = \sum{( E(I_{x_e} + dy_e^2*A_e)) } \)

Parameters
AyArea centre of the mesh

Implements Element.

double QuadraticElement::getBendingStiffnessY ( double  Ax)
virtual

Calculates the second moment of area about the y-axis for the element.

\( dx_e = A_x - Ac_{ex} \)
\( I_y = \sum{(E(I_{y_e} + dx_e^2*A_e))} \)

Parameters
AxArea centre of the mesh

Implements Element.

virtual MatrixXd QuadraticElement::getShapefunction ( double  zeta1,
double  zeta2,
double  zeta3 
)
pure virtual

Calculates the Matrix containing shape functions
.

Returns
MatrixXd(1,3) with shape functions

Implements Element.

Implemented in Q4Element, and Q9Element.

double QuadraticElement::xOfZeta ( double  xsi,
double  eta 
)
virtual

Calculates and returns the the distance in the x-direction between the integration point in the element and the element area centre.

\( x = | \boldsymbol{N} \boldsymbol{x}^T - ecx |\)

Parameters
xsiarea coordinate with value between -1 and 1
etaarea coordinate with value between -1 and 1
Returns
distance in x-direction for integration point defiend by \(\zeta_1\) and \(\zeta_2\)

Implements Element.

double QuadraticElement::yOfZeta ( double  xsi,
double  eta 
)
virtual

Calculates and returns the the distance in the y-direction between the integration point in the element and the element area centre.

\( y = | \boldsymbol{N} \boldsymbol{y}^T - ecy |\)

Parameters
xsiarea coordinate with value between -1 and 1
etaarea coordinate with value between -1 and 1
Returns
distance in y-direction for integration point defiend by \(\zeta_1\) and \(\zeta_2\)

Implements Element.


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