My Project
TriangularElement.h
1 #pragma once
2 #include "Element.h"
3 
4 
5 #ifndef TRIANGULARELEMENT
6 #define TRIANGULARELEMENT
7 
9  public Element
10 {
11 public:
14 
15  const double zeta[3][3] = { { 0.5, 0.5, 0.0 },{ 0.0, 0.5, 0.5 },{ 0.5, 0.0, 0.5 } };
16  const double weight[3] = { 1.0 / 3, 1.0 / 3, 1.0 / 3 };
17 
18  double xl1;
19  double xl2;
20  double xl3;
21  double yl1;
22  double yl2;
23  double yl3;
24 
25 
26  virtual MatrixXd getShapefunction(double zeta1, double zeta2, double zeta3) = 0;
27  virtual MatrixXd getNMatrix(double zeta1, double zeta2, double zeta3) = 0;
28  virtual void calculateConstants() = 0;
29  virtual void calculateStiffnessMatrix() = 0;
30  virtual void calculateElementLoadTorsion() = 0;
31  virtual void calculateElementLoadShearX() = 0;
32  virtual void calculateElementLoadShearY() = 0;
33 
42  double xOfZeta(double zeta1, double zeta2);
43 
52  double yOfZeta(double zeta1, double zeta2);
53  void calculateArea();
60  void calculateAreaCentre();
61 
69  double getBendingStiffnessX(double);
70 
80  double getBendingStiffnessY(double);
81 
82 
90  double getBendingStiffnessProduct(double, double);
91 
92 
93 };
94 
95 #endif
Contains element data and relevant functions.
Definition: Element.h:12
virtual void calculateStiffnessMatrix()=0
Calculates the element stiffness matrix K.
virtual void calculateElementLoadTorsion()=0
Calculates the initial load vector for torsion.
double getBendingStiffnessY(double)
Calculates the second moment of area about the y-axis for the element.
Definition: TriangularElement.cpp:75
double yl2
Distance in y-direction from node to element area center.
Definition: TriangularElement.h:22
double xl3
Distance in x-direction from node to element area center.
Definition: TriangularElement.h:20
double yOfZeta(double zeta1, double zeta2)
Calculates and returns the the distance in the y-direction between the integration point in the eleme...
Definition: TriangularElement.cpp:19
double yl1
Distance in y-direction from node to element area center.
Definition: TriangularElement.h:21
virtual MatrixXd getNMatrix(double zeta1, double zeta2, double zeta3)=0
Returns a matrix of matrices with shape functions.
const double weight[3]
Weighting of each integration point.
Definition: TriangularElement.h:16
virtual void calculateElementLoadShearY()=0
Calculates the initial load vector for shear along Y.
virtual MatrixXd getShapefunction(double zeta1, double zeta2, double zeta3)=0
Calculates the Matrix containing shape functions .
double getBendingStiffnessX(double)
Calculates the second moment of area about the x-axis for the element.
Definition: TriangularElement.cpp:57
const double zeta[3][3]
Zeta values for integration ponts.
Definition: TriangularElement.h:15
double xOfZeta(double zeta1, double zeta2)
Calculates and returns the the distance in the x-direction between the integration point in the eleme...
Definition: TriangularElement.cpp:13
virtual void calculateElementLoadShearX()=0
Calculates the initial load vector for shear along X.
virtual void calculateConstants()=0
Calculates the constant vectors and matrices for the element; i.e. G, xCoordinates, and yCoordinates.
void calculateAreaCentre()
Calculates the area centre of the element.
Definition: TriangularElement.cpp:43
double yl3
Distance in y-direction from node to element area center.
Definition: TriangularElement.h:23
double getBendingStiffnessProduct(double, double)
Calculating the product of moment of inertia.
Definition: TriangularElement.cpp:95
Definition: TriangularElement.h:8
double xl2
Distance in x-direction from node to element area center.
Definition: TriangularElement.h:19
double xl1
Distance in x-direction from node to element area center.
Definition: TriangularElement.h:18