Add C-part to local matrix for cubic element

This commit is contained in:
2025-09-29 19:21:04 +03:00
parent 8957f65064
commit 1fc2925f8f

View File

@@ -91,25 +91,25 @@ void Solver::Execute_Cubic(double val1, double val2) {
VectorXd local_load(4);
// Формирование локальной матрицы жёсткости
local(0, 0) = -A * 37.0 / 10.0 / L + B * (-1.0) / 2.0;
local(0, 1) = -A * (-189.0) / 40.0 / L + B * 57.0 / 80.0;
local(0, 2) = -A * 27.0 / 20.0 / L + B * (-3.0) / 10.0;
local(0, 3) = -A * (-13.0) / 40.0 / L + B * 7.0 / 80.0;
local(0, 0) = -A * 37.0 / 10.0 / L + B * (-1.0) / 2.0 + C * 8. * L / 105.;
local(0, 1) = -A * (-189.0) / 40.0 / L + B * 57.0 / 80.0 + C * 33. * L / 560.;
local(0, 2) = -A * 27.0 / 20.0 / L + B * (-3.0) / 10.0 - C * 3. * L / 140.;
local(0, 3) = -A * (-13.0) / 40.0 / L + B * 7.0 / 80.0 + C * 19. * L / 1680.;
local(1, 0) = -A * (-189.0) / 40.0 / L + B * (-57.0) / 80.0;
local(1, 1) = -A * 54.0 / 5.0 / L;
local(1, 2) = -A * (-297.0) / 40.0 / L + B * 81.0 / 80.0;
local(1, 3) = -A * 27.0 / 20.0 / L + B * (-3.0) / 10.0;
local(1, 0) = -A * (-189.0) / 40.0 / L + B * (-57.0) / 80.0 + C * 33. * L / 560.;
local(1, 1) = -A * 54.0 / 5.0 / L + C * 27. * L / 70.;
local(1, 2) = -A * (-297.0) / 40.0 / L + B * 81.0 / 80.0 - C * 27. * L / 560.;
local(1, 3) = -A * 27.0 / 20.0 / L + B * (-3.0) / 10.0 - C * 3. * L / 140.;
local(2, 0) = -A * 27.0 / 20.0 / L + B * 3.0 / 10.0;
local(2, 1) = -A * (-297.0) / 40.0 / L + B * (-81.0) / 80.0;
local(2, 2) = -A * 54.0 / 5.0 / L;
local(2, 3) = -A * (-189.0) / 40.0 / L + B * 57.0 / 80.0;
local(2, 0) = -A * 27.0 / 20.0 / L + B * 3.0 / 10.0 - C * 3. * L / 140.;
local(2, 1) = -A * (-297.0) / 40.0 / L + B * (-81.0) / 80.0 - C * 27. * L / 560.;
local(2, 2) = -A * 54.0 / 5.0 / L + C * 27. * L / 70.;
local(2, 3) = -A * (-189.0) / 40.0 / L + B * 57.0 / 80.0 + C * 33. * L / 560.;
local(3, 0) = -A * (-13.0) / 40.0 / L + B * (-7.0) / 80.0;
local(3, 1) = -A * 27.0 / 20.0 / L + B * 3.0 / 10.0;
local(3, 2) = -A * (-189.0) / 40.0 / L + B * (-57.0) / 80.0;
local(3, 3) = -A * 37.0 / 10.0 / L + B * 1.0 / 2.0;
local(3, 0) = -A * (-13.0) / 40.0 / L + B * (-7.0) / 80.0 + C * 19. * L / 1680.;
local(3, 1) = -A * 27.0 / 20.0 / L + B * 3.0 / 10.0 - C * 3. * L / 140.;
local(3, 2) = -A * (-189.0) / 40.0 / L + B * (-57.0) / 80.0 + C * 33. * L / 560.;
local(3, 3) = -A * 37.0 / 10.0 / L + B * 1.0 / 2.0 + C * 8. * L / 105.;
// Формирование локального вектора нагрузки
local_load(0) = -D * L / 8.0;