My Project
QuadraticElement.h
1 #pragma once
2 #include "Element.h"
4  public Element
5 {
6 public:
9 
10  virtual MatrixXd getShapefunction(double zeta1, double zeta2, double zeta3) = 0;
11  virtual MatrixXd getNMatrix(double zeta1, double zeta2) = 0;
12  virtual void calculateConstants() = 0;
13  virtual void calculateStiffnessMatrix() = 0;
14  virtual void calculateElementLoadTorsion() = 0;
15  virtual void calculateElementLoadShearX() = 0;
16  virtual void calculateElementLoadShearY() = 0;
17  virtual void computeTau() = 0;
18 
27  double xOfZeta(double xsi, double eta);
28 
37  double yOfZeta(double xsi, double eta);
38 
44  void calculateArea();
45 
53  void calculateAreaCentre();
54 
62  double getBendingStiffnessX(double Ay);
63 
73  double getBendingStiffnessY(double Ax);
74 
82  double getBendingStiffnessProduct(double Ax, double Ay);
83 
84  double xsiCoord[2][2] = { { -sqrt(1 / 3.0), sqrt(1 / 3.0) } ,{ -sqrt(1 / 3.0), sqrt(1 / 3.0) } }; //original: -+, -+
85  double etaCoord[2][2] = { { sqrt(1 / 3.0), sqrt(1 / 3.0) } ,{ -sqrt(1 / 3.0), -sqrt(1 / 3.0) } }; //original: ++, --
86  double weights[2][2] = { { 1, 1 } ,{ 1, 1 } };
87 };
88 
Contains element data and relevant functions.
Definition: Element.h:12
Definition: QuadraticElement.h:3
virtual MatrixXd getShapefunction(double zeta1, double zeta2, double zeta3)=0
Calculates the Matrix containing shape functions .
virtual void calculateElementLoadShearY()=0
Calculates the initial load vector for shear along Y.
double getBendingStiffnessY(double Ax)
Calculates the second moment of area about the y-axis for the element.
Definition: QuadraticElement.cpp:108
double getBendingStiffnessX(double Ay)
Calculates the second moment of area about the x-axis for the element.
Definition: QuadraticElement.cpp:89
void calculateArea()
Calculates the area of the element.
Definition: QuadraticElement.cpp:31
double xOfZeta(double xsi, double eta)
Calculates and returns the the distance in the x-direction between the integration point in the eleme...
Definition: QuadraticElement.cpp:14
virtual void calculateConstants()=0
Calculates the constant vectors and matrices for the element; i.e. G, xCoordinates, and yCoordinates.
virtual void calculateElementLoadShearX()=0
Calculates the initial load vector for shear along X.
double getBendingStiffnessProduct(double Ax, double Ay)
Calculating the product of moment of inertia.
Definition: QuadraticElement.cpp:126
void calculateAreaCentre()
Calculates the area centre of the element.
Definition: QuadraticElement.cpp:58
virtual void calculateStiffnessMatrix()=0
Calculates the element stiffness matrix K.
virtual void computeTau()=0
Calculates shear stresses at nodes using initialStrain and elementsDisplacement.
virtual void calculateElementLoadTorsion()=0
Calculates the initial load vector for torsion.
virtual MatrixXd getNMatrix(double zeta1, double zeta2)=0
Returns a matrix of matrices with shape functions.
double yOfZeta(double xsi, double eta)
Calculates and returns the the distance in the y-direction between the integration point in the eleme...
Definition: QuadraticElement.cpp:24