5 #include <Eigen/Sparse> 10 using namespace Eigen;
17 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
37 virtual MatrixXd getShapefunction(
double zeta1,
double zeta2,
double zeta3) = 0;
38 virtual MatrixXd getNMatrix(
double zeta1,
double zeta2,
double zeta3) = 0;
39 virtual void calculateConstants() = 0;
40 virtual void calculateStiffnessMatrix() = 0;
41 virtual void calculateElementLoadTorsion() = 0;
42 virtual void calculateElementLoadShearX() = 0;
43 virtual void calculateElementLoadShearY() = 0;
50 virtual void computeTau() = 0;
60 virtual double xOfZeta(
double zeta1,
double zeta2) = 0;
62 virtual double yOfZeta(
double zeta1,
double zeta2) = 0;
64 virtual void calculateArea() = 0;
66 virtual void calculateAreaCentre() = 0;
69 virtual double getBendingStiffnessX(
double) = 0;
71 virtual double getBendingStiffnessY(
double) = 0;
73 virtual double getBendingStiffnessProduct(
double,
double) = 0;
85 MatrixXd getNxMatrix();
86 MatrixXd getNyMatrix();
105 std::vector<int> getIEG();
107 void setElementValue(MatrixXd &system, MatrixXd &local);
109 std::vector<MatrixXd>
tau;
int elementType
Defines what type of element this element is (value '2' for T3 and value '9' for T6) ...
Definition: Element.h:25
Contains element data and relevant functions.
Definition: Element.h:12
MatrixXd G
Matrix with shearmodule used to determine initial element loads in tortional analysis.
Definition: Element.h:89
MatrixXd elementLoad
Matrix used to temporarily hold element load coefficients.
Definition: Element.h:95
MatrixXd B
2x3 Matrix containing differentials of shapefunction with respect to x and y respectively ...
Definition: Element.h:88
MatrixXd elementDisplacement
Matrix used to temporarily hold element displacement values.
Definition: Element.h:96
Material material
Element material with Youngs modulus, poisson's ratio and shear modulus.
Definition: Element.h:24
double ecy
Elements area centre in y-direction.
Definition: Element.h:32
double Iex
Elements second area moment about x-axis.
Definition: Element.h:27
Contains material data such as Young's Modulus, Shear Modulus and Poisson's ratio, and if needed could include additional material properties.
Definition: Material.h:3
double dy
Distance in y-direction between mesh- and node area centre.
Definition: Element.h:35
std::vector< int > nodes
Vector containing the nodes of the element.
Definition: Element.h:22
MatrixXd XoverY
6x1 matrix with x1, x2, x3, y1, y2, and y3 of the element.
Definition: Element.h:90
std::vector< double > yNodePositionPrincipal
Nodal y-coordinates in principal axes.
Definition: Element.h:57
std::vector< double > xNodePositions
Elements nodepositions in x-direction.
Definition: Element.h:53
std::vector< double > xNodePositionPrincipal
Nodal x-coordinates in principal axes.
Definition: Element.h:56
double ecx
Elements area centre in x-direction.
Definition: Element.h:31
double area
Elements total area.
Definition: Element.h:23
std::vector< MatrixXd > tau
Vector temporarily storing shear stresses during calculation.
Definition: Element.h:109
MatrixXd xCoordinates
1x3 matrix with x-coordinates.
Definition: Element.h:91
double Iey
Elements second area moment about y-axis.
Definition: Element.h:28
MatrixXd yCoordinates
1X3 matrix with y-coordinates.
Definition: Element.h:92
std::vector< double > yNodePositions
Elements nodepositions in y-direction.
Definition: Element.h:54
double dx
Distance in x-direction between mesh- and node area centre.
Definition: Element.h:34
double Iexy
Elements second area moment product.
Definition: Element.h:29
MatrixXd initialStrain
Matrix used to temporarily hold element initial strain coefficients.
Definition: Element.h:98
MatrixXd elementStiffness
Matrix used to temporarily hold element stiffnes coefficients.
Definition: Element.h:94