Skip to content

Commit

Permalink
body_acceleration, kp format
Browse files Browse the repository at this point in the history
  • Loading branch information
WPK4FEM committed Jan 31, 2025
1 parent 5c82d5b commit 3c7639d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ void UPwSmallStrainElement<TDim, TNumNodes>::ExtrapolateGPValues(const Matrix& S

GeometryType& r_geometry = this->GetGeometry();
const double& area = r_geometry.Area(); // In 3D this is volume
array_1d<Vector, TNumNodes> nodal_stress_vector; // List with stresses at each node
array_1d<Vector, TNumNodes> nodal_stress_vector; // List with stresses at each node
array_1d<Matrix, TNumNodes> nodal_stress_tensor;

auto const StressTensorSize = this->GetStressStatePolicy().GetStressTensorSize();
Expand Down Expand Up @@ -432,7 +432,8 @@ void UPwSmallStrainElement<TDim, TNumNodes>::ExtrapolateGPValues(const Matrix& S
noalias(nodal_stress_tensor[i]) = MathUtils<double>::StressVectorToTensor(nodal_stress_vector[i]);

r_geometry[i].SetLock();
noalias(r_geometry[i].FastGetSolutionStepValue(NODAL_CAUCHY_STRESS_TENSOR)) += nodal_stress_tensor[i];
noalias(r_geometry[i].FastGetSolutionStepValue(NODAL_CAUCHY_STRESS_TENSOR)) +=
nodal_stress_tensor[i];
r_geometry[i].FastGetSolutionStepValue(NODAL_AREA) += area;
r_geometry[i].UnSetLock();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1189,19 +1189,19 @@ void SmallStrainUPwDiffOrderElement::CalculateAndAddMixBodyForce(VectorType& rRi
const auto soil_density = GeoTransportEquationUtilities::CalculateSoilDensity(
rVariables.DegreeOfSaturation, this->GetProperties());

Vector BodyAcceleration = ZeroVector(Dim);
SizeType Index = 0;
Vector body_acceleration = ZeroVector(Dim);
SizeType Index = 0;
for (SizeType i = 0; i < NumUNodes; ++i) {
for (SizeType idim = 0; idim < Dim; ++idim) {
BodyAcceleration[idim] += rVariables.Nu[i] * rVariables.BodyAcceleration[Index];
body_acceleration[idim] += rVariables.Nu[i] * rVariables.BodyAcceleration[Index];
Index++;
}
}

for (SizeType i = 0; i < NumUNodes; ++i) {
Index = i * Dim;
for (SizeType idim = 0; idim < Dim; ++idim) {
rRightHandSideVector[Index + idim] += rVariables.Nu[i] * soil_density * BodyAcceleration[idim] *
rRightHandSideVector[Index + idim] += rVariables.Nu[i] * soil_density * body_acceleration[idim] *
rVariables.IntegrationCoefficientInitialConfiguration;
}
}
Expand Down

0 comments on commit 3c7639d

Please sign in to comment.