12 double xiCoord[2][2] = { { -sqrt(1 / 3.0), sqrt(1 / 3.0) } ,{ sqrt(1 / 3.0), -sqrt(1 / 3.0) } };
13 double etaCoord[2][2] = { { -sqrt(1 / 3.0), -sqrt(1 / 3.0) } ,{ sqrt(1 / 3.0), sqrt(1 / 3.0) } };
14 double weights[2][2] = { { 1, 1 } ,{ 1, 1 } };
15 double xiExtrapolation[2][2] = { { -sqrt(3), sqrt(3) },{ sqrt(3), -sqrt(3) } };
16 double etaExtrapolation[2][2] = { { -sqrt(3), -sqrt(3) } ,{ sqrt(3), sqrt(3) } };
17 double xiCoord3x3[3][3] = { { -sqrt(0.6), sqrt(0.6) , sqrt(0.6) },{ -sqrt(0.6), 0, sqrt(0.6) },{ 0, -sqrt(0.6), 0 } };
18 double etaCoord3x3[3][3] = { { -sqrt(0.6), -sqrt(0.6), sqrt(0.6) },{ sqrt(0.6), -sqrt(0.6), 0 },{ sqrt(0.6), 0, 0 } };
19 double weights3x3[3][3] = { { 25.0 / 81 , 25.0 / 81 , 25.0 / 81 },{ 25.0 / 81 , 40.0 / 81, 40.0 / 81 },{ 40.0 / 81, 40.0 / 81, 64.0 / 81 } };
23 std::vector<std::vector<MatrixXd>>
N;
24 std::vector<std::vector<MatrixXd>>
N1;
25 std::vector<std::vector<MatrixXd>>
J;
26 std::vector<std::vector<MatrixXd>>
B;
30 virtual MatrixXd getNMatrix(
double zeta1,
double zeta2) = 0;
31 virtual MatrixXd getN_etaMatrix(
double xi,
double eta) = 0;
32 virtual MatrixXd getN_xiMatrix(
double xi,
double eta) = 0;
33 virtual MatrixXd getJacobi(
double xi,
double eta) = 0;
34 virtual MatrixXd getBMatrix(MatrixXd jacobi,
double xi,
double eta) = 0;
136 double xOfZeta(
double xi,
double eta);
146 double yOfZeta(
double xi,
double eta);
Contains element data and relevant functions for massive analysis.
Definition: Element.h:13
void calculateTorsionShearCenter()
Calculates the shear center for the element, based on torsional analysis.
Definition: QuadrilateralElement.cpp:376
double getBendingStiffnessX(double Ay)
Calculates the second moment of area about the x-axis for the element.
Definition: QuadrilateralElement.cpp:65
void checkBMatrix()
Method verifies .
Definition: QuadrilateralElement.cpp:305
std::vector< std::vector< double > > xIntegration
Vector used for storing x-coordinate values.
Definition: QuadrilateralElement.h:27
void computeTauComposite(double C_x, double C_y, double rateOfTwist)
Calculates the element stresses at the integration points for composite analysis. ...
Definition: QuadrilateralElement.cpp:486
void setExtrapolationMatrix()
Creates the matrix used for extrapolating results.
Definition: QuadrilateralElement.cpp:282
double getBendingStiffnessY(double Ax)
Calculates the second moment of area about the y-axis for the element.
Definition: QuadrilateralElement.cpp:83
void calculateElementLoadComposite(double C_x, double C_y, double rateOfTwist)
Calculates the element load for composite analysis.
Definition: QuadrilateralElement.cpp:427
void calculateArea()
Calculates the area of the element.
Definition: QuadrilateralElement.cpp:30
double getBendingStiffnessProduct(double Ax, double Ay)
Calculating the product of moment of inertia.
Definition: QuadrilateralElement.cpp:101
double getShearFactorContributionX()
Gets the shear deformation factor contribution from the element, in x-direction.
Definition: QuadrilateralElement.cpp:400
void checkNMatrix()
Method verifies .
Definition: QuadrilateralElement.cpp:362
std::vector< std::vector< MatrixXd > > N1
Vector used for storing values of the N1 matrix.
Definition: QuadrilateralElement.h:24
void calculateAreaCentre()
Calculates the area centre of the element.
Definition: QuadrilateralElement.cpp:43
std::vector< std::vector< MatrixXd > > N
Vector used for storing values of the N matrix.
Definition: QuadrilateralElement.h:23
MatrixXd getN1Matrix(double xi, double eta)
Gets the .
Definition: QuadrilateralElement.cpp:392
void resetElementLoad()
resets element load to zero
Definition: QuadrilateralElement.cpp:298
std::vector< std::vector< MatrixXd > > J
Vector used for storing values of the Jacobian Matrix.
Definition: QuadrilateralElement.h:25
void computeTauShear(double Cx, double Cy)
Calculates shear stresses from shear loading at nodes using elementsDisplacement. For quadrilateral e...
Definition: QuadrilateralElement.cpp:227
double yOfZeta(double xi, double eta)
Calculates and returns the the distance in the y-direction between the integration point in the eleme...
Definition: QuadrilateralElement.cpp:23
void calculateElementLoadShearX()
Calculates the initial load vector for applied shear along x-axis.
Definition: QuadrilateralElement.cpp:171
double getShearFactorContributionY()
Gets the shear deformation factor contribution from the element, in y-direction.
Definition: QuadrilateralElement.cpp:413
double calculateDeltaGIt()
Calculates delta GIt for the element, used to find gloal GIt for torsional analysis.
Definition: QuadrilateralElement.cpp:256
void computeTauTorsion(double rateOfTwist)
Calculates shear stresses from torsion load at nodes using initialStrain and elementsDisplacement. For quadrilateral elements the stresses are calculated at the integration points (using xiCoord and etaCoord). The stress values are then extrapolated to the nodes using setExtrapolationMatrix().
Definition: QuadrilateralElement.cpp:203
void calculateElementLoadShearY()
Calculates the initial load vector for applied shear along y-axis.
Definition: QuadrilateralElement.cpp:187
void calculateElementLoadTorsion()
Calculates the initial load vector for torsion . Load vector is negative for torsion loading to match...
Definition: QuadrilateralElement.cpp:120
std::vector< std::vector< double > > yIntegration
Vector used for storing y-coordinate values.
Definition: QuadrilateralElement.h:28
Class for implementation of quadrilateral elements.
Definition: QuadrilateralElement.h:5
std::vector< std::vector< MatrixXd > > B
Vector used for storing values of the B matrix.
Definition: QuadrilateralElement.h:26
double xOfZeta(double xi, double eta)
Calculates and returns the the distance in the x-direction between the integration point in the eleme...
Definition: QuadrilateralElement.cpp:14